0000851205-20-000011.txt : 20200729 0000851205-20-000011.hdr.sgml : 20200729 20200729161116 ACCESSION NUMBER: 0000851205-20-000011 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 96 CONFORMED PERIOD OF REPORT: 20200628 FILED AS OF DATE: 20200729 DATE AS OF CHANGE: 20200729 FILER: COMPANY DATA: COMPANY CONFORMED NAME: COGNEX CORP CENTRAL INDEX KEY: 0000851205 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823] IRS NUMBER: 042713778 STATE OF INCORPORATION: MA FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34218 FILM NUMBER: 201057410 BUSINESS ADDRESS: STREET 1: ONE VISION DR CITY: NATICK STATE: MA ZIP: 01760 BUSINESS PHONE: 5086503000 MAIL ADDRESS: STREET 1: ONE VISION DRIVE CITY: NATICK STATE: MA ZIP: 01760 10-Q 1 cgnx-20200628.htm 10-Q cgnx-20200628
0000851205--12-312020Q2false173,047,2928362391,7885072,2351,8210.0020.002300,000300,000173,047172,4408362391,7885071,153,000P4Yfour yearsno00008512052020-01-012020-06-28xbrli:shares00008512052020-06-28iso4217:USD00008512052020-03-302020-06-2800008512052019-04-012019-06-3000008512052019-01-012019-06-30iso4217:USDxbrli:shares00008512052019-12-3100008512052018-12-3100008512052019-06-300000851205us-gaap:CommonStockMember2020-03-290000851205us-gaap:AdditionalPaidInCapitalMember2020-03-290000851205us-gaap:RetainedEarningsMember2020-03-290000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-2900008512052020-03-290000851205us-gaap:CommonStockMember2020-03-302020-06-280000851205us-gaap:AdditionalPaidInCapitalMember2020-03-302020-06-280000851205us-gaap:RetainedEarningsMember2020-03-302020-06-280000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-302020-06-280000851205us-gaap:CommonStockMember2020-06-280000851205us-gaap:AdditionalPaidInCapitalMember2020-06-280000851205us-gaap:RetainedEarningsMember2020-06-280000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-06-280000851205us-gaap:CommonStockMember2019-03-310000851205us-gaap:AdditionalPaidInCapitalMember2019-03-310000851205us-gaap:RetainedEarningsMember2019-03-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-03-3100008512052019-03-310000851205us-gaap:CommonStockMember2019-04-012019-06-300000851205us-gaap:AdditionalPaidInCapitalMember2019-04-012019-06-300000851205us-gaap:RetainedEarningsMember2019-04-012019-06-300000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-04-012019-06-300000851205us-gaap:CommonStockMember2019-06-300000851205us-gaap:AdditionalPaidInCapitalMember2019-06-300000851205us-gaap:RetainedEarningsMember2019-06-300000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-06-300000851205us-gaap:CommonStockMember2019-12-310000851205us-gaap:AdditionalPaidInCapitalMember2019-12-310000851205us-gaap:RetainedEarningsMember2019-12-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310000851205us-gaap:CommonStockMember2020-01-012020-06-280000851205us-gaap:AdditionalPaidInCapitalMember2020-01-012020-06-280000851205us-gaap:RetainedEarningsMember2020-01-012020-06-280000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-06-280000851205us-gaap:CommonStockMember2018-12-310000851205us-gaap:AdditionalPaidInCapitalMember2018-12-310000851205us-gaap:RetainedEarningsMember2018-12-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-310000851205us-gaap:CommonStockMember2019-01-012019-06-300000851205us-gaap:AdditionalPaidInCapitalMember2019-01-012019-06-300000851205us-gaap:RetainedEarningsMember2019-01-012019-06-300000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-06-300000851205us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-06-280000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205us-gaap:AssetBackedSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205us-gaap:SovereignDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205cgnx:AgencyBondsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205us-gaap:MunicipalBondsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2020-06-280000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2020-06-280000851205cgnx:ChiaroTechnologiesLLCMember2019-12-310000851205us-gaap:OtherNonoperatingIncomeExpenseMember2020-03-302020-06-280000851205srt:MinimumMembercgnx:GViVenturesInc.Member2020-06-280000851205cgnx:GViVenturesInc.Member2020-06-280000851205us-gaap:RestructuringChargesMember2020-01-012020-06-280000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2019-12-310000851205us-gaap:AssetBackedSecuritiesMember2020-06-280000851205us-gaap:AssetBackedSecuritiesMember2019-12-310000851205us-gaap:CorporateBondSecuritiesMember2020-06-280000851205us-gaap:CorporateBondSecuritiesMember2019-12-310000851205us-gaap:USTreasurySecuritiesMember2020-06-280000851205us-gaap:USTreasurySecuritiesMember2019-12-310000851205us-gaap:SovereignDebtMember2020-06-280000851205us-gaap:SovereignDebtMember2019-12-310000851205us-gaap:MunicipalBondsMember2020-06-280000851205us-gaap:MunicipalBondsMember2019-12-310000851205us-gaap:CertificatesOfDepositMember2020-06-280000851205us-gaap:CertificatesOfDepositMember2019-12-310000851205cgnx:AgencyBondsMember2020-06-280000851205cgnx:AgencyBondsMember2019-12-310000851205us-gaap:SovereignDebtSecuritiesMember2020-06-280000851205us-gaap:SovereignDebtSecuritiesMember2019-12-310000851205us-gaap:OtherCurrentAssetsMember2020-06-280000851205us-gaap:OtherCurrentAssetsMember2019-12-310000851205us-gaap:ShortTermInvestmentsMemberus-gaap:AssetBackedSecuritiesMember2020-06-280000851205us-gaap:CorporateBondSecuritiesMemberus-gaap:ShortTermInvestmentsMember2020-06-280000851205us-gaap:ShortTermInvestmentsMemberus-gaap:USTreasurySecuritiesMember2020-06-280000851205us-gaap:ShortTermInvestmentsMemberus-gaap:SovereignDebtSecuritiesMember2020-06-280000851205us-gaap:ShortTermInvestmentsMemberus-gaap:MunicipalBondsMember2020-06-280000851205us-gaap:USTreasurySecuritiesMembercgnx:LongTermInvestmentsMember2020-06-280000851205us-gaap:CorporateBondSecuritiesMembercgnx:LongTermInvestmentsMember2020-06-280000851205cgnx:LongTermInvestmentsMemberus-gaap:AssetBackedSecuritiesMember2020-06-280000851205cgnx:LongTermInvestmentsMembercgnx:AgencyBondsMember2020-06-280000851205us-gaap:SovereignDebtSecuritiesMembercgnx:LongTermInvestmentsMember2020-06-28xbrli:pure0000851205us-gaap:DistributionRightsMember2020-06-280000851205us-gaap:DevelopedTechnologyRightsMember2020-06-280000851205cgnx:CustomerContractsAndRelationshipsMember2020-06-280000851205us-gaap:InProcessResearchAndDevelopmentMember2020-06-280000851205us-gaap:OtherIntangibleAssetsMember2020-06-280000851205us-gaap:TrademarksMember2020-06-280000851205us-gaap:DistributionRightsMember2019-12-310000851205us-gaap:DevelopedTechnologyRightsMember2019-12-310000851205cgnx:CustomerContractsAndRelationshipsMember2019-12-310000851205us-gaap:InProcessResearchAndDevelopmentMember2019-12-310000851205us-gaap:OtherIntangibleAssetsMember2019-12-310000851205us-gaap:TrademarksMember2019-12-310000851205cgnx:SualabMemberus-gaap:DevelopedTechnologyRightsMember2020-03-302020-06-280000851205cgnx:SualabMemberus-gaap:InProcessResearchAndDevelopmentMember2020-03-302020-06-280000851205cgnx:SualabMembercgnx:CustomerContractsAndRelationshipsMember2020-03-302020-06-280000851205cgnx:EnShapeGmbHMembercgnx:CustomerContractsAndRelationshipsMember2020-05-260000851205cgnx:EnShapeGmbHMembercgnx:CustomerContractsAndRelationshipsMember2020-06-280000851205cgnx:EnShapeGmbHMembercgnx:CustomerContractsAndRelationshipsMember2020-03-302020-06-280000851205cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember2020-06-280000851205us-gaap:NondesignatedMember2020-01-012020-06-28iso4217:KRW0000851205currency:KRWus-gaap:NondesignatedMember2020-06-280000851205currency:KRWus-gaap:NondesignatedMember2019-12-31iso4217:EUR0000851205currency:EURus-gaap:NondesignatedMember2020-06-280000851205currency:EURus-gaap:NondesignatedMember2019-12-31iso4217:JPY0000851205currency:MXNus-gaap:NondesignatedMember2020-06-280000851205currency:MXNus-gaap:NondesignatedMember2019-12-310000851205currency:JPYus-gaap:NondesignatedMember2020-06-280000851205currency:JPYus-gaap:NondesignatedMember2019-12-310000851205currency:HUFus-gaap:NondesignatedMember2020-06-280000851205currency:HUFus-gaap:NondesignatedMember2019-12-310000851205currency:GBPus-gaap:NondesignatedMember2020-06-280000851205currency:GBPus-gaap:NondesignatedMember2019-12-31iso4217:TWD0000851205us-gaap:NondesignatedMembercurrency:TWD2020-06-280000851205us-gaap:NondesignatedMembercurrency:TWD2019-12-31iso4217:CAD0000851205currency:CADus-gaap:NondesignatedMember2020-06-280000851205currency:CADus-gaap:NondesignatedMember2019-12-31iso4217:SGD0000851205us-gaap:NondesignatedMembercurrency:SGD2020-06-280000851205us-gaap:NondesignatedMembercurrency:SGD2019-12-310000851205us-gaap:PrepaidExpensesAndOtherCurrentAssetsMemberus-gaap:NondesignatedMember2020-06-280000851205us-gaap:PrepaidExpensesAndOtherCurrentAssetsMemberus-gaap:NondesignatedMember2019-12-310000851205cgnx:AccruedExpensesMemberus-gaap:NondesignatedMember2020-06-280000851205cgnx:AccruedExpensesMemberus-gaap:NondesignatedMember2019-12-310000851205us-gaap:ForeignCurrencyGainLossMemberus-gaap:NondesignatedMember2020-03-302020-06-280000851205us-gaap:ForeignCurrencyGainLossMemberus-gaap:NondesignatedMember2019-04-012019-06-300000851205us-gaap:ForeignCurrencyGainLossMemberus-gaap:NondesignatedMember2020-01-012020-06-280000851205us-gaap:ForeignCurrencyGainLossMemberus-gaap:NondesignatedMember2019-01-012019-06-300000851205srt:AmericasMember2020-03-302020-06-280000851205srt:AmericasMember2019-04-012019-06-300000851205srt:AmericasMember2020-01-012020-06-280000851205srt:AmericasMember2019-01-012019-06-300000851205srt:EuropeMember2020-03-302020-06-280000851205srt:EuropeMember2019-04-012019-06-300000851205srt:EuropeMember2020-01-012020-06-280000851205srt:EuropeMember2019-01-012019-06-300000851205country:CN2020-03-302020-06-280000851205country:CN2019-04-012019-06-300000851205country:CN2020-01-012020-06-280000851205country:CN2019-01-012019-06-300000851205cgnx:AsiaExcludingChinaMember2020-03-302020-06-280000851205cgnx:AsiaExcludingChinaMember2019-04-012019-06-300000851205cgnx:AsiaExcludingChinaMember2020-01-012020-06-280000851205cgnx:AsiaExcludingChinaMember2019-01-012019-06-300000851205cgnx:StandardProductsandServicesMember2020-03-302020-06-280000851205cgnx:StandardProductsandServicesMember2019-04-012019-06-300000851205cgnx:StandardProductsandServicesMember2020-01-012020-06-280000851205cgnx:StandardProductsandServicesMember2019-01-012019-06-300000851205cgnx:ApplicationSpecificCustomerSolutionsMember2020-03-302020-06-280000851205cgnx:ApplicationSpecificCustomerSolutionsMember2019-04-012019-06-300000851205cgnx:ApplicationSpecificCustomerSolutionsMember2020-01-012020-06-280000851205cgnx:ApplicationSpecificCustomerSolutionsMember2019-01-012019-06-300000851205us-gaap:EmployeeStockOptionMember2020-06-280000851205srt:MinimumMembercgnx:GeneralStockOptionPlanMember2020-01-012020-06-280000851205cgnx:GeneralStockOptionPlanMembersrt:MaximumMember2020-01-012020-06-280000851205us-gaap:EmployeeStockOptionMember2020-01-012020-06-280000851205us-gaap:PerformanceSharesMember2020-01-012020-06-280000851205us-gaap:RestrictedStockUnitsRSUMember2019-12-310000851205us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-06-280000851205us-gaap:RestrictedStockUnitsRSUMember2020-06-280000851205us-gaap:RestrictedStockUnitsRSUMember2020-03-302020-06-280000851205us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-06-30cgnx:group0000851205us-gaap:CostOfGoodsTotalMember2020-03-302020-06-280000851205us-gaap:CostOfGoodsTotalMember2019-04-012019-06-300000851205us-gaap:CostOfGoodsTotalMember2020-01-012020-06-280000851205us-gaap:CostOfGoodsTotalMember2019-01-012019-06-300000851205us-gaap:ResearchAndDevelopmentExpenseMember2020-03-302020-06-280000851205us-gaap:ResearchAndDevelopmentExpenseMember2019-04-012019-06-300000851205us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-06-280000851205us-gaap:ResearchAndDevelopmentExpenseMember2019-01-012019-06-300000851205cgnx:SellingGeneralAndAdministrativeMember2020-03-302020-06-280000851205cgnx:SellingGeneralAndAdministrativeMember2019-04-012019-06-300000851205cgnx:SellingGeneralAndAdministrativeMember2020-01-012020-06-280000851205cgnx:SellingGeneralAndAdministrativeMember2019-01-012019-06-300000851205cgnx:RepurchaseProgramOctober2018Member2018-10-290000851205cgnx:RepurchaseProgramOctober2018Member2020-06-280000851205cgnx:RepurchaseProgramOctober2018Member2020-03-290000851205cgnx:RepurchaseProgramMarch2020Member2020-03-120000851205us-gaap:RevenueCommissionersIrelandMemberus-gaap:ForeignCountryMember2020-01-012020-06-280000851205us-gaap:StateAdministrationOfTaxationChinaMemberus-gaap:ForeignCountryMember2020-01-012020-06-280000851205us-gaap:DomesticCountryMember2020-01-012020-06-280000851205us-gaap:EmployeeStockOptionMember2020-03-302020-06-280000851205us-gaap:EmployeeStockOptionMember2020-01-012020-06-280000851205us-gaap:EmployeeStockOptionMember2019-04-012019-06-300000851205us-gaap:EmployeeStockOptionMember2019-01-012019-06-300000851205us-gaap:RestrictedStockMember2020-03-302020-06-280000851205us-gaap:RestrictedStockMember2020-01-012020-06-2800008512052020-05-260000851205us-gaap:OneTimeTerminationBenefitsMember2020-05-260000851205us-gaap:OneTimeTerminationBenefitsMember2020-03-302020-06-280000851205us-gaap:ContractTerminationMember2020-05-260000851205us-gaap:ContractTerminationMember2020-03-302020-06-280000851205us-gaap:OtherRestructuringMember2020-05-260000851205us-gaap:OtherRestructuringMember2020-03-302020-06-28cgnx:Employees00008512052020-05-262020-05-260000851205us-gaap:OneTimeTerminationBenefitsMember2019-12-310000851205us-gaap:ContractTerminationMember2019-12-310000851205us-gaap:OtherRestructuringMember2019-12-310000851205us-gaap:OneTimeTerminationBenefitsMember2020-01-012020-06-280000851205us-gaap:ContractTerminationMember2020-01-012020-06-280000851205us-gaap:OtherRestructuringMember2020-01-012020-06-280000851205us-gaap:OneTimeTerminationBenefitsMember2020-06-280000851205us-gaap:ContractTerminationMember2020-06-280000851205us-gaap:OtherRestructuringMember2020-06-280000851205us-gaap:SubsequentEventMember2020-07-292020-07-29

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 June 28, 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-34218
COGNEX CORPORATION
(Exact name of registrant as specified in its charter)
Massachusetts 04-2713778
(State or other jurisdiction of
incorporation or organization)
 (I.R.S. Employer
Identification No.)

One Vision Drive
Natick, Massachusetts 01760-2059
(508) 650-3000
(Address, including zip code, and telephone number, including area code, of principal executive offices)

Securities registered pursuant to the Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, par value $.002 per shareCGNXThe NASDAQ Stock Market LLC

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities 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 (Check one):
Large accelerated filer  Accelerated filer
Non-accelerated filer  Smaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    
 Yes   No  
As of June 28, 2020, there were 173,047,292 shares of Common Stock, $.002 par value per share, of the registrant outstanding.



INDEX
 
PART IFINANCIAL INFORMATION
Financial Statements (interim periods unaudited)

2


PART I: FINANCIAL INFORMATION
ITEM 1: FINANCIAL STATEMENTS

COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(In thousands, except per share amounts)
 
 Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
 (unaudited)(unaudited)
Revenue$169,097  $199,047  $336,332  $372,531  
Cost of revenue50,320  50,967  91,520  97,251  
Gross margin118,777  148,080  244,812  275,280  
Research, development, and engineering expenses30,397  28,079  66,343  58,321  
Selling, general, and administrative expenses60,153  68,245  129,291  135,056  
Restructuring charges (Note 16)14,798    14,798    
Intangible asset impairment charges (Note 8)19,571    19,571    
Operating income (loss)(6,142) 51,756  14,809  81,903  
Foreign currency gain (loss)336  140  (2,667) (108) 
Investment income3,291  5,223  8,520  10,128  
Other income (expense)203  (144) 20  783  
Income (loss) before income tax expense (benefit)(2,312) 56,975  20,682  92,706  
Income tax expense (benefit)(1,170) 8,226  1,347  10,853  
Net income (loss)$(1,142) $48,749  $19,335  $81,853  
Net income (loss) per weighted-average common and common-equivalent share:
Basic$(0.01) $0.28  $0.11  $0.48  
Diluted$(0.01) $0.28  $0.11  $0.47  
Weighted-average common and common-equivalent shares outstanding:
Basic172,283  171,318  172,345  171,209  
Diluted172,283  175,448  175,499  175,528  
Cash dividends per common share$0.055  $0.050  $0.110  $0.100  












 
The accompanying notes are an integral part of these consolidated financial statements.
3


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands)
 
 Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
 (unaudited)(unaudited)
Net income (loss)$(1,142) $48,749  $19,335  $81,853  
Other comprehensive income, net of tax:
Available-for-sale investments:
Net unrealized gain (loss), net of tax of ($836) and $239 in the three-month periods and net of tax of ($1,788) and $507 in the six-month periods, respectively12,451  2,311  8,590  4,562  
Reclassification of credit (recovery) loss on investments into current operations(85)   75    
Reclassification of net realized (gain) loss into current operations(955) (382) (2,805) (422) 
Net change related to available-for-sale investments11,411  1,929  5,860  4,140  
Foreign currency translation adjustments:
Foreign currency translation adjustments1,903  (663) (5,462) (445) 
Net change related to foreign currency translation adjustments1,903  (663) (5,462) (445) 
Other comprehensive income, net of tax13,314  1,266  398  3,695  
Total comprehensive income$12,172  $50,015  $19,733  $85,548  
















The accompanying notes are an integral part of these consolidated financial statements.
4


COGNEX CORPORATION
CONSOLIDATED BALANCE SHEETS
(In thousands)
 
June 28, 2020December 31, 2019
 (unaudited) 
ASSETS
Current assets:
Cash and cash equivalents$286,021  $171,431  
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019143,084  240,470  
Accounts receivable, less reserves of $2,235 and $1,821 in 2020 and 2019, respectively111,671  103,447  
Unbilled revenue978  4,782  
Inventories52,953  60,261  
Prepaid expenses and other current assets51,768  26,840  
Total current assets646,475  607,231  
Non-current investments, amortized cost of $461,948 and $431,633 in 2020 and 2019, respectively, allowance for expected credit losses of $75 and $0 in 2020 and 2019, respectively467,087  433,452  
Property, plant, and equipment, net83,936  89,443  
Operating lease assets25,819  17,522  
Goodwill242,436  243,445  
Intangible assets, net17,337  39,490  
Deferred income taxes443,732  449,519  
Other assets8,042  5,833  
Total assets$1,934,864  $1,885,935  
LIABILITIES AND SHAREHOLDERS’ EQUITY
Current liabilities:
Accounts payable$17,999  $17,866  
Accrued expenses66,264  52,199  
Accrued income taxes5,952  30,333  
Deferred revenue and customer deposits46,738  14,432  
Operating lease liabilities7,628  5,647  
Total current liabilities144,581  120,477  
Non-current operating lease liabilities21,208  12,326  
Deferred income taxes326,295  332,344  
Reserve for income taxes12,302  11,563  
Non-current accrued income taxes48,915  51,113  
Other liabilities5,085  2,402  
Total liabilities558,386  530,225  
Shareholders’ equity:
Preferred stock, $.01 par value – Authorized: 400 shares in 2020 and 2019, respectively, no shares issued and outstanding    
Common stock, $.002 par value – Authorized: 300,000 shares in 2020 and 2019, respectively, issued and outstanding: 173,047 and 172,440 shares in 2020 and 2019, respectively346  345  
Additional paid-in capital710,412  639,372  
Retained earnings702,597  753,268  
Accumulated other comprehensive loss, net of tax(36,877) (37,275) 
Total shareholders’ equity1,376,478  1,355,710  
Total liabilities and shareholders' equity$1,934,864  $1,885,935  

The accompanying notes are an integral part of these consolidated financial statements.
5


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
 Six-months Ended
June 28, 2020June 30, 2019
 (unaudited)
Cash flows from operating activities:
Net income$19,335  $81,853  
Adjustments to reconcile net income to net cash provided by operating activities:
Stock-based compensation expense22,808  23,248  
Depreciation of property, plant, and equipment11,162  10,537  
Amortization of intangible assets2,582  1,538  
Intangible asset impairment charges19,571    
Excess and obsolete inventory charges8,783  1,713  
Operating lease asset impairment charges2,534    
Amortization of discounts or premiums on investments328  (342) 
Realized gain on sale of investments(2,805) (422) 
Credit loss on investments75    
Revaluation of contingent consideration(114) (863) 
Change in deferred income taxes1,395  (1,311) 
Change in operating assets and liabilities:
Accounts receivable(8,957) 11,383  
Unbilled revenue3,804  (1,989) 
Inventories(1,664) 8,681  
Prepaid expenses and other current assets(25,461) (463) 
Accounts payable143  (4,528) 
Accrued expenses15,806  (12,270) 
Accrued income taxes(25,411) (4,000) 
Deferred revenue and customer deposits32,586  8,575  
Other2,520  (1,190) 
Net cash provided by operating activities79,020  120,150  
Cash flows from investing activities:
Purchases of investments(317,540) (664,896) 
Maturities and sales of investments387,765  587,175  
Purchases of property, plant, and equipment(6,985) (8,969) 
Net cash provided by (used in) investing activities63,240  (86,690) 
Cash flows from financing activities:
Issuance of common stock under stock plans48,235  26,417  
Repurchase of common stock(51,036) (61,690) 
Payment of dividends(18,972) (17,146) 
Payment of contingent consideration(1,039)   
Net cash provided by (used in) financing activities(22,812) (52,419) 
Effect of foreign exchange rate changes on cash and cash equivalents(4,858) (149) 
Net change in cash and cash equivalents114,590  (19,108) 
Cash and cash equivalents at beginning of period171,431  108,212  
Cash and cash equivalents at end of period$286,021  $89,104  


The accompanying notes are an integral part of these consolidated financial statements.
6


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of March 29, 2020171,688  $344  $664,132  $713,208  $(50,191) $1,327,493  
Issuance of common stock under stock plans1,359  2  38,262  —  —  38,264  
Repurchase of common stock    —    —    
Stock-based compensation expense—  —  8,018  —  —  8,018  
Payment of dividends—  —  —  (9,469) —  (9,469) 
Net income (loss)—  —  —  (1,142) —  (1,142) 
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($836)—  —  —  —  12,451  12,451  
Reclassification of credit (recovery) loss on investments —  —  —  —  (85) (85) 
Reclassification of net realized (gain) loss on the sale of available-for-sale investments—  —  —  —  (955) (955) 
Foreign currency translation adjustment—  —  —  —  1,903  1,903  
Balance as of June 28, 2020 (unaudited)173,047  $346  $710,412  $702,597  $(36,877) $1,376,478  
 
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of March 31, 2019171,537  $343  $555,834  $670,754  $(38,072) $1,188,859  
Issuance of common stock under stock plans522  1  12,070  —  —  12,071  
Repurchase of common stock(1,398) (3) —  (61,687) —  (61,690) 
Stock-based compensation expense—  —  10,967  —  —  10,967  
Payment of dividends—  —  —  (8,582) —  (8,582) 
Net income—  —  —  48,749  —  48,749  
Net unrealized gain (loss) on available-for-sale investments, net of tax of $239—  —  —  —  2,311  2,311  
Reclassification of net realized (gain) loss on the sale of available-for-sale investments—  —  —  —  (382) (382) 
Foreign currency translation adjustment—  —  —  —  (663) (663) 
Balance as of June 30, 2019 (unaudited)170,661  $341  $578,871  $649,234  $(36,806) $1,191,640  





The accompanying notes are an integral part of these consolidated financial statements.
7



COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of December 31, 2019172,440  $345  $639,372  $753,268  $(37,275) $1,355,710  
Issuance of common stock under stock plans1,822  3  48,232  —  —  48,235  
Repurchase of common stock(1,215) (2) —  (51,034) —  (51,036) 
Stock-based compensation expense—  —  22,808  —  —  22,808  
Payment of dividends—  —  —  (18,972) —  (18,972) 
Net income—  —  —  19,335  —  19,335  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($1,788)—  —  —  —  8,590  8,590  
Reclassification of credit loss on investments—  —  —  —  75  75  
Reclassification of net realized (gain) loss on the sale of available-for-sale investments—  —  —  —  (2,805) (2,805) 
Foreign currency translation adjustment—  —  —  —  (5,462) (5,462) 
Balance as of June 28, 2020 (unaudited)173,047  $346  $710,412  $702,597  $(36,877) $1,376,478  

 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of December 31, 2018170,820  $342  $529,208  $646,214  $(40,501) $1,135,263  
Issuance of common stock under stock plans1,239  2  26,415  —  —  26,417  
Repurchase of common stock(1,398) (3) —  (61,687) —  (61,690) 
Stock-based compensation expense—  —  23,248  —  —  23,248  
Payment of dividends—  —  —  (17,146) —  (17,146) 
Net income—  —  —  81,853  —  81,853  
Net unrealized gain (loss) on available-for-sale investments, net of tax of $507—  —  —  —  4,562  4,562  
Reclassification of net realized (gain) loss on the sale of available-for-sale investments—  —  —  —  (422) (422) 
Foreign currency translation adjustment—  —  —  —  (445) (445) 
Balance as of June 30, 2019 (unaudited)170,661  $341  $578,871  $649,234  $(36,806) $1,191,640  





The accompanying notes are an integral part of these consolidated financial statements.
8


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

NOTE 1: Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASU 2016-13 "Measurement of Credit Losses on Financial Instruments," Cognex Corporation (the "Company") has provided new disclosures related to credit losses in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2019 for a full description of other significant accounting policies.
In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, excess and obsolete inventory charges (Note 5), intangible asset impairment charges (Note 8), restructuring charges (Note 16), and financial statement reclassifications necessary to present fairly the Company’s financial position as of June 28, 2020, and the results of its operations for the three-month and six-month periods ended June 28, 2020 and June 30, 2019, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended June 28, 2020 are not necessarily indicative of the results to be expected for the full year.
Cash, Cash Equivalents, and Investments
Money market instruments, as well as certificates of deposit and debt securities with original maturities of three months or less, are classified as cash equivalents and are stated at amortized cost. Certificates of deposit and debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as current investments. Debt securities with remaining maturities greater than one year are classified as non-current investments. It is the Company’s policy to invest in debt securities with effective maturities that do not exceed ten years.
Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax and credit losses, recorded in shareholders’ equity as other comprehensive income (loss). Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method. The Company’s limited partnership interest is accounted for using the cost method because the Company’s investment is less than 5% of the partnership and the Company has no influence over the partnership’s operating and financial policies. The carrying value of this investment has been reduced to zero, and therefore, distributions are recorded as investment income as they occur.
Management monitors the carrying value of its investments in debt securities compared to their fair value to determine whether a credit loss or other type of impairment has occurred. If the fair value of a debt security is less than its amortized cost, the Company assesses whether the decline has resulted from a credit loss or other factors. In assessing whether a credit loss exists, the Company compares the present value of the cash flows expected to be collected from the security with the amortized cost basis of the security. If the present value of the cash flows expected to be collected is less than the amortized cost basis of the security, then a credit loss exists and an allowance for credit losses is recorded. The allowance for credit losses is limited by the amount that the fair value is less than the amortized cost basis of the security. Credit losses on impaired securities continue to be measured in subsequent periods, using the present value of expected future cash flows, and changes in the expected credit losses are recorded in current operations. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statement of Operations. When developing an estimate of the expected credit losses, the Company considers all available information relevant to assessing the collectability of cash flows. This information includes internal and external factors, historical and current events, reasonable and supportable forecasts including management's expectations of future economic conditions, the type of security, the credit rating of the security, the size of the loss position, as well as other relevant information.


9


An impairment is recognized as a write-down if (i) the Company has the intent to sell the security or (ii) it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. If impairment is considered upon condition (i) or (ii) described above, the debt security's amortized cost basis is written-down to its fair value and the impairment is recognized in current operations. Subsequent increases in the fair value of the debt securities after the write-down are included in shareholders' equity as other comprehensive income. The differences between the new amortized cost basis and the cash flows expected to be collected are accreted as interest income.
Unrealized losses, that have not been recorded through an allowance for credit losses or write-down of the debt security, are recorded in shareholders' equity as other comprehensive loss, net of the applicable taxes.
Accounts Receivable
The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition. Accounts that are outstanding longer than the payment terms are considered to be past due. The Company establishes an allowance against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer’s current ability to pay its obligations to the Company, general economic and industry conditions, and reasonable forecasts about the future, as well as various other factors. Receivables are written off against this allowance in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense. Credit losses are included in "Selling, general, and administrative expenses" on the Consolidated Statement of Operations.

NOTE 2: New Pronouncements
Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"
ASU 2019-12 applies to all entities within the scope of Topic 740, Income Taxes. The amendments in this ASU simplify the accounting for income taxes by removing the following exceptions: 1) exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items; 2) exception to the requirement to recognize a deferred tax liability for equity method investments when a foreign subsidiary becomes an equity method investment; 3) exception to the ability not to recognize a deferred tax liability for a foreign subsidiary when a foreign equity method investment becomes a subsidiary; and 4) exception to the general methodology for calculating income taxes in an interim period when a year-to-date loss exceeds the anticipated loss for the year. The amendments in this ASU also simplify the accounting for income taxes by doing the following: 1) requiring that an entity recognize a franchise tax that is partially based on income as an income-based tax and account for any incremental amount incurred as a non-income-based tax; 2) requiring that an entity evaluate when a step up in the tax basis of goodwill should be considered part of the business combination in which the book goodwill was originally recognized and when it should be considered a separate transaction; 3) specifying that an entity is not required to allocate the consolidated amount of current and deferred tax expense to a legal entity that is not subject to tax in its separate financial statements; and 4) requiring that an entity reflect the effect of an enacted change in tax laws or rates in the annual effective tax rate computation in the interim period that included the enacted date. The amendments in this ASU are effective for public companies for annual periods, and interim periods within those annual periods, beginning after December 15, 2020. Early adoption is permitted; however, an entity that elects to early adopt the amendments must adopt all the amendments in the same period. The amendments in this ASU related to separate financial statements of legal entities that are not subject to tax should be applied on a retrospective basis for all periods presented. The amendments related to changes in ownership of foreign equity method investments or foreign subsidiaries should be applied on a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. The amendments related to franchise taxes that are partially based on income should be applied on either a retrospective basis for all periods presented or a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. All other amendments should be applied on a prospective basis. Management does not expect ASU 2019-12 to have a material impact on the Company's consolidated financial statements and disclosures.
10


Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848)"
The amendments in this ASU apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. The amendments in this ASU provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in this ASU are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 to have a material impact on the Company's consolidated financial statements and disclosures.

11

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 3: Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of June 28, 2020 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$50,222  $  $—  
Corporate bonds—  236,660  
Treasury bills—  230,692  —  
Asset-backed securities—  91,610  —  
Sovereign bonds—  27,517  —  
Agency bonds—  22,054  —  
Municipal bonds—  1,638  
Economic hedge forward contracts—  46  —  
Liabilities:
Economic hedge forward contracts—  458  —  
Contingent consideration liabilities—      
The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1.
The Company’s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.
The Company recorded gross credit losses and gross credit recoveries on debt securities totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020. No credit losses or recoveries on debt securities were recorded for the three-month or six-month periods ended June 30, 2019. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statements of Operations.
The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market, and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period.
The fair value of the contingent consideration liability related to the Company's acquisition of Chiaro Technologies, LLC was $1,153,000 as of December 31, 2019. During the three-month period ended June 28, 2020, the Company paid out $1,039,000 based upon the revenue levels achieved, with the remaining $114,000 recorded as a fair value adjustment in "Other income (expense)" on the Consolidated Statements of Operations.
The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. was written down to zero as of December 31, 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of June 28, 2020. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next two years.
12

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis
Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. Our business has been adversely and materially impacted by deteriorating global economic conditions resulting from the COVID-19 pandemic. The significant decline in business levels triggered a review of long-lived assets for potential impairment as of May 26, 2020, which resulted in operating lease asset impairment charges of $2,534,000 (refer to Notes 6 and 16) that are included in "Restructuring charges" on the Consolidated Statements of Operations, and intangible asset impairment charges of $19,571,000 (refer to Note 8). These fair value measurements are based upon the present values of future cash flows using significant inputs that are not observable in the market, and are therefore classified as Level 3.

NOTE 4: Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
June 28, 2020December 31, 2019
Cash$235,799  $155,498  
Money market instruments50,222  15,933  
Cash and cash equivalents286,021  171,431  
Asset-backed securities50,311  66,680  
Corporate bonds42,248  65,624  
Treasury bills34,018  92,914  
Sovereign bonds14,869  6,294  
Municipal bonds1,638  4,630  
Certificate of deposit  4,328  
Current investments143,084  240,470  
Treasury bills196,674  216,334  
Corporate bonds194,412  146,474  
Asset-backed securities41,299  46,403  
Agency bonds22,054  5,914  
Sovereign bonds12,648  16,005  
Municipal bonds  2,322  
Non-current investments467,087  433,452  
$896,192  $845,353  

Asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; treasury bills consist of debt securities issued by the U.S. government; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; certificates of deposit are time deposits held by financial institutions with a fixed interest rate; and agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars, with the exception of the certificate of deposit held as of December 31, 2019 that was denominated in Korean Won.

Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $1,958,000 and $2,874,000 as of June 28, 2020 and December 31, 2019, respectively.

13

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
On January 1, 2020, the Company adopted Accounting Standards Update (ASU) 2016-13, “Measurement of Credit Losses on Financial Instruments,” using the modified-retrospective approach, which requires the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to retained earnings as of the beginning of the period in which the guidance is effective. The Company did not record an adjustment to retained earnings, as there were no debt securities with credit losses as of the adoption date.
The following table summarizes the Company’s available-for-sale investments as of June 28, 2020 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Asset-backed securities$49,899  $412  $  $50,311  
Corporate bonds42,065  221  (38) 42,248  
Treasury bills33,480  538    34,018  
Sovereign bonds14,787  82    14,869  
Municipal bonds1,643    (5) 1,638  
Non-current:
Treasury bills194,330  2,345  (1) 196,674  
Corporate bonds192,233  2,513  (334) 194,412  
Asset-backed securities40,817  484  (2) 41,299  
Agency bonds22,035  37  (18) 22,054  
Sovereign bonds12,533  115    12,648  
$603,822  $6,747  $(398) $610,171  

The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of June 28, 2020 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$49,525  $(363) $1,181  $(9) $50,706  $(372) 
Treasury bills12,962  (1)     12,962  (1) 
Asset-backed securities5,749  (1) 260  (1) 6,009  (2) 
Agency bonds3,128  (2) 2,784  (16) 5,912  (18) 
Municipal bonds1,293  (5)     1,293  (5) 
$72,657  $(372) $4,225  $(26) $76,882  $(398) 

The Company recorded gross credit losses and gross credit recoveries on debt securities totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020. No credit losses or recoveries on debt securities were recorded for the three-month or six-month periods ended June 30, 2019. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statements of Operations.
14

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$  
Increases to the allowance for credit losses160  
Decreases to the allowance for credit losses(85) 
Write-offs   
Balance as of June 28, 2020$75  

The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $962,000 and $7,000, respectively, for the three-month period ended June 28, 2020, and $394,000 and $12,000, respectively, for the three-month period ended June 30, 2019. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $2,826,000 and $21,000, respectively, for the six-month period ended June 28, 2020, and $458,000 and $36,000, respectively, for the six-month period ended June 30, 2019. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of June 28, 2020 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 YearsTotal
Corporate bonds$42,248  $81,987  $102,034  $10,391  $  $236,660  
Treasury bills34,018  138,612  58,062      230,692  
Asset-backed securities50,311  13,750  23,308    4,241  91,610  
Sovereign bonds14,869  9,218  3,430      27,517  
Agency bonds    22,054      22,054  
Municipal bonds1,638          1,638  
$143,084  $243,567  $208,888  $10,391  $4,241  $610,171  

NOTE 5: Inventories
Inventories consisted of the following (in thousands):
June 28, 2020December 31, 2019
Raw materials$20,736  $27,285  
Work-in-process4,111  5,503  
Finished goods28,106  27,473  
$52,953  $60,261  

The Company recorded provisions for excess and obsolete inventories of $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, which reduced the carrying value of the inventories to their net realizable value. The charges for the three-month period ended June 28, 2020 were due to lower projected sales of excess inventories as a result of deteriorating global economic conditions from the COVID-19 pandemic.
15

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 6:  Leases
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of June 28, 2020. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for the leases outstanding as of June 28, 2020.
The total operating lease expense for the three-month periods ended June 28, 2020 and June 30, 2019 was $2,147,000 and $1,742,000, respectively. The total operating lease cash payments for the three-month periods ended June 28, 2020 and June 30, 2019 were $2,091,000 and $1,669,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $23,000 and $64,000 for the three-month periods ended June 28, 2020 and June 30, 2019, respectively.
The total operating lease expense for the six-month periods ended June 28, 2020 and June 30, 2019 was $4,053,000 and $3,227,000, respectively. The total operating lease cash payments for the six-month periods ended June 28, 2020 and June 30, 2019 were $3,954,000 and $3,070,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $62,000 and $233,000 for the six-month periods ended June 28, 2020 and June 30, 2019, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2020$4,335  
20218,340  
20226,169  
20234,973  
20242,391  
20251,322  
Thereafter4,462  
$31,992  
The discounted present value of the future lease cash payments resulted in a lease liability of $28,836,000 and $17,973,000 as of June 28, 2020 and December 31, 2019, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of June 28, 2020 or June 30, 2019.
The weighted-average discount rate was 4.1% and 4.8% for the leases outstanding as of June 28, 2020 and June 30, 2019, respectively. The weighted-average remaining lease term was 5.3 and 3.6 years for the leases outstanding as of June 28, 2020 and June 30, 2019, respectively.
As part of the Company's restructuring plan (refer to Note 16), management closed ten leased offices as of June 28, 2020 prior to the end of their lease terms. The carrying value of the lease assets associated with these ten offices has been reduced to zero as of June 28, 2020, resulting in operating lease asset impairment charges of $2,534,000 for the three-month period ended June 28, 2020 that are included in "Restructuring charges" on the Consolidated Statements of Operations. Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices.
The Company owns a building adjacent to its corporate headquarters that was partially occupied by a tenant for a portion of the current year. This lease was terminated prior to the end of its lease term during the three-month period ended June 28, 2020. Rental income was $0 and $81,000 for the three-month periods ended June 28, 2020 and June 30, 2019, respectively, and $77,000 and $158,000 for the six-month periods ended June 28, 2020 and June 30, 2019, respectively. The Company is now fully occupying this building for its operations.
16

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 7:  Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2019$243,445  
  Foreign exchange rate changes(1,009) 
Balance as of June 28, 2020$242,436  
The significant decline in business levels resulting from the COVID-19 pandemic triggered a review of long-lived assets, including goodwill, for potential impairment during the three-month period ended June 28, 2020. Based upon this assessment, management concluded that the reporting unit fair value was not less than its carrying value, and therefore no goodwill impairment charge was recognized for the three-month and six-month periods ended June 28, 2020. Factors that management considered in this assessment included macroeconomic conditions, industry and market conditions, overall financial performance (both current and projected), changes in management or strategy, changes in the composition or carrying value of net assets, and market capitalization.

NOTE 8:  Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060  $38,060  $  
Completed technologies21,917  11,035  10,882  
Customer relationships10,578  6,795  3,783  
In-process technologies2,300    2,300  
Non-compete agreements710  409  301  
Trademarks110  39  71  
Balance as of June 28, 2020$73,675  $56,338  $17,337  
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060  $38,060  $  
Completed technologies31,987  9,160  22,827  
Customer relationships14,407  6,402  8,005  
In-process technologies8,200    8,200  
Non-compete agreements710  350  360  
Trademarks110  12  98  
Balance as of December 31, 2019$93,474  $53,984  $39,490  

The significant decline in business levels resulting from the COVID-19 pandemic triggered a review of long-lived assets, including intangible assets, for potential impairment during the three-month period ended June 28, 2020. For finite-lived intangible assets that are subject to amortization, the Company follows a two-step process for impairment testing. In step one, known as the recoverability test, the carrying value of the asset is compared to the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset. If the sum of the undiscounted future cash flows is less than the carrying value, the asset is not recoverable and step two is performed. In step two, the impairment charge is measured as the amount by which the carrying value of the asset exceeds its fair value. For indefinite-lived intangible assets that are not subject to amortization, the fair value of the asset is measured and an impairment charge is recorded as the amount by which the carrying value of the asset exceeds its fair value.
17

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
Based upon this assessment, management concluded that certain of the Company's finite-lived intangible assets failed the recoverability test, and recorded impairment charges for these assets equal to the amount by which their carrying value exceeded their fair value. The Company also measured the fair value and recorded an impairment charge for its indefinite-lived intangible asset related to in-process technologies. The fair values were established, with the assistance of an outside valuation advisor, using the income approach based upon a discounted cash flow model that estimated future revenue streams and expenses attributable to those revenue streams provided by management.
This review resulted in intangible asset impairment charges totaling $19,571,000 for the three-month period ended June 28, 2020, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab Co. Ltd. ("Sualab") as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Completed technologies, in-process technologies, and customer relationships acquired from Sualab were impaired in the amounts of $10,070,000, $5,900,000, and $3,382,000, respectively. In addition, customer relationships acquired from EnShape GmbH that had a gross carrying value of $447,000 and accumulated amortization of $228,000 on the measurement date were reduced to zero, resulting in an impairment charge of $219,000.

As of June 28, 2020, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2020$1,686  
20213,272  
20222,902  
20232,211  
20241,697  
20251,374  
Thereafter1,895  
$15,037  
In-process technology is an indefinite-lived intangible asset until the technology is finalized, at which point it is amortized over its estimated useful life.

18

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 9: Warranty Obligations
The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2019$4,713  
Provisions for warranties issued during the period1,493  
Fulfillment of warranty obligations(927) 
Balance as of June 28, 2020$5,279  

NOTE 10: Derivative Instruments
The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. Currently, the Company enters into economic hedges to manage this risk. The economic hedges utilize foreign currency forward contracts with maturities of up to 45 days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.
The Company had the following outstanding forward contracts (in thousands):
June 28, 2020December 31, 2019
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Korean Won138,690,000  $115,604  161,951,500  $139,688  
Euro50,000  56,137  18,000  20,249  
Mexican Peso184,700  8,051  80,000  4,223  
Japanese Yen600,000  5,587  575,000  5,291  
Hungarian Forint1,085,000  3,443  870,000  2,962  
British Pound1,940  2,406  2,700  3,569  
Taiwanese Dollar42,765  1,455  37,450  1,256  
Canadian Dollar1,130  827  1,300  1,000  
Singapore Dollar1,090  784  845  628  
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
June 28, 2020December 31, 2019Sheet
Location
June 28, 2020December 31, 2019
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$46  $857  Accrued expenses$458  $23  
19

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset DerivativesLiability Derivatives
June 28, 2020December 31, 2019June 28, 2020December 31, 2019
Gross amounts of recognized assets$46  $857  Gross amounts of recognized liabilities$458  $23  
Gross amounts offset    Gross amounts offset    
Net amount of assets presented$46  $857  Net amount of liabilities presented$458  $23  

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$60  $(439) $(8,180) $66  

20

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 11: Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Americas$68,966  $77,408  $129,214  $142,178  
Europe35,987  59,620  84,569  119,158  
Greater China31,898  35,816  58,301  58,632  
Other Asia32,246  26,203  64,248  52,563  
$169,097  $199,047  $336,332  $372,531  

The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Standard products and services$158,807  $173,368  $311,662  $334,420  
Application-specific customer solutions10,290  25,679  24,670  38,111  
$169,097  $199,047  $336,332  $372,531  

Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $10,888,000 and $3,963,000 as of June 28, 2020 and December 31, 2019, respectively.

Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for potential credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.
On January 1, 2020, the Company adopted Accounting Standards Update (ASU) 2016-13, “Measurement of Credit Losses on Financial Instruments,” using the modified-retrospective approach, which requires the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to retained earnings as of the beginning of the period in which the guidance is effective. The Company did not record an adjustment to retained earnings as this ASU did not have a material impact on the Company's consolidated allowance for credit losses.
The Company recorded credit losses on accounts receivable of $300,000 and $600,000 for the three-month and six-month periods ended June 28, 2020, respectively. The Company recorded credit losses on accounts receivable of $90,000 for the three-month and six-month periods ended June 30, 2019. The Company's estimate of expected credit losses takes into account the deteriorating global economic conditions from the COVID-19 pandemic.
The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$530  
Increases to the allowance for credit losses600  
Write-offs (186) 
Foreign exchange rate changes1  
Balance as of June 28, 2020$945  
21

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$14,432  
Increases to deferred revenue and customer deposits57,904  
Recognition of revenue(25,493) 
Foreign exchange rate changes(105) 
Balance as of June 28, 2020$46,738  

As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
22

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 12: Stock-Based Compensation Expense
Stock Plans
The Company’s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of June 28, 2020, the Company had 16,335,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the six-month period ended June 28, 2020:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 201912,899  $37.95  
Granted975  51.58  
Exercised(1,822) 26.47  
Forfeited or expired(421) 50.28  
Outstanding as of June 28, 202011,631  $40.45  6.98$212,847  
Exercisable as of June 28, 20205,331  $31.59  5.81$144,694  
Options vested or expected to vest as of June 28, 2020 (1)10,683  $39.58  6.85$204,795  
 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Risk-free rate1.6 %2.7 %1.6  2.7 %
Expected dividend yield0.43 %0.39 %0.43 %0.39 %
Expected volatility37 %37 %37 %37 %
Expected term (in years)6.05.26.05.3
Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
23

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
The weighted-average grant-date fair values of stock options granted during the three-month periods ended June 28, 2020 and June 30, 2019 were $19.13 and $18.68, respectively. The weighted-average grant-date fair values of stock options granted during the six-month periods ended June 28, 2020 and June 30, 2019 were $18.52 and $18.59, respectively.
The total intrinsic values of stock options exercised for the three-month periods ended June 28, 2020 and June 30, 2019 were $39,359,000 and $14,220,000, respectively. The total intrinsic values of stock options exercised for the six-month periods ended June 28, 2020 and June 30, 2019 were $53,814,000 and $36,799,000, respectively. The total fair values of stock options vested for the three-month periods ended June 28, 2020 and June 30, 2019 were $1,287,000 and $887,000, respectively. The total fair values of stock options vested for the six-month periods ended June 28, 2020 and June 30, 2019 were $37,951,000 and $30,859,000, respectively.
Restricted Stock Units (RSUs)
The following table summarizes the Company's RSUs activity for the six-month period ended June 28, 2020:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 2019150  $48.63  
Granted432  51.53  
Vested    
Forfeited or expired(21) 50.54  
Nonvested as of June 28, 2020561  $50.79  

The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended June 28, 2020 were $56.97 and $51.53, respectively. There were no RSUs that vested during the three-month and six-month periods ended June 28, 2020. There were no RSUs granted or vested during the three-month and six-month periods ended June 30, 2019.
Stock-Based Compensation Expense
The Company stratifies its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 7% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate. This resulted in an increase to compensation expense of $1,787,000 in 2020 and a decrease to compensation expense of $499,000 in 2019.
As of June 28, 2020, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $65,128,000, which is expected to be recognized over a weighted-average period of 2.0 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended June 28, 2020 were $8,018,000, which includes credits of $1,401,000 relating to grants cancelled as a result of the Company's workforce reduction, and $1,277,000, respectively, and for the three-month period ended June 30, 2019 were $10,967,000 and $1,813,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the six-month period ended June 28, 2020 were $22,808,000 and $3,841,000, respectively, and for the six-month period ended June 30, 2019 were $23,248,000 and $4,035,000, respectively. No compensation expense was capitalized as of June 28, 2020 or December 31, 2019.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Cost of revenue$363  $329  $717  $780  
Research, development, and engineering2,401  3,550  7,767  8,017  
Selling, general, and administrative5,254  7,088  14,324  14,451  
$8,018  $10,967  $22,808  $23,248  
24

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 13: Stock Repurchase Program
In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of June 28, 2020, the Company repurchased 2,816,000 shares at a cost of $121,348,000 under this program, including 1,215,000 shares at a cost of $51,036,000 during the three-month period ended March 29, 2020, leaving a remaining balance of $78,652,000. No shares were repurchased during the three-month period ended June 28, 2020. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 program. The Company may repurchase shares under these programs in future periods depending upon a variety of factors, including, among other things, the impact of dilution from employee equity awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.

NOTE 14: Income Taxes
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Income tax expense (benefit) at U.S. federal statutory corporate tax rate(21)%21 %21 %21 %
State income taxes, net of federal benefit(1)%1 %1 %1 %
Foreign tax rate differential5 %(7)%(5)%(7)%
Tax credit2 %(1)%(2)%(1)%
Discrete tax benefit related to stock options(191)%(2)%(29)%(4)%
Discrete tax expense related to tax return filings141 % %17 % %
Tax rate adjustment18 % % % %
Other(4)%2 %4 %2 %
Income tax expense(51)%14 %7 %12 %

The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland, and China. The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in a favorable impact to the effective tax rate of 5 percentage points for both the three-month and six-month periods ended June 28, 2020, and 7 percentage points for the same periods in 2019. Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested.
The Company recorded discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock exercises that resulted in a favorable impact to the effective tax rate of 191 and 29 percentage points for the three-month and six-month periods ended June 28, 2020, respectively, and 2 and 4 percentage points for the same periods in 2019. In addition, the Company recorded discrete tax expenses related to the final true-up of the prior year tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 141 and 17 percentage points for the three-month and six-month periods ended June 28, 2020, respectively.
Excluding the impact of these discrete items, the Company’s effective tax rate was a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the three-month and six-month periods in 2020, respectively, compared to an expense of 17% and 16% of pre-tax income for the same periods in 2019. The increase in the effective tax rate, excluding the impact of discrete items, for the six-month period from 16% in 2019 to 19% in 2020 was due to more of the Company's profits being earned and taxed in higher tax jurisdictions. This adjustment to the effective tax rate resulted in an 18 percentage-point impact on the effective tax rate for the three-month period ended June 28, 2020.
25

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
During the six-month period ended June 28, 2020, the Company recorded a $710,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $283,000 for the six-month period ended June 28, 2020.
The Company’s reserve for income taxes, including gross interest and penalties, was $13,330,000 as of June 28, 2020, which included $12,302,000 classified as a non-current liability and $1,028,000 recorded as an increase to a non-current deferred tax liability. The amount of gross interest and penalties included in these balances was $1,301,000. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.
The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts. Within the United States, the tax years 2016 through 2019 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2015 through 2019 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company has recently been notified that it is under audit by the IRS for the tax year 2017. Management believes the Company is adequately reserved for this audit.

NOTE 15: Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Basic weighted-average common shares outstanding172,283  171,318  172,345  171,209  
Effect of dilutive equity awards  4,130  3,154  4,319  
Weighted-average common and common-equivalent shares outstanding172,283  175,448  175,499  175,528  
Stock options to purchase 5,801,000 and 6,328,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended June 28, 2020, respectively, and 6,113,000 and 5,503,000 for the same periods in 2019, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 27,000 and 14,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended June 28, 2020. Additionally, because the Company recorded a cumulative net loss during the three-month period ended June 28, 2020, potential common stock equivalents of 3,120,000 were not included in the calculation of diluted net loss per share for this period. There were no anti-dilutive restricted stock units outstanding, on a weighted-average basis, during the three-month and six-month periods ended June 30, 2019, respectively.
26

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 16: Restructuring Charges

On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures.

The Company estimates the total restructuring charges from these actions to be approximately $16,445,000, of which $14,798,000 has been recorded in the three-month period ended June 28, 2020 and included in “Restructuring charges” on the Consolidated Statements of Operations. The remaining charges are expected to be recognized during the second half of 2020. The following table summarizes the restructuring charges (in thousands):

Total Amount Expected to be IncurredIncurred in the Three-months Ended June 28, 2020
One-time termination benefits$11,387  $10,386  
Contract termination costs3,995  3,995  
Other associated costs1,063  417  
$16,445  $14,798  

One-time termination benefits include severance, health insurance, and outplacement services for 181 employees who were either terminated or have been notified that they will be terminated at a future date. For employees not required to render service beyond a minimum retention period, the one-time termination benefits were recognized in the three-month period ended June 28, 2020. Otherwise, these benefits, including retention bonuses for selected employees, are being recognized over the service period, which is not expected to exceed the fourth quarter of 2020.
Contract termination costs include remaining lease liability obligations and operating lease asset impairments for offices closed prior to the end of the contractual lease term. These costs also include the write-off of leasehold improvements and other equipment related to these abandoned offices that had no alternative use. These contract termination costs were recognized in the three-month period ended June 28, 2020 when the Company ceased using the property for economic benefit. Other associated costs primarily include legal fees related to the employee termination actions, which are being recognized when the services are performed.
The following table summarizes the activity in the Company’s restructuring reserve, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsOther Associated CostsTotal
Balance as of December 31, 2019$  $  $  $  
Restructuring charges10,386  3,995  417  14,798  
Cash payments(4,654) (26) (9) (4,689) 
Non-cash restructuring charges  (3,145)   (3,145) 
Foreign exchange rate changes60  5  7  72  
Balance as of June 28, 2020$5,792  $829  $415  $7,036  

27

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 17: Subsequent Events
On July 29, 2020, the Company’s Board of Directors declared a cash dividend of $0.055 per share. The dividend is payable on August 28, 2020 to all shareholders of record as of the close of business on August 14, 2020.
28


ITEM 2: MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

Forward-Looking Statements
Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words “expects,” “anticipates,” “estimates,” “believes,” “projects,” “intends,” “plans,” “will,” “may,” “shall,” “could,” “should,” and similar words and other statements of a similar sense. These statements are based upon our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given. These forward-looking statements, which include statements regarding business and market trends, future financial performance, the expected impact of the COVID-19 pandemic on our business and results of operations, customer order rates and timing of related revenue, future product mix, restructuring and other cost savings initiatives, research and development activities, investments, liquidity, strategic plans, and estimated tax benefits and expenses and other tax matters, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include: (1) the impact, duration and severity of the COVID-19 pandemic; (2) current and future conditions in the global economy, including the impact of the COVID-19 pandemic and the imposition of tariffs or export controls; (3) the loss of, or curtailment of purchases by, a large customer; (4) the reliance on revenue from the consumer electronics or automotive industries; (5) the inability to penetrate the logistics industry and other new markets; (6) the inability to achieve significant international revenue; (7) fluctuations in foreign currency exchange rates and the use of derivative instruments; (8) information security breaches or business system disruptions; (9) the inability to attract and retain skilled employees; (10) the failure to effectively manage our growth; (11) the reliance upon key suppliers to manufacture and deliver critical components for our products; (12) the failure to effectively manage product transitions or accurately forecast customer demand; (13) the inability to design and manufacture high-quality products; (14) the technological obsolescence of current products and the inability to develop new products; (15) the failure to properly manage the distribution of products and services; (16) the inability to protect our proprietary technology and intellectual property; (17) our involvement in time-consuming and costly litigation; (18) the impact of competitive pressures; (19) the challenges in integrating and achieving expected results from acquired businesses, including the recent acquisition of Sualab; (20) potential impairment charges with respect to our investments or for acquired intangible assets or goodwill; (21) exposure to additional tax liabilities; and (22) potential disruptions to our business due to restructuring activities and the failure of such activities to generate the anticipated cost savings. The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2019, as updated by Part II - Item 1A of this Quarterly Report on Form 10-Q. The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.

Executive Overview
Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate manufacturing and distribution tasks where vision is required. In addition to product revenue derived from the sale of machine vision products, the Company also generates revenue by providing maintenance and support, consulting, and training services to its customers; however, service revenue accounted for less than 10% of total revenue for all periods presented.
Cognex machine vision is used to automate manufacturing and distribution processes in a variety of industries, where the technology is widely recognized as an important component of automated production and quality assurance. Virtually every manufacturer can achieve better quality and manufacturing efficiency by using machine vision, and therefore, Cognex products are used by a broad base of customers across a variety of industries, including consumer electronics, automotive, consumer products, food and beverage, pharmaceuticals, and medical devices. Cognex products are also used to automate distribution processes in the logistics industry, including for applications in retail distribution and ecommerce to scan, track, and sort goods through distribution centers.
Revenue for the second quarter of 2020 totaled $169,097,000, representing a decrease of 15% from the second quarter of 2019. Our business has been adversely and materially impacted by deteriorating global economic conditions resulting from the COVID-19 pandemic. This impact was most notable in the automotive industry, our largest market, for which revenue continued to decline from the first quarter of 2020 and was significantly lower than
29


the second quarter of 2019. Gross margin was 70% for the second quarter of 2020 compared to 74% for the second quarter of 2019 due to higher provisions for excess and obsolete inventories as a result of the deteriorating business conditions.
Operating expenses increased by 30% from the second quarter of 2019. In order to more closely align our cost structure to the lower level of business, we implemented a variety of cost-cutting measures in the second quarter, including a workforce reduction and office closures, and recorded restructuring charges of $14,798,000 from these actions. The significant decline in business levels also triggered a review of long-lived assets that resulted in intangible asset impairment charges of $19,571,000. Excluding these charges, operating expenses decreased by 6% from the second quarter of 2019 due primarily to lower travel expenses resulting from COVID-19 restrictions.
As a result of the lower revenue level and charges related to excess inventories, restructuring actions, and intangible asset impairments, we reported an operating loss of 4% of revenue in the second quarter of 2020 compared to an operating profit of 26% of revenue in the second quarter of 2019. We reported a net loss of 1% of revenue in the second quarter of 2020, or $0.01 per share, compared to a net profit of 24% of revenue in the second quarter of 2019, or $0.28 per share.
Results of Operations
As foreign currency exchange rates are a factor in understanding period-to-period comparisons, we believe the presentation of results on a constant-currency basis in addition to reported results helps improve investors’ ability to understand our operating results and evaluate our performance in comparison to prior periods. We also use results on a constant-currency basis as one measure to evaluate our performance. Constant-currency information compares results between periods as if exchange rates had remained constant period-over-period. We generally refer to such amounts calculated on a constant-currency basis as excluding the impact of foreign currency exchange rate changes. Results on a constant-currency basis are not in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) and should be considered in addition to, and not as a substitute for, results prepared in accordance with U.S. GAAP.
Revenue
Revenue decreased by $29,950,000, or 15%, for the three-month period and decreased by $36,199,000, or 10%, for the six-month period. Changes in foreign currency exchange rates did not have a material impact on revenue.
Deteriorating global economic conditions resulting from the COVID-19 pandemic, which had a modest impact on our business in the first quarter of 2020, had a more significant impact in the second quarter, as we noted lower demand for our products in certain industries, additional disruptions to our supply chain, longer customer delivery times, and further shutdowns of customer facilities. This impact was most notable in the automotive industry, for which revenue declined from the first quarter of 2020 and was significantly lower than the prior year for both the three-month and six-month periods. Revenue in the logistics industry increased from the first quarter of 2020 and was higher than the prior year for both the three-month and six-month periods driven by higher demand from ecommerce customers. This was partially offset, however, by lower demand from retail distribution customers and delays in revenue recognition related to customer facility access for on-site installations caused by COVID-19 conditions. The timing of revenue recognition also impacted revenue in the electronics industry, which was lower than the prior year for the three-month period and relatively flat for the six-month period.
From a geographic perspective, revenue from customers based in the Americas decreased by 11% for the three-month period and 9% for the six-month period with the most significant decrease coming from the automotive industry. Revenue from customers based in Europe decreased by 40% for the three-month period and 29% for the six-month period also due to lower sales in the automotive industry, as well as in the electronics industry. Revenue from customers based in Greater China decreased by 11% for the three-month period due to lower sales from the automotive industry and were relatively flat for the six-month period, as lower revenue in the automotive industry was offset by higher revenue in the electronics industry. Revenue from other countries in Asia increased by 23% for the three-month period and 22% for the six-month period due to higher sales from the electronics industry.
As of the date of this report, we expect revenue for the third quarter of 2020 to be higher than both the second quarter of 2020 and the third quarter of 2019 due to anticipated higher revenue in the electronics industry. We expect COVID-19 to continue to adversely impact our revenue in the third quarter of 2020 as compared to the prior year outside of electronics, logistics ecommerce, and a few smaller industries, with the most notable adverse impact expected in the automotive industry. It is difficult for us to quantify this impact due to many factors beyond our control and knowledge, including changing governmental regulations and the scope and duration of social distancing and commerce restrictions, including access to customer facilities for on-site installations.

30


Gross Margin
Gross margin as a percentage of revenue was 70% and 73% for the three-month and six-month periods in 2020, respectively, compared to 74% for both periods in 2019. The decrease in the gross margin percentage was due to higher provisions for excess and obsolete inventories, which totaled $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, compared to $933,000 and $1,713,000 for the same periods in 2019. The higher level of provisions recorded in the three-month period ended June 28, 2020 was due to lower projected sales of excess inventories as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Gross margin as a percentage of revenue would be relatively consistent for all periods presented excluding the provisions for excess and obsolete inventories.
As of the date of this report, we expect gross margin as a percentage of revenue for the third quarter of 2020 to be similar to the percentage reported in the first half of 2019. Although we expect provisions for excess and obsolete inventory to be lower than the second quarter of 2020, we expect a greater percentage of revenue from application-specific customer solutions, which have relatively lower margins.
Operating Expenses
Research, development, and engineering (RD&E) expenses increased by $2,318,000, or 8%, for the three-month period and $8,022,000, or 14%, for the six-month period as detailed in the table below (in thousands).
Three-month periodSix-month period
RD&E expenses in 2019$28,079  $58,321  
Personnel-related costs1,405  3,033  
Acquisition deferred compensation1,310  2,620  
Incentive compensation1,601  2,549  
Travel expense(671) (771) 
Stock expense(1,130) (172) 
Other(197) 763  
RD&E expenses in 2020$30,397  $66,343  
RD&E expenses increased due to higher personnel-related costs primarily from headcount additions related to a team of deep learning engineers from the Company's acquisition of Sualab in the fourth quarter of 2019. The consideration for this acquisition included deferred payments that are being recorded as compensation expense over four years from the closing date, which accounted for an additional increase in RD&E expense of $1,310,000 for the three-month period and $2,620,000 for the six-month period. In addition, the Company recorded higher incentive compensation accruals for annual plans with relevant performance goals for 2020. We will continue to monitor the achievement of these performance goals for the remainder of the year due to the impact of COVID-19 on our business, among other factors, which may result in adjustments to our incentive compensation accruals in future quarters.
These increases were partially offset by lower travel expenses resulting from COVID-19 restrictions. We expect these restrictions to continue in the third quarter of 2020. The Company also recorded lower stock expense as a result of a lower total value of awards granted in 2020 as compared to 2019, as well as the impact on the timing of stock expense recognition from a shift in our compensation practices toward the granting of restricted stock units with cliff vesting. In addition, credits were recorded to stock expense in the second quarter of 2020 for awards cancelled as a result of a workforce reduction.
RD&E expenses as a percentage of revenue were 18% and 20% for the three-month and six-month periods in 2020, respectively, compared to 14% and 16% for the same periods in 2019. We believe that a continued commitment to RD&E activities is essential in order to maintain or achieve product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers. In addition, we consider our ability to accelerate time to market for new products to be critical to our revenue growth. Therefore, we expect to continue to make significant RD&E investments in the future, and currently intend to continue our product development plans during periods of lower revenue levels.
31


Selling, General, and Administrative Expenses
Selling, general, and administrative (SG&A) expenses decreased by $8,092,000, or 12%, for the three-month period and $5,765,000, or 4%, for the six-month period as detailed in the table below (in thousands).
Three-month periodSix-month period
SG&A expenses in 2019$68,245  $135,056  
Travel expense(4,843) (6,588) 
Foreign currency exchange rate changes(1,074) (1,857) 
Marketing programs(949) (1,231) 
Contract labor(636) (1,126) 
Stock expense(1,810) (25) 
Incentive compensation2,654  3,783  
Other(1,434) 1,279  
SG&A expenses in 2020$60,153  $129,291  

SG&A expenses decreased due to lower travel expenses resulting from COVID-19 restrictions. We expect these restrictions to continue in the third quarter of 2020. Foreign currency exchange rate changes also resulted in a lower level of SG&A expenses in 2020, as costs denominated in foreign currencies were translated to U.S. Dollars at a lower rate due to a relatively stronger U.S. Dollar. In addition, the Company reduced spending on marketing programs and contract labor in response to the lower business levels. The Company also recorded lower stock expense as a result of a lower total value of awards granted in 2020 as compared to 2019, as well as the impact on the timing of stock expense recognition from a shift in our compensation practices toward the granting of restricted stock units with cliff vesting. In addition, credits were recorded to stock expense in the second quarter of 2020 for awards cancelled as a result of a workforce reduction.
These decreases were partially offset by higher incentive compensation accruals for annual plans with relevant performance goals for 2020. We will continue to monitor the achievement of these performance goals for the remainder of the year due to the impact of COVID-19 on our business, among other factors, which may result in adjustments to our incentive compensation accruals in future quarters.
Restructuring Charges
On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures. The Company estimates the total restructuring charges from these actions to be approximately $16,445,000, of which $14,798,000 has been recorded in the second quarter. The remaining charges of approximately $1,647,000 are expected to be recognized during the second half of 2020, primarily in the third quarter.
The actions described above, together with actions already taken to reduce the Company's overall costs, were designed to generate an aggregate annualized cost savings of approximately $25,000,000 versus the Company's original planned cost structure. Management does not believe these cost-saving measures will impair the Company's ability to conduct its key business functions.
Intangible Asset Impairment Charges
The significant decline in business levels triggered a review of long-lived assets for potential impairment in the second quarter of 2020. This review resulted in intangible asset impairment charges totaling $19,571,000 recorded in the second quarter, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab as a result of the deteriorating global economic conditions from the COVID-19 pandemic.
32


Non-operating Income (Expense)
The Company recorded foreign currency gains of $336,000 and foreign currency losses of $2,667,000 for the three-month and six-month periods in 2020, respectively, compared to foreign currency gains of $140,000 and foreign currency losses of $108,000 for the same periods in 2019. Foreign currency gains and losses result primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another. The higher level of foreign currency losses for the six-month period in 2020 was primarily related to the revaluation of an intercompany balance that was created by the migration of acquired intellectual property from one subsidiary to another in the fourth quarter of 2019. This intercompany balance is expected to be settled in the third quarter of 2020.
Investment income decreased by $1,932,000, or 37%, for the three-month period and $1,608,000, or 16%, for the six-month period. The decrease was due to lower yields on the Company's portfolio of debt securities and a lower average invested balance.
The Company recorded other income of $203,000 and $20,000 for the three-month and six-month periods in 2020, respectively, compared to other expense of $144,000 and other income of $783,000 for the same periods in 2019. Other income (expense) includes fair value adjustments of contingent consideration liabilities arising from business acquisitions. The Company recorded a $1,060,000 decrease in the fair value of its GVi contingent consideration liability in the first quarter of 2019, resulting from a lower level of revenue in the Americas’ automotive industry.
Income Tax Expense
The Company’s effective tax rate was a benefit of 51% of pre-tax loss and an expense of 7% of pre-tax income for the three-month and six-month periods in 2020, respectively, compared to an expense of 14% and 12% of pre-tax income for the same periods in 2019.
The effective tax rate included a decrease in tax expense of $4,413,000 and $6,093,000 for the three-month and six-month periods in 2020, respectively, and $1,248,000 and $3,978,000 for the same periods in 2019, primarily from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock exercises. The Company cannot predict the level of stock option exercises by employees in future periods.
Other discrete tax items included an increase in tax expense of $3,267,000 and $3,509,000 for the three-month and six-month periods in 2020, respectively, primarily from the final true-up of the prior year's tax accrual upon filing the related tax return.
Excluding the impact of these discrete items, the Company’s effective tax rate was a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the three-month and six-month periods in 2020, respectively, compared to an expense of 17% and 16% of pre-tax income for the same periods in 2019. The increase in the effective tax rate, excluding the impact of discrete items, for the six-month period from 16% in 2019 to 19% in 2020 was due to more of the Company's profits being earned and taxed in higher tax jurisdictions. This adjustment to the effective tax rate resulted in an 18 percentage-point impact on the effective tax rate for the three-month period ended June 28, 2020.

Liquidity and Capital Resources
The Company has historically been able to generate positive cash flow from operations, which has funded its operating activities and other cash requirements and has resulted in an accumulated cash and investment balance of $896,192,000 as of June 28, 2020. The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.
The Company’s cash requirements for the six-month period ended June 28, 2020 were primarily met with positive cash flows from operations. Cash requirements consisted of operating activities, the repurchase of common stock, the payment of dividends, and capital expenditures. Capital expenditures for the six-month period ended June 28, 2020 totaled $6,985,000 and consisted primarily of computer hardware and software, manufacturing test equipment related to new product introductions, and improvements made to the Company's headquarters building in Natick, Massachusetts and various leased facilities. The Company intends to continue to invest in capital projects in the second half of 2020 despite the current lower business levels, particularly related to its management information systems, which we believe are important to support our longer-term growth objectives.
Our business has been adversely and materially impacted by deteriorating global economic conditions resulting from the COVID-19 pandemic. In order to more closely align our cost structure to the lower level of business, we implemented a variety of cost-cutting measures in the second quarter of 2020, including a workforce reduction and
33


office closures. The Company estimates the total restructuring charges from these actions to be approximately $16,445,000, of which $3,145,000 represents non-cash charges, $4,689,000 was paid in the second quarter of 2020, and the remainder is expected to be paid out in the second half of 2020, primarily in the third quarter.
In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of June 28, 2020, the Company repurchased 2,816,000 shares at a cost of $121,348,000 under this program, including 1,215,000 shares at a cost of $51,036,000 in the first quarter of 2020, leaving a remaining balance of $78,652,000. No shares were repurchased during the second quarter of 2020. On March 12, 2020 the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 program. The Company may repurchase shares under these programs in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee equity awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
The Company’s Board of Directors declared and paid cash dividends of $0.050 per share in the first, second, and third quarters of 2019. The dividend was increased to $0.055 per share in the fourth quarter of 2019, the first quarter of 2020, and the second quarter of 2020. Total dividends paid amounted to $18,972,000 for the six-month period ended June 28, 2020. Future dividends will be declared at the discretion of the Company’s Board of Directors and will depend upon such factors as the Board deems relevant including, among other things, the Company’s ability to generate positive cash flows from operations.
The Company believes that its existing cash and investment balances, together with cash flow from operations, will be sufficient to meet its operating, investing, and financing activities for the next twelve months. As of June 28, 2020, the Company had $896,192,000 in cash and investments. In addition, the Company has no long-term debt and does not anticipate needing debt financing in the near future. We believe that our strong cash position has put us in a relatively good position to maintain our liquidity during downturns in our business related to COVID-19 and with respect to our longer-term liquidity needs.

New Pronouncements
Refer to Part I - Note 2 within this Form 10-Q, for a full description of recently issued accounting pronouncements including the expected dates of adoption and the expected impact on the financial position and results of operations of the Company.

ITEM 3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK
There have been no material changes to the Company’s exposures to market risk since December 31, 2019.

ITEM 4: CONTROLS AND PROCEDURES
As required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, the Company has evaluated, with the participation of management, including the Chief Executive Officer and the Chief Financial Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Chief Financial Officer concluded that such disclosure controls and procedures were effective as of that date. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company’s systems evolve with its business.
There was no change in the Company's internal control over financial reporting that occurred during the quarter ended June 28, 2020 that has materially affected, or is reasonably likely to materially affect, the Company's internal control over financial reporting. We have considered the impact of COVID-19 on our internal controls over financial reporting.  Personnel constraints related to working from home have made our ability to execute certain controls more challenging; however, we have enhanced existing monitoring controls in an effort to ensure we continue to have effective internal controls during this time.
34


PART II: OTHER INFORMATION

ITEM 1. LEGAL PROCEEDINGS
Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.

ITEM 1A. RISK FACTORS
For a complete list of factors that could affect the Company’s business, results of operations, and financial condition, see the risk factors discussion provided in Part I—Item 1A of the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2019. The following information updates, and should be read in conjunction with, Part I - Item 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2019.
Our business has been, and is expected to continue to be, adversely affected by the recent COVID-19 pandemic.
The COVID-19 (also referred to as “coronavirus”) outbreak, which was first reported in China in the beginning of 2020, developed into a global pandemic in March 2020. The COVID-19 outbreak had a modest adverse impact on our business in the first quarter of 2020, primarily near the end of the quarter. This impact expanded and accelerated into the second quarter, as we noted lower demand for our products in certain industries, additional disruptions to our supply chain, longer customer delivery times, higher delivery costs, and further shutdowns of customer facilities.
We face several risks and uncertainties related to the impact of COVID-19 on our business. It is difficult for us to quantify the duration and severity of this impact due to many factors beyond our control and knowledge, including changing governmental regulations and the scope and duration of social distancing and commercial restrictions. These risks and uncertainties include, among others:
our customers may further delay or cancel orders for our products,
additional customer facilities may be shut down for extended periods of time, resulting in our inability to deliver products, perform on-site services, or make on-site sales visits,
our customers may not have sufficient cash flow or access to financing to purchase our products,
our customers may not pay us within agreed upon terms or may default on their payments altogether,
our vendors may be unable to fulfill their delivery obligations to us within acceptable lead times for extended periods of time, which may force us to seek alternative sources of supply at higher costs,
our contract manufacturers may experience interruptions that result in delivery delays and higher costs for our products,
we may experience manufacturing delays and higher costs in the event of a supply disruption from a single-source vendor,
we may experience extended customer delivery times and higher delivery costs,
our distribution centers in Natick, Massachusetts and Cork, Ireland may be forced to operate with a significantly reduced workforce or be forced to shut down altogether due to government regulations or health concerns,
our online sales and marketing efforts may be less effective than face-to-face activities, resulting in fewer customer acquisitions and lower sales from new products,
challenges involved in working from home may delay certain of our new product introductions,
lower demand for our products may result in charges for excess and obsolete inventory if we are unable to sell inventory that is either already on hand or committed to purchase,
lower cash flows may result in impairment charges for acquired intangible assets or goodwill,
our investment portfolio of debt securities may be exposed to material credit losses, and
a decline in our stock price may make stock-based awards a less attractive form of compensation and a less attractive form of retention for our employees.
35


These risks and uncertainties could have a material adverse effect on the continuity of our business and our results of operations and financial condition. The impact of COVID-19 also may exacerbate other risks discussed in Part I - Item 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2019, any of which could have a material adverse effect on our business, results of operations and financial condition. This situation is continuously changing and additional impacts on our business may arise of which we are not currently aware.
Our restructuring activities may result in disruption to our business and may not generate the anticipated cost savings.
In May 2020, our Board of Directors approved a restructuring plan intended to reduce our operating costs, optimize our business model, and address the impact of the COVID-19 pandemic. These actions, which include workforce reductions and office closures, were designed to generate an aggregate annualized cost savings of approximately $25,000,000 versus our original planned cost structure. Our ability to achieve the anticipated cost savings and other benefits from these actions within the expected timeframe is subject to many estimates and assumptions. These estimates and assumptions are subject to significant economic, competitive and other uncertainties, many of which are beyond our control. If these estimates and assumptions are incorrect, if we experience delays, or if other unforeseen events occur, our business and results of operations could be adversely affected. In addition, although we currently expect to continue to make investments in strategic areas, these restructuring actions may nevertheless negatively impact programs we believe are important to the long-term success of our company, such as the ability to accelerate time to market for new products. In addition, our ability to provide a high level of service to our customers may be negatively impacted by these actions, particularly in regions where we have downsized our operations.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
The following table sets forth information with respect to purchases by the Company of shares of its common stock during the three-month period ended June 28, 2020:
Total
Number
of Shares
Purchased
Average
Price Paid
per Share
Total Number of
Shares
Purchased as
Part of Publicly
Announced
Plans or
Programs (1)
Approximate
Dollar Value
of Shares that
May Yet Be
Purchased
Under the
Plans or
Programs (1)
March 30, 2020 - April 26, 2020—  $—  —  $278,652,000  
April 27, 2020 - May 24, 2020—  —  —  278,652,000  
May 25, 2020 - June 28, 2020—  —  —  278,652,000  
Total—  $—  —  $278,652,000  
(1) In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Purchases under this program commenced in October 2018. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock.  This new authorization will commence once the Company completes the October 2018 program, with repurchases subject to market conditions and other relevant factors. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.

ITEM 3. DEFAULTS UPON SENIOR SECURITIES
None.

ITEM 4. MINE SAFETY DISCLOSURES
Not applicable.

ITEM 5. OTHER INFORMATION
None.
36


 ITEM 6. EXHIBITS
Exhibit Number
31.1  
31.2  
32.1  
32.2  
101.SCHInline XBRL Taxonomy Extension Schema Document*
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document*
101.LABInline XBRL Taxonomy Extension Label Linkbase Document*
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document*
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document*
104Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)
*Filed herewith
**Furnished herewith

37


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.
 
Date:July 29, 2020 COGNEX CORPORATION
 By:/s/ Robert J. Willett
 Robert J. Willett
 President and Chief Executive Officer
 (Principal Executive Officer)
 By:/s/ Paul D. Todgham
 Paul D. Todgham
 Senior Vice President of Finance and Chief Financial Officer
 (Principal Financial Officer)

38
EX-31.1 2 a6282020-10qxexhibit311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, Robert J. Willett, certify that:
1 I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
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:July 29, 2020 By: /s/ Robert J. Willett
  Robert J. Willett
  President and Chief Executive Officer
(Principal Executive Officer)

EX-31.2 3 a6282020-10qxexhibit312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Paul D. Todgham, certify that:
1 I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
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:July 29, 2020 By: /s/ Paul D. Todgham
  Paul D. Todgham
  Senior Vice President of Finance and Chief Financial Officer
(Principal Financial Officer)

EX-32.1 4 a6282020-10qxexhibit321.htm EX-32.1 Document

Exhibit 32.1*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended June 28, 2020 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
Date:July 29, 2020 By:/s/ Robert J. Willett
 Robert J. Willett
 President and Chief Executive Officer
 (Principal Executive Officer)
 




























*This certification shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.

EX-32.2 5 a6282020-10qxexhibit322.htm EX-32.2 Document

Exhibit 32.2*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended June 28, 2020 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
Date:July 29, 2020 By:/s/ Paul D. Todgham
 Paul D. Todgham
 Senior Vice President of Finance and Chief Financial Officer
 (Principal Financial Officer)
 


























*This certification shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.

EX-101.SCH 6 cgnx-20200628.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0001001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 1001002 - Statement - Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 1002003 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1004005 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 1005006 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1006007 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 1007008 - Statement - Consolidated Statement of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 2101101 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2103102 - Disclosure - New Pronouncements link:presentationLink link:calculationLink link:definitionLink 2104103 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 2305301 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 2407402 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 2108104 - Disclosure - Cash, Cash Equivalents, and Investments link:presentationLink link:calculationLink link:definitionLink 2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) link:presentationLink link:calculationLink link:definitionLink 2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2414407 - Disclosure - Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2415408 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2116105 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 2317303 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 2418409 - Disclosure - Inventories - Schedule of Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 2419410 - Disclosure - Inventories - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2120106 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 2321304 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 2422411 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2423412 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 2124107 - Disclosure - Goodwill (Notes) link:presentationLink link:calculationLink link:definitionLink 2325305 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 2426413 - Disclosure - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2127108 - Disclosure - Intangible Assets link:presentationLink link:calculationLink link:definitionLink 2328306 - Disclosure - Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 2429414 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2429414 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2130109 - Disclosure - Warranty Obligations link:presentationLink link:calculationLink link:definitionLink 2331307 - Disclosure - Warranty Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 2432415 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) link:presentationLink link:calculationLink link:definitionLink 2133110 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 2334308 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2435416 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2436417 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details) link:presentationLink link:calculationLink link:definitionLink 2437418 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 2438419 - Disclosure - Derivative Instruments - Offsetting Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2439420 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) link:presentationLink link:calculationLink link:definitionLink 2140111 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 2341309 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 2442421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) link:presentationLink link:calculationLink link:definitionLink 2443422 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) link:presentationLink link:calculationLink link:definitionLink 2444423 - Disclosure - Revenue Recognition - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 2445424 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details) link:presentationLink link:calculationLink link:definitionLink 2446425 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2147112 - Disclosure - Stock-Based Compensation Expense link:presentationLink link:calculationLink link:definitionLink 2348310 - Disclosure - Stock-Based Compensation Expense (Tables) link:presentationLink link:calculationLink link:definitionLink 2449426 - Disclosure - Stock-Based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 2450427 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2451428 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) link:presentationLink link:calculationLink link:definitionLink 2452429 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 2453430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) link:presentationLink link:calculationLink link:definitionLink 2154113 - Disclosure - Stock Repurchase Program link:presentationLink link:calculationLink link:definitionLink 2455431 - Disclosure - Stock Repurchase Program (Details) link:presentationLink link:calculationLink link:definitionLink 2156114 - Disclosure - Taxes link:presentationLink link:calculationLink link:definitionLink 2357311 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2458432 - Disclosure - Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details) link:presentationLink link:calculationLink link:definitionLink 2459433 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 2160115 - Disclosure - Weighted-Average Shares link:presentationLink link:calculationLink link:definitionLink 2361312 - Disclosure - Weighted-Average Shares (Tables) link:presentationLink link:calculationLink link:definitionLink 2462434 - Disclosure - Weighted-Average Shares (Details) link:presentationLink link:calculationLink link:definitionLink 2463435 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) link:presentationLink link:calculationLink link:definitionLink 2164116 - Disclosure - Restructuring Charges link:presentationLink link:calculationLink link:definitionLink 2365313 - Disclosure - Restructuring Charges (Tables) link:presentationLink link:calculationLink link:definitionLink 2466436 - Disclosure - Restructuring Charges - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2467437 - Disclosure - Restructuring Charges - Summary (Details) link:presentationLink link:calculationLink link:definitionLink 2468438 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details) link:presentationLink link:calculationLink link:definitionLink 2169117 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 2470439 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 cgnx-20200628_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 cgnx-20200628_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 cgnx-20200628_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Granted (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Outstanding, in dollars Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Other income (expense) Other Nonoperating Income (Expense) Other comprehensive income, net of tax: Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] Changes in Warranty Obligations Schedule of Product Warranty Liability [Table Text Block] Hungary, Forint Hungary, Forint Workforce reduction (as a percent) Restructuring and Related Cost, Number of Positions Eliminated, Inception to Date Percent Cash, Cash Equivalents, and Investments Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block] Vested (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value In-process technologies In Process Research and Development [Member] Greater China CHINA Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Fair Value, Inputs, Level 3 Fair Value, Inputs, Level 3 [Member] Repurchase of common stock (in shares) Repurchase of common stock (in shares) Stock Repurchased During Period, Shares Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma Other Current Assets Other Current Assets [Member] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Derivative asset Net amount of assets presented Derivative Asset Warranty Obligations Product Warranty Disclosure [Text Block] Statistical Measurement [Domain] Statistical Measurement [Domain] LIABILITIES AND SHAREHOLDERS’ EQUITY Liabilities and Equity [Abstract] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Deferred income taxes Deferred Income Tax Liabilities, Net Derivative Instruments Derivative Instruments and Hedging Activities Disclosure [Text Block] Current Fiscal Year End Date Current Fiscal Year End Date Operating income (loss) Operating Income (Loss) Entity Address, Postal Zip Code Entity Address, Postal Zip Code Total current liabilities Liabilities, Current Performance Shares Performance Shares [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Interest and penalties included in reserve Increase Decrease Interest And Penalties Increase decrease interest and penalties. Nonvested as of December 31, 2019 (in dollars per share) Nonvested as of March 29, 2020 (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Long-term investments Debt Securities, Available-for-sale, Noncurrent Repurchase of common stock Payments for Repurchase of Common Stock ASSETS Assets [Abstract] Vesting period for stock option plans Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Accounting Policies [Abstract] Accounting Policies [Abstract] Entity Shell Company Entity Shell Company Vested (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Cover [Abstract] Cover [Abstract] Operating lease, payments Operating Lease, Payments Accounts payable Accounts Payable, Current Foreign exchange rate changes Goodwill, Foreign Currency Translation Gain (Loss) Document Type Document Type Other Asia Asia, Excluding China [Member] Asia, Excluding China [Member] Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Long-Term Investments Long Term Investments [Member] Long-term investments. Retained earnings Retained Earnings (Accumulated Deficit) Operating lease assets Operating lease, right-of-use asset Operating Lease, Right-of-Use Asset Money market instruments Money Market Funds, at Carrying Value Sovereign bonds Sovereign Debt [Member] Outstanding, shares Outstanding, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number 2023 Lessee, Operating Lease, Liability, to be Paid, Year Four Assets and Liabilities Measured at Fair Value on a Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Unrecognized compensation expense Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Fair value adjustment Liabilities, Fair Value Adjustment Balance as of December 31, 2019 Balance as of June 28, 2020 Deferred Revenue Basic (usd per share) Income (Loss) from Continuing Operations, Per Diluted Share Hedging Designation [Domain] Hedging Designation [Domain] Lease, cost Lease, Cost Schedule of Allowance for Credit Loss Activity Debt Securities, Available-for-sale, Allowance for Credit Loss [Table Text Block] Available-for-sale investments: Other Comprehensive Income (Loss), Net of Tax [Abstract] Document Quarterly Report Document Quarterly Report Non-cash restructuring charges Restructuring Reserve, Settled without Cash Exercisable as of reporting date, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Common stock, par value Common Stock, Par or Stated Value Per Share Other liabilities Other Liabilities, Noncurrent Deferred income taxes Deferred Income Tax Assets, Net Forfeited or expired, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price Investment income Investment Income, Nonoperating Work-in-process Inventory, Work in Process, Net of Reserves Stock-based compensation expense APIC, Share-based Payment Arrangement, Increase for Cost Recognition Gross amounts offset Derivative Asset, Collateral, Obligation to Return Cash, Offset Liability for uncertain tax positions Liability For Uncertain Tax Positions Liability for uncertain tax positions, total. Effect of foreign exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Forfeited or expired, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period Inventories Inventories Inventory, Net Unbilled revenue Unbilled Receivables, Current GVi Ventures, Inc. [Member] GVi Ventures, Inc. [Member] GVi Ventures, Inc. [Member] Revenue Revenue from Contract with Customer, Excluding Assessed Tax Measurement Frequency [Domain] Measurement Frequency [Domain] Entity File Number Entity File Number Business Acquisition [Axis] Business Acquisition [Axis] Geographical [Domain] Geographical [Domain] Singapore, Dollars Singapore, Dollars Statement [Line Items] Statement [Line Items] Change in deferred income taxes Increase (Decrease) in Deferred Income Taxes Derivative Instruments and Hedging Activities Disclosures [Line Items] Derivative Instruments and Hedging Activities Disclosures [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus Statement [Table] Statement [Table] Write-offs Accounts Receivable, Allowance for Credit Loss, Writeoff Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Type of Restructuring [Domain] Type of Restructuring [Domain] Statistical Measurement [Axis] Statistical Measurement [Axis] Foreign Currency Gain (Loss) Foreign Currency Gain (Loss) [Member] Gross amounts offset Derivative Liability, Collateral, Right to Reclaim Cash, Offset Discrete tax expense related to tax return filings Discrete tax expense related to tax return filings (as a percent) Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent Calculation of Weighted-Average Shares Schedule of Weighted Average Number of Shares [Table Text Block] Credit loss on investments Financing Receivable, Allowance for Credit Loss, Writeoff, after Recovery Foreign Tax Authority Foreign Tax Authority [Member] Restructuring and Related Activities [Abstract] Derivative Instruments and Hedging Activities Disclosures [Table] Derivative Instruments and Hedging Activities Disclosures [Table] Increase (Decrease) in Stockholders' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Exercisable, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Sualab [Member] Sualab [Member] Sualab Share Repurchase Program [Domain] Share Repurchase Program [Domain] Discrete tax benefit related to stock options Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent Goodwill [Roll Forward] Goodwill [Roll Forward] Weighted-average common and common-equivalent shares outstanding: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Interest and penalties, gross Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued Business Combination, Contingent Consideration, Liability Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Amendment Flag Amendment Flag Shares available for grant under stock option plans Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Cash flow hedges: Cash flows hedges [Abstract] Cash flows hedges [Abstract] Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Measurement Frequency [Axis] Measurement Frequency [Axis] Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 Debt Securities, Available-for-sale, Current Total fair values of stock options vest Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value Share based compensation arrangement by share based payment award options vested fair value. Financial Instruments [Domain] Financial Instruments [Domain] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Mexico, Pesos Mexico, Pesos Gains (losses) recognized in current operations Derivative, Gain (Loss) on Derivative, Net Offsetting Assets Offsetting Assets [Table Text Block] Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Fair value, 12 months or greater Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer Excess and obsolete inventory charges Excess and Obsolete Inventory Charges Excess and Obsolete Inventory Charges Geographical [Axis] Geographical [Axis] Subsequent Events Subsequent Events [Text Block] Issuance of common stock under stock plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period Local Phone Number Local Phone Number Amortized cost Debt Securities, Available-for-sale, Amortized Cost Gross unrealized gains Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Effect of dilutive equity awards Weighted Average Number Diluted Shares Outstanding Adjustment Revenue from External Customers by Products and Services Revenue from External Customers by Products and Services [Table Text Block] Income Statement Location [Axis] Income Statement Location [Axis] Reserves for accounts receivable Accounts Receivable, Allowance for Credit Loss, Current Income Statement Location [Domain] Income Statement Location [Domain] 2021 Lessee, Operating Lease, Liability, to be Paid, Year Two Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Summary of Available-for-Sale Investments Schedule of Available-for-sale Securities Reconciliation [Table Text Block] Accounts Receivable Receivable [Policy Text Block] Selling, general, and administrative expenses Selling, General and Administrative Expense Amortization of intangible assets Amortization of Intangible Assets Customer relationships Customer Contracts And Relationships [Member] Customer Contracts And Relationships [Member] Entity Current Reporting Status Entity Current Reporting Status 2022 Lessee, Operating Lease, Liability, to be Paid, Year Three Other assets Other Assets, Noncurrent Plan Name [Axis] Plan Name [Axis] Tax credit Effective Income Tax Rate Reconciliation, Tax Credit, Percent Reserve for income taxes classified an noncurrent deferred tax assets Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward. Realized gain on sale of investments Gain (Loss) on Sale of Investments Total assets Assets Nonvested as of December 31, 2019 (in shares) Nonvested as of March 29, 2020 (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number Intangible assets, net Net Carrying Value Finite-Lived Intangible Assets, Net Weighted-average grant-date fair values, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Accrued income taxes Accrued Income Taxes, Current Subsequent Event Type [Axis] Subsequent Event Type [Axis] Net unrealized gain (loss), net of tax of ($836) and $239 in the three-month periods and net of tax of ($1,788) and $507 in the six-month periods, respectively Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Antidilutive Securities [Axis] Antidilutive Securities [Axis] Korean Won Korea (South), Won Groups within the employee population Number Of Groups Within Employee Population Number of groups within employee population. 2-3 years Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value Available-for-sale securities, debt maturities after second year but before third year, fair value. Entity Small Business Entity Small Business Tax effect of unrealized gain (loss) on available-for-sale investments OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax Japanese Yen Japan, Yen Entity Filer Category Entity Filer Category Short-Term Investments Short-term Investments [Member] Application-Specific Customer Solutions Application-Specific Customer Solutions [Member] Application-Specific Customer Solutions [Member] Non-compete agreements Other Intangible Assets [Member] Product and Service [Axis] Product and Service [Axis] Total liabilities Liabilities Income Tax Contingency [Line Items] Income Tax Contingency [Line Items] Canada, Dollars Canada, Dollars Reserve for income taxes Reserve for income taxes classified as a noncurrent iability Liability for Uncertainty in Income Taxes, Noncurrent Entity Address, City or Town Entity Address, City or Town Investment Type [Axis] Investment Type [Axis] Other associated costs Other Associated Costs Other Restructuring [Member] Expected volatility Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate Options vested or expected to vest, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Total fair value Debt Securities, Available-for-sale, Unrealized Loss Position Quoted Prices in Active Markets for Identical Assets (Level 1) Fair Value, Inputs, Level 1 [Member] Inventories Increase (Decrease) in Inventories Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Document Fiscal Year Focus Document Fiscal Year Focus Fair value, less than 12 months Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months Accounts payable Increase (Decrease) in Accounts Payable Shares (in thousands) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Raw materials Inventory, Raw Materials, Net of Reserves Other Increase (Decrease) in Other Operating Assets and Liabilities, Net Cash dividends per common share (usd per share) Common Stock, Dividends, Per Share, Cash Paid Additional Paid-in Capital Additional Paid-in Capital [Member] Carrying value operating lease right-of-use assets impaired Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Increase in reserves for income taxes, net of deferred tax benefit Income Tax Examination, Increase (Decrease) in Liability from Prior Year Accrued expenses Increase (Decrease) in Accrued Liabilities Derivative liability Net amount of liabilities presented Derivative Liability Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Economic hedge forward contracts Foreign Currency Contract, Asset, Fair Value Disclosure Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Net change related to available-for-sale investments Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] 2025 Lessee, Operating Lease, Liability, Payments, Due Year Six Lessee, Operating Lease, Liability, Payments, Due Year Six Research, development, and engineering expenses Research and Development Expense Foreign exchange rate changes Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment Subsequent Event Subsequent Event [Member] Other Effective Income Tax Rate Reconciliation, Other Adjustments, Percent Outstanding, shares Outstanding, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Domestic Tax Authority Domestic Tax Authority [Member] Tax years open to examination by various taxing authorities for other entities Income Tax Examination Years Under Examination Other Entities The tax year(s) being audited in connection with the income tax examination for other entities. Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward] Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward] Common stock, shares authorized Common Stock, Shares Authorized Revenue from External Customers by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] 3-4 years Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value Available-for-sale securities, debt maturities after third year but before fourth year, fair value. Document Period End Date Document Period End Date Entity Registrant Name Entity Registrant Name Economic hedge forward contracts Foreign Currency Contracts, Liability, Fair Value Disclosure Income Statement [Abstract] Income Statement [Abstract] Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Standard Products and Services Standard Products and Services [Member] Standard Products and Services [Member] Effective Maturity Dates of Available-for-Sale Investments Investments Classified by Contractual Maturity Date [Table Text Block] Operating Lease, Liability, Noncurrent Operating lease, liability, noncurrent Operating Lease, Liability, Noncurrent 2024 Finite-Lived Intangible Asset, Expected Amortization, Year Four Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Accrued interest receivable Interest Receivable Current assets: Assets, Current [Abstract] Income Tax Authority [Domain] Income Tax Authority [Domain] Weighted average period to be recognized Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Dividends (in dollars per share) Dividends Minimum decrease in income tax expense due to release in reserves Minimum Decrease In Income Tax Expense Due To Release In Reserves Minimum decrease in income tax expense due to release in reserves. Remaining authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Expected dividend yield Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate Effective tax rate excluding discrete items (as a percent) Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Purchases of property, plant, and equipment Payments to Acquire Property, Plant, and Equipment Income Tax Authority [Axis] Income Tax Authority [Axis] Entity Tax Identification Number Entity Tax Identification Number Contingent consideration liabilities Business Combination, Contingent Consideration, Liability Balance as of December 31, 2019 Balance as of June 28, 2020 Debt Securities, Available-for-sale, Allowance for Credit Loss Total unrealized losses Debt Securities, Available-for-sale, Unrealized Loss Position, Accumulated Loss Authorized common stock to be repurchased Stock Repurchase Program, Authorized Amount Estimated annual forfeiture rate for unvested options for senior management Estimated Forfeiture Rate For Unvested Options For Senior Management Estimated forfeiture rate for unvested options for senior management. Income (loss) before income tax expense (benefit) Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Trading Symbol Trading Symbol Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Hedging Designation [Axis] Hedging Designation [Axis] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Gross realized losses on sale of investments Available-for-sale Securities, Gross Realized Losses Operating lease asset impairment charges Operating Lease, Impairment Loss Selling, General, and Administrative Selling General And Administrative [Member] Selling, general, and administrative. Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Product Warranties Disclosures [Abstract] Product Warranties Disclosures [Abstract] Repurchase of common stock Stock repurchased during period, value Stock Repurchased During Period, Value Total Cash Cash Equivalents Short Term And Long Term Investments Cash, cash equivalents, short term and long term investments. Recognition of revenue Deferred Revenue, Revenue Recognized Schedule of Restructuring Charges Restructuring and Related Costs [Table Text Block] Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Intangible Assets Intangible Assets Disclosure [Text Block] Remaining maturity of foreign currency derivatives (up to) Maximum Remaining Maturity of Foreign Currency Derivatives Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Unbilled revenue Increase (Decrease) in Contract with Customer, Liability Leases Lessee, Operating Leases [Text Block] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Deferred revenue and customer deposits Increase (Decrease) in Deferred Revenue Amortization of discounts or premiums on investments Accretion (Amortization) of Discounts and Premiums, Investments Accrued income taxes Increase (Decrease) in Accrued Taxes Payable City Area Code City Area Code Deferred Revenue, by Arrangement, Disclosure Deferred Revenue, by Arrangement, Disclosure [Table Text Block] Cost of revenue Cost of Goods and Services Sold Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Financial assets at fair value Fair value Fair value Debt Securities, Available-for-sale Reclassification of net realized (gain) loss into current operations Reclassification of net realized (gain) loss on the sale of available-for-sale investments Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Equity Components [Axis] Equity Components [Axis] Title of 12(b) Security Title of 12(b) Security Gross realized gains on sale of investments Available-for-sale Securities, Gross Realized Gains Restricted Stock Restricted Stock [Member] Fulfillment of warranty obligations Standard and Extended Product Warranty Accrual, Decrease for Payments Finished goods Inventory, Finished Goods, Net of Reserves Share-based Payment Arrangement [Abstract] Share-based Payment Arrangement [Abstract] Minimum Minimum [Member] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Schedule of Allowance for Credit Loss Activity Accounts Receivable, Allowance for Credit Loss [Table Text Block] Revenue from External Customer [Line Items] Revenue from External Customer [Line Items] Operating lease liabilities Operating lease, liability, current Operating Lease, Liability, Current Beginning balance Ending balance Standard and Extended Product Warranty Accrual Europe Europe [Member] Income Tax Authority, Name [Domain] Income Tax Authority, Name [Domain] Derivative Instruments, Gain (Loss) Derivative Instruments, Gain (Loss) [Table Text Block] Forfeited or expired (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Asset-Backed Securities Asset-backed Securities [Member] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Non-current accrued income taxes Accrued Income Taxes Schedule of Derivative Instruments in Statement of Financial Position, Fair Value Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block] Corporate Bonds Corporate Bond Securities [Member] Exercised, in dollars per share Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Thereafter Lessee, Operating Lease, Liability, Payments, Due after Year Six Lessee, Operating Lease, Liability, Payments, Due after Year Six Accrued Expenses Accrued Expenses [Member] Accrued expenses. Fair Value Measurements Fair Value Disclosures [Text Block] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Stock Repurchase Program Stockholders' Equity Note Disclosure [Text Block] Aggregate Intrinsic Value (in thousands) Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract] ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract] Summary of Stock Option Activity Share-based Payment Arrangement, Option, Activity [Table Text Block] Outstanding Forward Contracts Table Outstanding Forward Contracts [Table Text Block] Outstanding forward contracts table. Derivatives, Fair Value [Line Items] Derivatives, Fair Value [Line Items] Remainder of fiscal 2020 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year United Kingdom, Pounds United Kingdom, Pounds Additional paid-in capital Additional Paid in Capital, Common Stock Foreign exchange rate changes Restructuring Reserve, Foreign Currency Translation Gain (Loss) Estimated annual forfeiture rate for unvested options for all other employees Estimated Forfeiture Rate For Unvested Options For All Non Senior Management Estimated forfeiture rate for unvested options for all non-senior management. 1-2 years Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities. Subsequent Event Type [Domain] Subsequent Event Type [Domain] Derivative [Table] Derivative [Table] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Assets: Assets, Fair Value Disclosure [Abstract] Options vested or expected to vest as of reporting date, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Weighted- Average Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Contract termination costs Contract Termination Costs Contract Termination [Member] Revaluation of contingent consideration Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Provisions for warranties issued during the period Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Payment of dividends Payments of Ordinary Dividends, Common Stock Research, Development, and Engineering Expenses Research and Development Expense [Member] Not Designated as Hedging Instrument Not Designated as Hedging Instrument [Member] Accounts receivable, less reserves of $2,235 and $1,821 in 2020 and 2019, respectively Accounts Receivable, after Allowance for Credit Loss, Current Total Lessee, Operating Lease, Liability, to be Paid Reclassification of credit loss on investments Reclassification of credit (recovery) loss on investments Reclassification of credit loss on investments Other-than-temporary Impairment Loss, Debt Securities, Available-for-sale Balance at beginning of period Balance at end of period Restructuring Reserve One-time termination benefits One-time Termination Benefits One-time Termination Benefits [Member] Accounting Standards Update [Axis] Accounting Standards Update [Axis] Rental income Operating Lease, Lease Income Restructuring Charges Restructuring Charges [Member] Gross unrealized losses Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax Increase (decrease) to compensation expense Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates Increase (decrease) in compensation expense due to revised estimated forfeiture rates. Trademarks Trademarks [Member] Stock-Based Compensation Expense Compensation Related Costs, General [Text Block] Restructuring Type [Axis] Restructuring Type [Axis] Cash payments Payments for Restructuring Cash Cash Goodwill Balance as of December 31, 2019 Balance as of December 31, 2019 Goodwill Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-sale [Line Items] Certificate Of Deposit, Fair Value Disclosure Certificate Of Deposit, Fair Value Disclosure Certificate Of Deposit, Fair Value Disclosure 1 year or less Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Other comprehensive income, net of tax Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Unrealized losses, 12 months or greater Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Repurchase Program October 2018 Repurchase Program October 2018 [Member] Repurchase Program October 2018 [Member] Gross amounts of recognized assets Derivative Asset, Fair Value, Gross Asset 4-5 years Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value. Costs to fulfill contract Capitalized Contract Cost, Gross Significant Other Observable Inputs (Level 2) Fair Value, Inputs, Level 2 [Member] General Stock Option Plan General Stock Option Plan [Member] General stock option plan. Liabilities: Liabilities, Fair Value Disclosure [Abstract] Schedule of Goodwill Schedule of Goodwill [Table Text Block] Equity [Abstract] Equity [Abstract] Outstanding forward contracts Derivative Asset, Notional Amount Entity Central Index Key Entity Central Index Key Deferred revenue and customer deposits Contract with Customer, Liability, Current Entity Emerging Growth Company Entity Emerging Growth Company Subsequent Event [Line Items] Subsequent Event [Line Items] Granted, in dollars per share Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price New Pronouncements Accounting Standards Update and Change in Accounting Principle [Text Block] Schedule of Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Diluted (shares) Weighted-average common and common-equivalent shares outstanding Weighted Average Number of Shares Outstanding, Diluted Foreign exchange rate changes Deferred Revenue, Foreign Currency Exchange Adjustment Deferred Revenue, Foreign Currency Exchange Adjustment Expected term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term Forfeited or expired (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Weighted average remaining lease term Operating Lease, Weighted Average Remaining Lease Term Revenue Commissioners, Ireland Revenue Commissioners, Ireland [Member] State Administration of Taxation, China State Administration of Taxation, China [Member] Common stock, $.002 par value – Authorized: 300,000 shares in 2020 and 2019, respectively, issued and outstanding: 173,047 and 172,440 shares in 2020 and 2019, respectively Common Stock, Value, Outstanding Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Stock-based compensation expense Share-based Payment Arrangement, Expense Balance Sheet Location [Axis] Balance Sheet Location [Axis] Tax effect of foreign currency translation adjustment OCI, Foreign Currency Transaction and Translation Gain (Loss), Arising During Period, Tax Non-current investments, amortized cost of $461,948 and $431,633 in 2020 and 2019, respectively, allowance for expected credit losses of $75 and $0 in 2020 and 2019, respectively Long-term Investments Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks Finite-Lived Intangible Assets [Line Items] 2022 Finite-Lived Intangible Asset, Expected Amortization, Year Two Tax benefit from compensation expense Share-based Payment Arrangement, Expense, Tax Benefit Taiwanese Dollar Taiwan, New Dollars Total Amount Expected to be Incurred Restructuring and Related Cost, Expected Cost All Currencies [Domain] All Currencies [Domain] Subsequent Event [Table] Subsequent Event [Table] Tax rate adjustment Tax rate adjustment (as a percent) Effective Income Tax Rate Reconciliation, Tax Rate Adjustments, Percent Effective Income Tax Rate Reconciliation, Tax Rate Adjustments, Percent Stock-based compensation expense Stock or Unit Option Plan Expense Granted (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Common stock, shares issued Beginning Balance (in shares) Ending Balance (in shares) Common Stock, Shares, Issued Cash and cash equivalents Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Revenue from External Customers by Products and Services [Table] Revenue from External Customers by Products and Services [Table] Components of Cash, Cash Equivalents, and Investments Components Of Cash Cash Equivalents And Investments [Table Text Block] Components of cash cash equivalents and investments. Operating Lease, Liability Operating Lease, Liability Share Repurchase Program [Axis] Share Repurchase Program [Axis] Accounts receivable Increase (Decrease) in Accounts Receivable Total shareholders’ equity Beginning Balance Ending Balance Stockholders' Equity Attributable to Parent Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Distribution networks Distribution Rights [Member] Total liabilities and shareholders' equity Liabilities and Equity Accumulated other comprehensive loss, net of tax Accumulated Other Comprehensive Income (Loss), Net of Tax Income Taxes Income Tax Disclosure [Text Block] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Restricted Stock Units (RSUs) Restricted Stock Units (RSUs) [Member] Operating lease, cost Operating Lease, Cost 2024 Lessee, Operating Lease, Liability, to be Paid, Year Five Financial Instrument [Axis] Financial Instrument [Axis] Accounting Standards Update [Domain] Accounting Standards Update [Domain] Anti-dilutive securities excluded from computation of earnings per share (shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Maturities and sales of investments Proceeds from Sale, Maturity and Collection of Investments Equity Component [Domain] Equity Component [Domain] Entity Address, Address Line One Entity Address, Address Line One Schedule of Available-for-sale Securities [Table] Schedule of Available-for-sale Securities [Table] Gross margin Gross Profit Property, plant, and equipment, net Property, Plant and Equipment, Net 2023 Finite-Lived Intangible Asset, Expected Amortization, Year Three Net Income Net income Net Income (Loss) Attributable to Parent Entity Address, State or Province Entity Address, State or Province Remainder of fiscal 2019 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Inventories Inventory Disclosure [Text Block] Leases [Abstract] Leases [Abstract] Share repurchased (in shares) Stock Repurchase Program, Aggregate Number of Shares Repurchased Stock Repurchase Program, Aggregate Number of Shares Repurchased Total current assets Assets, Current Goodwill Goodwill Disclosure [Text Block] Earnings Per Share [Abstract] Earnings Per Share [Abstract] Income Tax Authority, Name [Axis] Income Tax Authority, Name [Axis] Restructuring charges (Note 16) Incurred in the Three-months Ended June 28, 2020 Restructuring charges Restructuring Charges Expiration period from grant day Expiration Period Of Stock Option Plan Expiration period of stock option plan. Foreign currency translation adjustments: Currency translation adjustments [Abstract] Currency translation adjustments [Abstract] State income taxes, net of federal benefit Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent Shareholders’ equity: Stockholders' Equity Attributable to Parent [Abstract] Intangible assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill Completed technologies Developed Technology Rights [Member] Cash and Cash Equivalents [Abstract] Cash and Cash Equivalents [Abstract] Entity Interactive Data Current Entity Interactive Data Current Shares (in thousands) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Five Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Maximum decrease in income tax expense due to release in reserves Maximum Decrease In Income Tax Expense Due To Release In Reserves Maximum decrease in income tax expense due to release in reserves. Euro Member Countries, Euro Euro Member Countries, Euro Certificate of deposit Certificates of Deposit [Member] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Granted, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Common Stock Common Stock [Member] Product and Service [Domain] Product and Service [Domain] Foreign tax rate differential Decrease in effective tax rate Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent Sovereign Bonds Sovereign Debt Securities [Member] Payment of dividends Dividends, Cash Treasury Bills US Treasury Securities [Member] Class of Treasury Stock [Table] Class of Treasury Stock [Table] EnShape GmbH [Member] EnShape GmbH [Member] EnShape GmbH Gross Carrying Value Finite-Lived Intangible Assets, Gross Other Income (Expense) Other Nonoperating Income (Expense) [Member] Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low Chiaro Technologies LLC [Member] Chiaro Technologies LLC [Member] Chiaro Technologies LLC [Member] Unrealized losses, less than 12 months Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Expected number of positions eliminated Restructuring and Related Cost, Expected Number of Positions Eliminated Credit losses on accounts receivable Increases to the allowance for credit losses Accounts Receivable, Credit Loss Expense (Reversal) Municipal Bonds Municipal Bonds [Member] Preferred Stock, Value, Outstanding Preferred Stock, Value, Outstanding Options vested or expected to vest, in dollars Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Currency [Axis] Currency [Axis] Net income (loss) per weighted-average common and common-equivalent share: Earnings Per Share, Diluted [Abstract] Exercised, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Net change in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Lessee, Operating Lease, Liability, Maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Employee Stock Option Share-based Payment Arrangement, Option [Member] Equity, Class of Treasury Stock [Line Items] Equity, Class of Treasury Stock [Line Items] Basic (shares) Basic weighted-average common shares outstanding Weighted Average Number of Shares Outstanding, Basic Credits related to grants cancelled Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Severance Payments Risk-free rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Write-offs Debt Securities, Available-for-sale, Allowance for Credit Loss, Writeoff Subsequent Events [Abstract] Subsequent Events [Abstract] Indefinite-lived intangible asset excluding in-process technologies Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member] Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member] Foreign currency translation adjustments Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Plan Name [Domain] Plan Name [Domain] Revenue Recognition Revenue from Contract with Customer [Text Block] Gross recoveries Decreases to the allowance for credit losses Debt Securities, Available-for-sale, Allowance for Credit Loss, Recovery Recognized period costs capitalized Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount Employee service share based compensation recognized period costs capitalized amount. 2021 Finite-Lived Intangible Asset, Expected Amortization, Year One Cash, Cash Equivalents, and Investments Cash and Cash Equivalents, Policy [Policy Text Block] Foreign currency gain (loss) Foreign Currency Transaction Gain (Loss), before Tax Income tax expense (benefit) Income Tax Expense (Benefit) Schedule of Nonvested Restricted Stock Units Activity Schedule of Nonvested Restricted Stock Units Activity [Table Text Block] Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Intangible asset impairment charges (Note 8) Intangible asset impairment charges Impairment of Intangible Assets (Excluding Goodwill) Accrued expenses Accrued Liabilities, Current Diluted (usd per share) Earnings Per Share, Diluted Repurchase Program March 2020 Repurchase Program March 2020 [Member] Repurchase Program March 2020 [Member] Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivative Instruments and Hedging Activities Disclosure [Abstract] Americas Americas [Member] Total intrinsic value Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value Shares based compensation arrangement by shares based payment award options exercisable intrinsic value. Movement in Deferred Revenue [Roll Forward] Movement in Deferred Revenue [Roll Forward] Tax effect on cash flow hedges Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax Derivative [Line Items] Derivative [Line Items] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Depreciation of property, plant, and equipment Depreciation Issuance of common stock under stock plans Stock Issued During Period, Value, Stock Options Exercised Agency Bonds Agency Bonds [Member] Agency bond. Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Gross amounts of recognized liabilities Derivative Liability, Fair Value, Gross Liability Award Type [Axis] Award Type [Axis] Weighted-Average Grant Date Fair Value Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Prepaid Expenses and Other Current Assets Prepaid Expenses and Other Current Assets [Member] Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Maximum Maximum [Member] Security Exchange Name Security Exchange Name Gross credit losses recorded Increases to the allowance for credit losses Debt Securities, Available-for-sale, Change in Present Value, Expense (Reversal) Retained Earnings Retained Earnings [Member] Payment of contingent consideration Payment of contingent consideration Payment for Contingent Consideration Liability, Financing Activities Income tax expense Effective Income Tax Rate Reconciliation, Percent 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] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Net cash provided by (used in) investing activities Net Cash Provided by (Used in) Investing Activities Purchases of investments Payments to Acquire Investments Weighted- Average Remaining Contractual Term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract] Outstanding, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Balance as of December 31, 2019 Balance as of June 28, 2020 Accounts Receivable, Allowance for Credit Loss Award Type [Domain] Award Type [Domain] Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity [Table Text Block] Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity [Table Text Block] Investments [Domain] Investments [Domain] Document Transition Report Document Transition Report Schedule of Activity in Restructuring Reserve Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Increases to deferred revenue and customer deposits Deferred Revenue, Additions Issuance of common stock under stock plans Proceeds, Issuance of Shares, Share-based Payment Arrangement, Including Option Exercised Weighted-Average Shares Earnings Per Share [Text Block] Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Shares repurchased, value Stock Repurchase Program, Value Stock Repurchase Program, Value Current liabilities: Liabilities, Current [Abstract] Income tax expense (benefit) at U.S. federal statutory corporate tax rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Cost of Revenue Cost of Goods and Service Benchmark [Member] Fair Value, Measurements, Recurring Fair Value, Recurring [Member] Weighted- Average Remaining Contractual Term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Income Tax Contingency [Table] Income Tax Contingency [Table] Gross Unrealized Losses and Fair Values for Available-for-Sale Investments Schedule of Unrealized Loss on Investments [Table Text Block] New Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Exercisable, in dollars Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value. EX-101.PRE 10 cgnx-20200628_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 cgnx-20200628_htm.xml IDEA: XBRL DOCUMENT 0000851205 2020-01-01 2020-06-28 0000851205 2020-06-28 0000851205 2020-03-30 2020-06-28 0000851205 2019-04-01 2019-06-30 0000851205 2019-01-01 2019-06-30 0000851205 2019-12-31 0000851205 2018-12-31 0000851205 2019-06-30 0000851205 us-gaap:CommonStockMember 2020-03-29 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-03-29 0000851205 us-gaap:RetainedEarningsMember 2020-03-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-29 0000851205 2020-03-29 0000851205 us-gaap:CommonStockMember 2020-03-30 2020-06-28 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-03-30 2020-06-28 0000851205 us-gaap:RetainedEarningsMember 2020-03-30 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-30 2020-06-28 0000851205 us-gaap:CommonStockMember 2020-06-28 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-06-28 0000851205 us-gaap:RetainedEarningsMember 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-28 0000851205 us-gaap:CommonStockMember 2019-03-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 0000851205 us-gaap:RetainedEarningsMember 2019-03-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-31 0000851205 2019-03-31 0000851205 us-gaap:CommonStockMember 2019-04-01 2019-06-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-04-01 2019-06-30 0000851205 us-gaap:RetainedEarningsMember 2019-04-01 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-04-01 2019-06-30 0000851205 us-gaap:CommonStockMember 2019-06-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0000851205 us-gaap:RetainedEarningsMember 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 0000851205 us-gaap:CommonStockMember 2019-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0000851205 us-gaap:RetainedEarningsMember 2019-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0000851205 us-gaap:CommonStockMember 2020-01-01 2020-06-28 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-06-28 0000851205 us-gaap:RetainedEarningsMember 2020-01-01 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-06-28 0000851205 us-gaap:CommonStockMember 2018-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0000851205 us-gaap:RetainedEarningsMember 2018-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000851205 us-gaap:CommonStockMember 2019-01-01 2019-06-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-06-30 0000851205 us-gaap:RetainedEarningsMember 2019-01-01 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-06-30 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2020-06-28 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-28 0000851205 cgnx:ChiaroTechnologiesLLCMember 2019-12-31 0000851205 us-gaap:OtherNonoperatingIncomeExpenseMember 2020-03-30 2020-06-28 0000851205 srt:MinimumMember cgnx:GViVenturesInc.Member 2020-06-28 0000851205 cgnx:GViVenturesInc.Member 2020-06-28 0000851205 us-gaap:RestructuringChargesMember 2020-01-01 2020-06-28 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0000851205 us-gaap:AssetBackedSecuritiesMember 2020-06-28 0000851205 us-gaap:AssetBackedSecuritiesMember 2019-12-31 0000851205 us-gaap:CorporateBondSecuritiesMember 2020-06-28 0000851205 us-gaap:CorporateBondSecuritiesMember 2019-12-31 0000851205 us-gaap:USTreasurySecuritiesMember 2020-06-28 0000851205 us-gaap:USTreasurySecuritiesMember 2019-12-31 0000851205 us-gaap:SovereignDebtMember 2020-06-28 0000851205 us-gaap:SovereignDebtMember 2019-12-31 0000851205 us-gaap:MunicipalBondsMember 2020-06-28 0000851205 us-gaap:MunicipalBondsMember 2019-12-31 0000851205 us-gaap:CertificatesOfDepositMember 2020-06-28 0000851205 us-gaap:CertificatesOfDepositMember 2019-12-31 0000851205 cgnx:AgencyBondsMember 2020-06-28 0000851205 cgnx:AgencyBondsMember 2019-12-31 0000851205 us-gaap:SovereignDebtSecuritiesMember 2020-06-28 0000851205 us-gaap:SovereignDebtSecuritiesMember 2019-12-31 0000851205 us-gaap:OtherCurrentAssetsMember 2020-06-28 0000851205 us-gaap:OtherCurrentAssetsMember 2019-12-31 0000851205 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2020-06-28 0000851205 us-gaap:CorporateBondSecuritiesMember us-gaap:ShortTermInvestmentsMember 2020-06-28 0000851205 us-gaap:USTreasurySecuritiesMember us-gaap:ShortTermInvestmentsMember 2020-06-28 0000851205 us-gaap:SovereignDebtSecuritiesMember us-gaap:ShortTermInvestmentsMember 2020-06-28 0000851205 us-gaap:MunicipalBondsMember us-gaap:ShortTermInvestmentsMember 2020-06-28 0000851205 us-gaap:USTreasurySecuritiesMember cgnx:LongTermInvestmentsMember 2020-06-28 0000851205 us-gaap:CorporateBondSecuritiesMember cgnx:LongTermInvestmentsMember 2020-06-28 0000851205 us-gaap:AssetBackedSecuritiesMember cgnx:LongTermInvestmentsMember 2020-06-28 0000851205 cgnx:AgencyBondsMember cgnx:LongTermInvestmentsMember 2020-06-28 0000851205 us-gaap:SovereignDebtSecuritiesMember cgnx:LongTermInvestmentsMember 2020-06-28 0000851205 us-gaap:DistributionRightsMember 2020-06-28 0000851205 us-gaap:DevelopedTechnologyRightsMember 2020-06-28 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2020-06-28 0000851205 us-gaap:InProcessResearchAndDevelopmentMember 2020-06-28 0000851205 us-gaap:OtherIntangibleAssetsMember 2020-06-28 0000851205 us-gaap:TrademarksMember 2020-06-28 0000851205 us-gaap:DistributionRightsMember 2019-12-31 0000851205 us-gaap:DevelopedTechnologyRightsMember 2019-12-31 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2019-12-31 0000851205 us-gaap:InProcessResearchAndDevelopmentMember 2019-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2019-12-31 0000851205 us-gaap:TrademarksMember 2019-12-31 0000851205 cgnx:SualabMember us-gaap:DevelopedTechnologyRightsMember 2020-03-30 2020-06-28 0000851205 cgnx:SualabMember us-gaap:InProcessResearchAndDevelopmentMember 2020-03-30 2020-06-28 0000851205 cgnx:SualabMember cgnx:CustomerContractsAndRelationshipsMember 2020-03-30 2020-06-28 0000851205 cgnx:EnShapeGmbHMember cgnx:CustomerContractsAndRelationshipsMember 2020-05-26 0000851205 cgnx:EnShapeGmbHMember cgnx:CustomerContractsAndRelationshipsMember 2020-06-28 0000851205 cgnx:EnShapeGmbHMember cgnx:CustomerContractsAndRelationshipsMember 2020-03-30 2020-06-28 0000851205 cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember 2020-06-28 0000851205 us-gaap:NondesignatedMember 2020-01-01 2020-06-28 0000851205 currency:KRW us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:KRW us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:EUR us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:EUR us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:MXN us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:MXN us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:JPY us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:JPY us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:HUF us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:GBP us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:GBP us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:TWD us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:TWD us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:CAD us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:CAD us-gaap:NondesignatedMember 2019-12-31 0000851205 currency:SGD us-gaap:NondesignatedMember 2020-06-28 0000851205 currency:SGD us-gaap:NondesignatedMember 2019-12-31 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2020-06-28 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2019-12-31 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2020-06-28 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2019-12-31 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2020-03-30 2020-06-28 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2019-04-01 2019-06-30 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2020-01-01 2020-06-28 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2019-01-01 2019-06-30 0000851205 srt:AmericasMember 2020-03-30 2020-06-28 0000851205 srt:AmericasMember 2019-04-01 2019-06-30 0000851205 srt:AmericasMember 2020-01-01 2020-06-28 0000851205 srt:AmericasMember 2019-01-01 2019-06-30 0000851205 srt:EuropeMember 2020-03-30 2020-06-28 0000851205 srt:EuropeMember 2019-04-01 2019-06-30 0000851205 srt:EuropeMember 2020-01-01 2020-06-28 0000851205 srt:EuropeMember 2019-01-01 2019-06-30 0000851205 country:CN 2020-03-30 2020-06-28 0000851205 country:CN 2019-04-01 2019-06-30 0000851205 country:CN 2020-01-01 2020-06-28 0000851205 country:CN 2019-01-01 2019-06-30 0000851205 cgnx:AsiaExcludingChinaMember 2020-03-30 2020-06-28 0000851205 cgnx:AsiaExcludingChinaMember 2019-04-01 2019-06-30 0000851205 cgnx:AsiaExcludingChinaMember 2020-01-01 2020-06-28 0000851205 cgnx:AsiaExcludingChinaMember 2019-01-01 2019-06-30 0000851205 cgnx:StandardProductsandServicesMember 2020-03-30 2020-06-28 0000851205 cgnx:StandardProductsandServicesMember 2019-04-01 2019-06-30 0000851205 cgnx:StandardProductsandServicesMember 2020-01-01 2020-06-28 0000851205 cgnx:StandardProductsandServicesMember 2019-01-01 2019-06-30 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2020-03-30 2020-06-28 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2019-04-01 2019-06-30 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2020-01-01 2020-06-28 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2019-01-01 2019-06-30 0000851205 us-gaap:EmployeeStockOptionMember 2020-06-28 0000851205 srt:MinimumMember cgnx:GeneralStockOptionPlanMember 2020-01-01 2020-06-28 0000851205 srt:MaximumMember cgnx:GeneralStockOptionPlanMember 2020-01-01 2020-06-28 0000851205 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-06-28 0000851205 us-gaap:PerformanceSharesMember 2020-01-01 2020-06-28 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2019-12-31 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-06-28 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2020-06-28 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2020-03-30 2020-06-28 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-06-30 0000851205 us-gaap:CostOfGoodsTotalMember 2020-03-30 2020-06-28 0000851205 us-gaap:CostOfGoodsTotalMember 2019-04-01 2019-06-30 0000851205 us-gaap:CostOfGoodsTotalMember 2020-01-01 2020-06-28 0000851205 us-gaap:CostOfGoodsTotalMember 2019-01-01 2019-06-30 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2020-03-30 2020-06-28 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2019-04-01 2019-06-30 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-06-28 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-06-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2020-03-30 2020-06-28 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2019-04-01 2019-06-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2020-01-01 2020-06-28 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2019-01-01 2019-06-30 0000851205 cgnx:RepurchaseProgramOctober2018Member 2018-10-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2020-06-28 0000851205 cgnx:RepurchaseProgramOctober2018Member 2020-03-29 0000851205 cgnx:RepurchaseProgramMarch2020Member 2020-03-12 0000851205 us-gaap:ForeignCountryMember us-gaap:RevenueCommissionersIrelandMember 2020-01-01 2020-06-28 0000851205 us-gaap:ForeignCountryMember us-gaap:StateAdministrationOfTaxationChinaMember 2020-01-01 2020-06-28 0000851205 us-gaap:DomesticCountryMember 2020-01-01 2020-06-28 0000851205 us-gaap:EmployeeStockOptionMember 2020-03-30 2020-06-28 0000851205 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-06-28 0000851205 us-gaap:EmployeeStockOptionMember 2019-04-01 2019-06-30 0000851205 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-06-30 0000851205 us-gaap:RestrictedStockMember 2020-03-30 2020-06-28 0000851205 us-gaap:RestrictedStockMember 2020-01-01 2020-06-28 0000851205 2020-05-26 0000851205 us-gaap:OneTimeTerminationBenefitsMember 2020-05-26 0000851205 us-gaap:OneTimeTerminationBenefitsMember 2020-03-30 2020-06-28 0000851205 us-gaap:ContractTerminationMember 2020-05-26 0000851205 us-gaap:ContractTerminationMember 2020-03-30 2020-06-28 0000851205 us-gaap:OtherRestructuringMember 2020-05-26 0000851205 us-gaap:OtherRestructuringMember 2020-03-30 2020-06-28 0000851205 2020-05-26 2020-05-26 0000851205 us-gaap:OneTimeTerminationBenefitsMember 2019-12-31 0000851205 us-gaap:ContractTerminationMember 2019-12-31 0000851205 us-gaap:OtherRestructuringMember 2019-12-31 0000851205 us-gaap:OneTimeTerminationBenefitsMember 2020-01-01 2020-06-28 0000851205 us-gaap:ContractTerminationMember 2020-01-01 2020-06-28 0000851205 us-gaap:OtherRestructuringMember 2020-01-01 2020-06-28 0000851205 us-gaap:OneTimeTerminationBenefitsMember 2020-06-28 0000851205 us-gaap:ContractTerminationMember 2020-06-28 0000851205 us-gaap:OtherRestructuringMember 2020-06-28 0000851205 us-gaap:SubsequentEventMember 2020-07-29 2020-07-29 shares iso4217:USD iso4217:USD shares pure iso4217:KRW iso4217:EUR iso4217:JPY iso4217:TWD iso4217:CAD iso4217:SGD cgnx:group cgnx:Employees 0000851205 --12-31 2020 Q2 false 173047292 0 0 0 0 -836000 239000 -1788000 507000 0 0 0 0 2235000 1821000 0.002 0.002 300000000 300000000 173047000 172440000 -836000 239000 -1788000 507000 1153000 P4Y P4Y 0 10-Q true false 001-34218 COGNEX CORP MA 04-2713778 One Vision Drive Natick MA 01760 508 650-3000 Common Stock, par value $.002 per share CGNX NASDAQ Yes Yes Large Accelerated Filer false false false 2020-06-28 173047292 169097000 199047000 336332000 372531000 50320000 50967000 91520000 97251000 118777000 148080000 244812000 275280000 30397000 28079000 66343000 58321000 60153000 68245000 129291000 135056000 14798000 0 14798000 0 19571000 0 19571000 0 -6142000 51756000 14809000 81903000 336000 140000 -2667000 -108000 3291000 5223000 8520000 10128000 203000 -144000 20000 783000 -2312000 56975000 20682000 92706000 -1170000 8226000 1347000 10853000 -1142000 48749000 19335000 81853000 -0.01 0.28 0.11 0.48 -0.01 0.28 0.11 0.47 172283000 171318000 172345000 171209000 172283000 175448000 175499000 175528000 0.055 0.050 0.110 0.100 -1142000 48749000 19335000 81853000 12451000 2311000 8590000 4562000 85000 0 -75000 0 955000 382000 2805000 422000 11411000 1929000 5860000 4140000 1903000 -663000 -5462000 -445000 1903000 -663000 -5462000 -445000 13314000 1266000 398000 3695000 12172000 50015000 19733000 85548000 286021000 171431000 143084000 240470000 111671000 103447000 978000 4782000 52953000 60261000 51768000 26840000 646475000 607231000 467087000 433452000 83936000 89443000 25819000 17522000 242436000 243445000 17337000 39490000 443732000 449519000 8042000 5833000 1934864000 1885935000 17999000 17866000 66264000 52199000 5952000 30333000 46738000 14432000 7628000 5647000 144581000 120477000 21208000 12326000 326295000 332344000 12302000 11563000 48915000 51113000 5085000 2402000 558386000 530225000 0 0 346000 345000 710412000 639372000 702597000 753268000 -36877000 -37275000 1376478000 1355710000 1934864000 1885935000 19335000 81853000 22808000 23248000 11162000 10537000 2582000 1538000 19571000 0 8783000 1713000 2534000 0 -328000 342000 2805000 422000 75000 0 -114000 -863000 -1395000 1311000 8957000 -11383000 3804000 -1989000 1664000 -8681000 25461000 463000 143000 -4528000 15806000 -12270000 -25411000 -4000000 32586000 8575000 -2520000 1190000 79020000 120150000 317540000 664896000 387765000 587175000 6985000 8969000 63240000 -86690000 48235000 26417000 51036000 61690000 18972000 17146000 1039000 0 -22812000 -52419000 -4858000 -149000 114590000 -19108000 171431000 108212000 286021000 89104000 171688000 344000 664132000 713208000 -50191000 1327493000 1359000 2000 38262000 38264000 0 0 0 0 8018000 8018000 9469000 9469000 -1142000 -1142000 12451000 12451000 85000 85000 955000 955000 1903000 1903000 173047000 346000 710412000 702597000 -36877000 1376478000 171537000 343000 555834000 670754000 -38072000 1188859000 522000 1000 12070000 12071000 1398000 3000 61687000 61690000 10967000 10967000 8582000 8582000 48749000 48749000 2311000 2311000 382000 382000 -663000 -663000 170661000 341000 578871000 649234000 -36806000 1191640000 172440000 345000 639372000 753268000 -37275000 1355710000 1822000 3000 48232000 48235000 1215000 2000 51034000 51036000 22808000 22808000 18972000 18972000 19335000 19335000 8590000 8590000 -75000 -75000 2805000 2805000 -5462000 -5462000 173047000 346000 710412000 702597000 -36877000 1376478000 170820000 342000 529208000 646214000 -40501000 1135263000 1239000 2000 26415000 26417000 1398000 3000 61687000 61690000 23248000 23248000 17146000 17146000 81853000 81853000 4562000 4562000 422000 422000 -445000 -445000 170661000 341000 578871000 649234000 -36806000 1191640000 Summary of Significant Accounting Policies<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASU 2016-13 "Measurement of Credit Losses on Financial Instruments," Cognex Corporation (the "Company") has provided new disclosures related to credit losses in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2019 for a full description of other significant accounting policies.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, excess and obsolete inventory charges (Note 5), intangible asset impairment charges (Note 8), restructuring charges (Note 16), and financial statement reclassifications necessary to present fairly the Company’s financial position as of June 28, 2020, and the results of its operations for the three-month and six-month periods ended June 28, 2020 and June 30, 2019, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended June 28, 2020 are not necessarily indicative of the results to be expected for the full year.</span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Cash, Cash Equivalents, and Investments</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Money market instruments, as well as certificates of deposit and debt securities with original maturities of three months or less, are classified as cash equivalents and are stated at amortized cost. Certificates of deposit and debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as current investments. Debt securities with remaining maturities greater than one year are classified as non-current investments. It is the Company’s policy to invest in debt securities with effective maturities that do not exceed ten years.</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax and credit losses, recorded in shareholders’ equity as other comprehensive income (loss). Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method. The Company’s limited partnership interest is accounted for using the cost method because the Company’s investment is less than 5% of the partnership and the Company has no influence over the partnership’s operating and financial policies. The carrying value of this investment has been reduced to zero, and therefore, distributions are recorded as investment income as they occur. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Management monitors the carrying value of its investments in debt securities compared to their fair value to determine whether a credit loss or other type of impairment has occurred. If the fair value of a debt security is less than its amortized cost, the Company assesses whether the decline has resulted from a credit loss or other factors. In assessing whether a credit loss exists, the Company compares the present value of the cash flows expected to be collected from the security with the amortized cost basis of the security. If the present value of the cash flows expected to be collected is less than the amortized cost basis of the security, then a credit loss exists and an allowance for credit losses is recorded. The allowance for credit losses is limited by the amount that the fair value is less than the amortized cost basis of the security. Credit losses on impaired securities continue to be measured in subsequent periods, using the present value of expected future cash flows, and changes in the expected credit losses are recorded in current operations. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statement of Operations. When developing an estimate of the expected credit losses, the Company considers all available information relevant to assessing the collectability of cash flows. This information includes internal and external factors, historical and current events, reasonable and supportable forecasts including management's expectations of future economic conditions, the type of security, the credit rating of the security, the size of the loss position, as well as other relevant information. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">An impairment is recognized as a write-down if (i) the Company has the intent to sell the security or (ii) it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. If impairment is considered upon condition (i) or (ii) described above, the debt security's amortized cost basis is written-down to its fair value and the impairment is recognized in current operations. Subsequent increases in the fair value of the debt securities after the write-down are included in shareholders' equity as other comprehensive income. The differences between the new amortized cost basis and the cash flows expected to be collected are accreted as interest income. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Unrealized losses, that have not been recorded through an allowance for credit losses or write-down of the debt security, are recorded in shareholders' equity as other comprehensive loss, net of the applicable taxes.</span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounts Receivable</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition. Accounts that are outstanding longer than the payment terms are considered to be past due. The Company establishes an allowance against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer’s current ability to pay its obligations to the Company, general economic and industry conditions, and reasonable forecasts about the future, as well as various other factors. Receivables are written off against this allowance in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense. Credit losses are included in "Selling, general, and administrative expenses" on the Consolidated Statement of Operations.</span></div> <div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Cash, Cash Equivalents, and Investments</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Money market instruments, as well as certificates of deposit and debt securities with original maturities of three months or less, are classified as cash equivalents and are stated at amortized cost. Certificates of deposit and debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as current investments. Debt securities with remaining maturities greater than one year are classified as non-current investments. It is the Company’s policy to invest in debt securities with effective maturities that do not exceed ten years.</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax and credit losses, recorded in shareholders’ equity as other comprehensive income (loss). Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method. The Company’s limited partnership interest is accounted for using the cost method because the Company’s investment is less than 5% of the partnership and the Company has no influence over the partnership’s operating and financial policies. The carrying value of this investment has been reduced to zero, and therefore, distributions are recorded as investment income as they occur. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Management monitors the carrying value of its investments in debt securities compared to their fair value to determine whether a credit loss or other type of impairment has occurred. If the fair value of a debt security is less than its amortized cost, the Company assesses whether the decline has resulted from a credit loss or other factors. In assessing whether a credit loss exists, the Company compares the present value of the cash flows expected to be collected from the security with the amortized cost basis of the security. If the present value of the cash flows expected to be collected is less than the amortized cost basis of the security, then a credit loss exists and an allowance for credit losses is recorded. The allowance for credit losses is limited by the amount that the fair value is less than the amortized cost basis of the security. Credit losses on impaired securities continue to be measured in subsequent periods, using the present value of expected future cash flows, and changes in the expected credit losses are recorded in current operations. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statement of Operations. When developing an estimate of the expected credit losses, the Company considers all available information relevant to assessing the collectability of cash flows. This information includes internal and external factors, historical and current events, reasonable and supportable forecasts including management's expectations of future economic conditions, the type of security, the credit rating of the security, the size of the loss position, as well as other relevant information. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">An impairment is recognized as a write-down if (i) the Company has the intent to sell the security or (ii) it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. If impairment is considered upon condition (i) or (ii) described above, the debt security's amortized cost basis is written-down to its fair value and the impairment is recognized in current operations. Subsequent increases in the fair value of the debt securities after the write-down are included in shareholders' equity as other comprehensive income. The differences between the new amortized cost basis and the cash flows expected to be collected are accreted as interest income. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Unrealized losses, that have not been recorded through an allowance for credit losses or write-down of the debt security, are recorded in shareholders' equity as other comprehensive loss, net of the applicable taxes.</span></div> <div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounts Receivable</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition. Accounts that are outstanding longer than the payment terms are considered to be past due. The Company establishes an allowance against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer’s current ability to pay its obligations to the Company, general economic and industry conditions, and reasonable forecasts about the future, as well as various other factors. Receivables are written off against this allowance in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense. Credit losses are included in "Selling, general, and administrative expenses" on the Consolidated Statement of Operations.</span></div> New Pronouncements<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ASU 2019-12 applies to all entities within the scope of Topic 740, Income Taxes. The amendments in this ASU simplify the accounting for income taxes by removing the following exceptions: 1) exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items; 2) exception to the requirement to recognize a deferred tax liability for equity method investments when a foreign subsidiary becomes an equity method investment; 3) exception to the ability not to recognize a deferred tax liability for a foreign subsidiary when a foreign equity method investment becomes a subsidiary; and 4) exception to the general methodology for calculating income taxes in an interim period when a year-to-date loss exceeds the anticipated loss for the year. The amendments in this ASU also simplify the accounting for income taxes by doing the following: 1) requiring that an entity recognize a franchise tax that is partially based on income as an income-based tax and account for any incremental amount incurred as a non-income-based tax; 2) requiring that an entity evaluate when a step up in the tax basis of goodwill should be considered part of the business combination in which the book goodwill was originally recognized and when it should be considered a separate transaction; 3) specifying that an entity is not required to allocate the consolidated amount of current and deferred tax expense to a legal entity that is not subject to tax in its separate financial statements; and 4) requiring that an entity reflect the effect of an enacted change in tax laws or rates in the annual effective tax rate computation in the interim period that included the enacted date. The amendments in this ASU are effective for public companies for annual periods, and interim periods within those annual periods, beginning after December 15, 2020. Early adoption is permitted; however, an entity that elects to early adopt the amendments must adopt all the amendments in the same period. The amendments in this ASU related to separate financial statements of legal entities that are not subject to tax should be applied on a retrospective basis for all periods presented. The amendments related to changes in ownership of foreign equity method investments or foreign subsidiaries should be applied on a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. The amendments related to franchise taxes that are partially based on income should be applied on either a retrospective basis for all periods presented or a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. All other amendments should be applied on a prospective basis. Management does not expect ASU 2019-12 to have a material impact on the Company's consolidated financial statements and disclosures.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848)"</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The amendments in this ASU apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. The amendments in this ASU provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in this ASU are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 to have a material impact on the Company's consolidated financial statements and disclosures.</span></div> New Pronouncements<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ASU 2019-12 applies to all entities within the scope of Topic 740, Income Taxes. The amendments in this ASU simplify the accounting for income taxes by removing the following exceptions: 1) exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items; 2) exception to the requirement to recognize a deferred tax liability for equity method investments when a foreign subsidiary becomes an equity method investment; 3) exception to the ability not to recognize a deferred tax liability for a foreign subsidiary when a foreign equity method investment becomes a subsidiary; and 4) exception to the general methodology for calculating income taxes in an interim period when a year-to-date loss exceeds the anticipated loss for the year. The amendments in this ASU also simplify the accounting for income taxes by doing the following: 1) requiring that an entity recognize a franchise tax that is partially based on income as an income-based tax and account for any incremental amount incurred as a non-income-based tax; 2) requiring that an entity evaluate when a step up in the tax basis of goodwill should be considered part of the business combination in which the book goodwill was originally recognized and when it should be considered a separate transaction; 3) specifying that an entity is not required to allocate the consolidated amount of current and deferred tax expense to a legal entity that is not subject to tax in its separate financial statements; and 4) requiring that an entity reflect the effect of an enacted change in tax laws or rates in the annual effective tax rate computation in the interim period that included the enacted date. The amendments in this ASU are effective for public companies for annual periods, and interim periods within those annual periods, beginning after December 15, 2020. Early adoption is permitted; however, an entity that elects to early adopt the amendments must adopt all the amendments in the same period. The amendments in this ASU related to separate financial statements of legal entities that are not subject to tax should be applied on a retrospective basis for all periods presented. The amendments related to changes in ownership of foreign equity method investments or foreign subsidiaries should be applied on a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. The amendments related to franchise taxes that are partially based on income should be applied on either a retrospective basis for all periods presented or a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. All other amendments should be applied on a prospective basis. Management does not expect ASU 2019-12 to have a material impact on the Company's consolidated financial statements and disclosures.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848)"</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The amendments in this ASU apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. The amendments in this ASU provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in this ASU are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 to have a material impact on the Company's consolidated financial statements and disclosures.</span></div> Fair Value Measurements<div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of June 28, 2020 (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:49.098%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.812%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.812%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.814%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Quoted Prices in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Assets:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Money market instruments</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,222 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">236,660 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">230,692 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,610 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,517 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right: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;"/></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;"/></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Economic hedge forward contracts</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right: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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Economic hedge forward contracts</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contingent consideration liabilities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company’s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company recorded gross credit losses and gross credit recoveries on debt securities totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020. No credit losses or recoveries on debt securities were recorded for the three-month or six-month periods ended June 30, 2019. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statements of Operations.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market, and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The fair value of the contingent consideration liability related to the Company's acquisition of Chiaro Technologies, LLC was $1,153,000 as of December 31, 2019. During the three-month period ended June 28, 2020, the Company paid out $1,039,000 based upon the revenue levels achieved, with the remaining $114,000 recorded as a fair value adjustment in "Other income (expense)" on the Consolidated Statements of Operations.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. was written down to zero as of December 31, 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of June 28, 2020. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next two years. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. Our business has been adversely and materially impacted by deteriorating global economic conditions resulting from the COVID-19 pandemic. The significant decline in business levels triggered a review of long-lived assets for potential impairment as of May 26, 2020, which resulted in operating lease asset impairment charges of $2,534,000 (refer to Notes 6 and 16) that are included in "Restructuring charges" on the Consolidated Statements of Operations, and intangible asset impairment charges of $19,571,000 (refer to Note 8). These fair value measurements are based upon the present values of future cash flows using significant inputs that are not observable in the market, and are therefore classified as Level 3.</span></div> <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of June 28, 2020 (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:49.098%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.812%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.812%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.814%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Quoted Prices in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Assets:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Money market instruments</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,222 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">236,660 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">230,692 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,610 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,517 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right: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;"/></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;"/></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Economic hedge forward contracts</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right: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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Economic hedge forward contracts</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contingent consideration liabilities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 50222000 0 236660000 230692000 91610000 27517000 22054000 1638000 46000 458000 0 0 0 85000 160000 85000 0 0 0 0 1153000 1039000 114000 The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. was written down to zero as of December 31, 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of June 28, 2020. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next two years. 0 0 0 2500000 2534000 19571000 Cash, Cash Equivalents, and Investments<div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt;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:61.011%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:16.128%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.131%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">235,799 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">155,498 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Money market instruments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,222 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,933 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash and cash equivalents</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">286,021 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">171,431 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,311 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">66,680 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">65,624 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">92,914 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,869 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,294 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,630 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Certificate of deposit</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,328 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current investments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">143,084 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">240,470 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,674 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">216,334 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">194,412 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">146,474 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41,299 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,403 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,914 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,648 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,005 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,322 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-current investments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">467,087 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">433,452 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">896,192 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">845,353 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; treasury bills consist of debt securities issued by the U.S. government; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; certificates of deposit are time deposits held by financial institutions with a fixed interest rate; and agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars, with the exception of the certificate of deposit held as of December 31, 2019 that was denominated in Korean Won.</span></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $1,958,000 and $2,874,000 as of June 28, 2020 and December 31, 2019, respectively.</span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On January 1, 2020, the Company adopted Accounting Standards Update (ASU) 2016-13, “Measurement of Credit Losses on Financial Instruments,” using the modified-retrospective approach, which requires the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to retained earnings as of the beginning of the period in which the guidance is effective. The Company did not record an adjustment to retained earnings, as there were no debt securities with credit losses as of the adoption date. </span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company’s available-for-sale investments as of June 28, 2020 (in thousands):</span></div><div style="margin-top:6pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:41.841%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:11.636%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.343%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.489%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.492%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortized<br/>Cost</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">49,899 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,311 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,065 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(38)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">33,480 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">538 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,787 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">82 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,869 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,643 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">194,330 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,345 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,674 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">192,233 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,513 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(334)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">194,412 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40,817 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">484 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41,299 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,035 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(18)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,533 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">115 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,648 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">603,822 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,747 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(398)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">610,171 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span><br/></span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of June 28, 2020 (in thousands):</span></div><div style="margin-top:6pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.269%;"><tr><td style="width:1.0%;"/><td style="width:29.811%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.754%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized Loss Position For:</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;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Less than 12 Months</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12 Months or Greater</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized<br/>Losses</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized<br/>Losses</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">49,525 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(363)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,181 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(9)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,706 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(372)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,962 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,962 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,749 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">260 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,009 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,128 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,784 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(16)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,912 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(18)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,293 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,293 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">72,657 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(372)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,225 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(26)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">76,882 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(398)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span><br/></span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company recorded gross credit losses and gross credit recoveries on debt securities totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020. No credit losses or recoveries on debt securities were recorded for the three-month or six-month periods ended June 30, 2019. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statements of Operations.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:center;margin-top:8pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%;"><tr><td style="width:1.0%;"/><td style="width:78.441%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.559%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increases to the allowance for credit losses</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">160 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Decreases to the allowance for credit losses</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(85)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Write-offs </span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">75 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span><br/></span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $962,000 and $7,000, respectively, for the three-month period ended June 28, 2020, and $394,000 and $12,000, respectively, for the three-month period ended June 30, 2019. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $2,826,000 and $21,000, respectively, for the six-month period ended June 28, 2020, and $458,000 and $36,000, respectively, for the six-month period ended June 30, 2019. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of June 28, 2020 (in thousands):</span></div><div style="margin-top:5pt;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.988%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.387%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&lt;1 year</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1-2 Years</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2-3 Years</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3-4 Years</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4-5 Years</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,987 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">102,034 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,391 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">236,660 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">138,612 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">58,062 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">230,692 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,311 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13,750 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,308 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,241 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,610 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/><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;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,869 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,218 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,430 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,517 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/><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;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">143,084 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">243,567 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">208,888 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,391 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,241 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">610,171 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> <div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt;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:61.011%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:16.128%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.131%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">235,799 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">155,498 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Money market instruments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,222 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,933 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash and cash equivalents</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">286,021 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">171,431 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,311 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">66,680 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">65,624 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">92,914 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,869 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,294 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,630 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Certificate of deposit</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,328 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current investments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">143,084 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">240,470 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,674 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">216,334 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">194,412 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">146,474 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41,299 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,403 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,914 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,648 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,005 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,322 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-current investments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">467,087 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">433,452 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">896,192 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">845,353 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 235799000 155498000 50222000 15933000 286021000 171431000 50311000 66680000 42248000 65624000 34018000 92914000 14869000 6294000 1638000 4630000 0 4328000 143084000 240470000 196674000 216334000 194412000 146474000 41299000 46403000 22054000 5914000 12648000 16005000 0 2322000 467087000 433452000 896192000 845353000 1958000 2874000 <div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company’s available-for-sale investments as of June 28, 2020 (in thousands):</span></div><div style="margin-top:6pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:41.841%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:11.636%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.343%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.489%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.492%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortized<br/>Cost</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">49,899 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,311 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,065 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(38)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">33,480 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">538 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,787 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">82 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,869 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,643 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">194,330 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,345 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,674 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">192,233 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,513 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(334)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">194,412 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40,817 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">484 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41,299 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,035 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(18)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,533 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">115 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,648 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">603,822 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,747 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(398)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">610,171 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 49899000 412000 0 50311000 42065000 221000 38000 42248000 33480000 538000 0 34018000 14787000 82000 0 14869000 1643000 0 5000 1638000 194330000 2345000 1000 196674000 192233000 2513000 334000 194412000 40817000 484000 2000 41299000 22035000 37000 18000 22054000 12533000 115000 0 12648000 603822000 6747000 398000 610171000 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of June 28, 2020 (in thousands):</span></div><div style="margin-top:6pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.269%;"><tr><td style="width:1.0%;"/><td style="width:29.811%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.751%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.754%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized Loss Position For:</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;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Less than 12 Months</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12 Months or Greater</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized<br/>Losses</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized<br/>Losses</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">49,525 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(363)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,181 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(9)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,706 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(372)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,962 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,962 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,749 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">260 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,009 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,128 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,784 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(16)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,912 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(18)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,293 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,293 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">72,657 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(372)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,225 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(26)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">76,882 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(398)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 49525000 363000 1181000 9000 50706000 372000 12962000 1000 0 0 12962000 1000 5749000 1000 260000 1000 6009000 2000 3128000 2000 2784000 16000 5912000 18000 1293000 5000 0 0 1293000 5000 72657000 372000 4225000 26000 76882000 398000 0 85000 160000 85000 0 0 0 0 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:center;margin-top:8pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%;"><tr><td style="width:1.0%;"/><td style="width:78.441%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.559%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increases to the allowance for credit losses</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">160 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Decreases to the allowance for credit losses</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(85)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Write-offs </span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">75 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 0 160000 85000 0 75000 962000 7000 394000 12000 2826000 21000 458000 36000 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of June 28, 2020 (in thousands):</span></div><div style="margin-top:5pt;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.988%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.795%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.387%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&lt;1 year</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1-2 Years</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2-3 Years</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3-4 Years</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4-5 Years</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate bonds</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,987 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">102,034 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,391 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">236,660 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury bills</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">138,612 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">58,062 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">230,692 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset-backed securities</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,311 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13,750 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,308 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,241 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,610 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/><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;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sovereign bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,869 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,218 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,430 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,517 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Agency bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,054 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Municipal bonds</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,638 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/><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;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">143,084 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">243,567 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">208,888 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,391 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,241 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">610,171 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 42248000 81987000 102034000 10391000 0 236660000 34018000 138612000 58062000 0 0 230692000 50311000 13750000 23308000 0 4241000 91610000 14869000 9218000 3430000 0 0 27517000 0 0 22054000 0 0 22054000 1638000 0 0 0 0 1638000 143084000 243567000 208888000 10391000 4241000 610171000 Inventories<div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt;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:61.011%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:16.128%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.131%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Raw materials</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">20,736 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,285 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Work-in-process</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,111 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,503 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Finished goods</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">28,106 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,473 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,953 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60,261 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company recorded provisions for excess and obsolete inventories of $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, which reduced the carrying value of the inventories to their net realizable value. The charges for the three-month period ended June 28, 2020 were due to lower projected sales of excess inventories as a result of deteriorating global economic conditions from the COVID-19 pandemic.</span></div> <div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt;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:61.011%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:16.128%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.131%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Raw materials</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">20,736 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,285 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Work-in-process</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,111 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,503 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Finished goods</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">28,106 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,473 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,953 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60,261 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 20736000 27285000 4111000 5503000 28106000 27473000 52953000 60261000 7718000 8783000 Leases<div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of June 28, 2020. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for the leases outstanding as of June 28, 2020.</span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The total operating lease expense for the three-month periods ended June 28, 2020 and June 30, 2019 was $2,147,000 and $1,742,000, respectively. The total operating lease cash payments for the three-month periods ended June 28, 2020 and June 30, 2019 were $2,091,000 and $1,669,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $23,000 and $64,000 for the three-month periods ended June 28, 2020 and June 30, 2019, respectively.</span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The total operating lease expense for the six-month periods ended June 28, 2020 and June 30, 2019 was $4,053,000 and $3,227,000, respectively. The total operating lease cash payments for the six-month periods ended June 28, 2020 and June 30, 2019 were $3,954,000 and $3,070,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $62,000 and $233,000 for the six-month periods ended June 28, 2020 and June 30, 2019, respectively. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="text-align:center;margin-top:14pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:81.748%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:2.728%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.324%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Year Ended December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Remainder of fiscal 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,335 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,340 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,169 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,973 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,391 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2025</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,322 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,462 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,992 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The discounted present value of the future lease cash payments resulted in a lease liability of $28,836,000 and $17,973,000 as of June 28, 2020 and December 31, 2019, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of June 28, 2020 or June 30, 2019. </span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The weighted-average discount rate was 4.1% and 4.8% for the leases outstanding as of June 28, 2020 and June 30, 2019, respectively. The weighted-average remaining lease term was 5.3 and 3.6 years for the leases outstanding as of June 28, 2020 and June 30, 2019, respectively. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As part of the Company's restructuring plan (refer to Note 16), management closed ten leased offices as of June 28, 2020 prior to the end of their lease terms. The carrying value of the lease assets associated with these ten offices has been reduced to zero as of June 28, 2020, resulting in operating lease asset impairment charges of $2,534,000 for the three-month period ended June 28, 2020 that are included in "Restructuring charges" on the Consolidated Statements of Operations. Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices. </span></div>The Company owns a building adjacent to its corporate headquarters that was partially occupied by a tenant for a portion of the current year. This lease was terminated prior to the end of its lease term during the three-month period ended June 28, 2020. Rental income was $0 and $81,000 for the three-month periods ended June 28, 2020 and June 30, 2019, respectively, and $77,000 and $158,000 for the six-month periods ended June 28, 2020 and June 30, 2019, respectively. The Company is now fully occupying this building for its operations. 2147000 1742000 2091000 1669000 23000 64000 4053000 3227000 3954000 3070000 62000 233000 <div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="text-align:center;margin-top:14pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:81.748%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:2.728%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.324%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Year Ended December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Remainder of fiscal 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,335 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,340 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,169 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,973 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,391 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2025</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,322 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,462 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,992 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 4335000 8340000 6169000 4973000 2391000 1322000 4462000 31992000 28836000 17973000 0.041 0.048 P5Y3M18D P3Y7M6D 0 2534000 0 81000 77000 158000 Goodwill<div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="text-align:center;margin-top:14pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.269%;"><tr><td style="width:1.0%;"/><td style="width:82.388%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.876%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">243,445 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">  Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,009)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">242,436 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The significant decline in business levels resulting from the COVID-19 pandemic triggered a review of long-lived assets, including goodwill, for potential impairment during the three-month period ended June 28, 2020. Based upon this assessment, management concluded that the reporting unit fair value was not less than its carrying value, and therefore no goodwill impairment charge was recognized for the three-month and six-month periods ended June 28, 2020. Factors that management considered in this assessment included macroeconomic conditions, industry and market conditions, overall financial performance (both current and projected), changes in management or strategy, changes in the composition or carrying value of net assets, and market capitalization.</span></div> <div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="text-align:center;margin-top:14pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.269%;"><tr><td style="width:1.0%;"/><td style="width:82.388%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.536%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.876%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">243,445 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">  Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,009)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">242,436 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 243445000 -1009000 242436000 Intangible Assets<div style="margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%;"><tr><td style="width:1.0%;"/><td style="width:50.276%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.418%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.534%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.418%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.534%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.420%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Distribution networks</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Completed technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,917 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11,035 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,882 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Customer relationships</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,578 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,795 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,783 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">In-process technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,300 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,300 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-compete agreements</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">710 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">409 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">301 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Trademarks</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">110 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">71 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">73,675 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">56,338 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,337 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Distribution networks</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Completed technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,987 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,160 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,827 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Customer relationships</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,407 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,402 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,005 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">In-process technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,200 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,200 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-compete agreements</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">710 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">350 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">360 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Trademarks</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">110 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">98 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">93,474 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">53,984 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39,490 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:5pt;"><span><br/></span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The significant decline in business levels resulting from the COVID-19 pandemic triggered a review of long-lived assets, including intangible assets, for potential impairment during the three-month period ended June 28, 2020. For finite-lived intangible assets that are subject to amortization, the Company follows a two-step process for impairment testing. In step one, known as the recoverability test, the carrying value of the asset is compared to the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset. If the sum of the undiscounted future cash flows is less than the carrying value, the asset is not recoverable and step two is performed. In step two, the impairment charge is measured as the amount by which the carrying value of the asset exceeds its fair value. For indefinite-lived intangible assets that are not subject to amortization, the fair value of the asset is measured and an impairment charge is recorded as the amount by which the carrying value of the asset exceeds its fair value.</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Based upon this assessment, management concluded that certain of the Company's finite-lived intangible assets failed the recoverability test, and recorded impairment charges for these assets equal to the amount by which their carrying value exceeded their fair value. The Company also measured the fair value and recorded an impairment charge for its indefinite-lived intangible asset related to in-process technologies. The fair values were established, with the assistance of an outside valuation advisor, using the income approach based upon a discounted cash flow model that estimated future revenue streams and expenses attributable to those revenue streams provided by management.</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">This review resulted in intangible asset impairment charges totaling $19,571,000 for the three-month period ended June 28, 2020, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab Co. Ltd. ("Sualab") as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Completed technologies, in-process technologies, and customer relationships acquired from Sualab were impaired in the amounts of $10,070,000, $5,900,000, and $3,382,000, respectively. In addition, customer relationships acquired from EnShape GmbH that had a gross carrying value of $447,000 and accumulated amortization of $228,000 on the measurement date were reduced to zero, resulting in an impairment charge of $219,000.</span></div><div style="text-align:justify;margin-top:5pt;"><span><br/></span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%;">As of June 28, 2020, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:80.723%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.545%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Year Ended December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Remainder of fiscal 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,686 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,272 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,902 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,211 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,697 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2025</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,374 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,895 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,037 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In-process technology is an indefinite-lived intangible asset until the technology is finalized, at which point it is amortized over its estimated useful life.</span></div> <div style="margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%;"><tr><td style="width:1.0%;"/><td style="width:50.276%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.418%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.534%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.418%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.534%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.420%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Distribution networks</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Completed technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,917 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11,035 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,882 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Customer relationships</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,578 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,795 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,783 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">In-process technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,300 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,300 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-compete agreements</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">710 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">409 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">301 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Trademarks</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">110 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">71 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">73,675 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">56,338 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,337 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:9pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Distribution networks</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,060 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Completed technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,987 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,160 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,827 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Customer relationships</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,407 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,402 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,005 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">In-process technologies</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,200 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,200 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-compete agreements</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">710 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">350 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">360 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Trademarks</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">110 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">98 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">93,474 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">53,984 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39,490 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 38060000 38060000 0 21917000 11035000 10882000 10578000 6795000 3783000 2300000 0 2300000 710000 409000 301000 110000 39000 71000 73675000 56338000 17337000 38060000 38060000 0 31987000 9160000 22827000 14407000 6402000 8005000 8200000 0 8200000 710000 350000 360000 110000 12000 98000 93474000 53984000 39490000 19571000 10070000 5900000 3382000 447000 228000 0 219000 <div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%;">As of June 28, 2020, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:80.723%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.545%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Year Ended December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Remainder of fiscal 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,686 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,272 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,902 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,211 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,697 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2025</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,374 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,895 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,037 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 1686000 3272000 2902000 2211000 1697000 1374000 1895000 15037000 Warranty Obligations<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt;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:79.871%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:16.129%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,713 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Provisions for warranties issued during the period</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,493 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fulfillment of warranty obligations</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(927)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,279 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> <div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt;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:79.871%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:16.129%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,713 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Provisions for warranties issued during the period</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,493 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fulfillment of warranty obligations</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(927)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,279 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 4713000 1493000 927000 5279000 Derivative Instruments<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. Currently, the Company enters into economic hedges to manage this risk. The economic hedges utilize foreign currency forward contracts with maturities of up to 45 days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt;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:45.222%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:11.304%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.134%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.304%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:9.846%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Currency</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Notional<br/>Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">USD<br/>Equivalent</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Notional<br/>Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-style:italic;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Korean Won</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">138,690,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">115,604 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">161,951,500 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">139,688 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Euro</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">56,137 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">20,249 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Mexican Peso</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">184,700 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,051 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">80,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,223 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Japanese Yen</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">600,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,587 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">575,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,291 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hungarian Forint</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,085,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,443 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">870,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,962 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">British Pound</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,940 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,406 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,700 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,569 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Taiwanese Dollar</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,765 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,455 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37,450 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,256 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Canadian Dollar</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,130 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">827 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,300 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Singapore Dollar</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,090 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">784 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">845 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">628 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:11.049%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:15.008%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.489%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.970%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.495%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset Derivatives</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;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Liability Derivatives</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="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sheet<br/>Location</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sheet<br/>Location</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></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;"/></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;"/></tr><tr><td colspan="18" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-style:italic;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Derivatives Not Designated as Hedging Instruments:<br/></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;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Economic hedge forward contracts</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:18.381%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.826%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.826%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.636%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.768%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.640%;"/><td style="width:1.0%;"/></tr><tr><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset Derivatives</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;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Liability Derivatives</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:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div><span><br/></span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:21.313%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:23.953%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.903%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.903%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td style="width:1.0%;"/><td style="width:9.730%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.999%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Location in Financial Statements</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></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;"/></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;"/></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;"/></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;"/></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;"/></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;"/></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;"/></tr><tr><td colspan="18" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-style:italic;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Derivatives Not Designated as Hedging Instruments:</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;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gains (losses) recognized in current operations</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(439)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(8,180)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">66 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> P45D <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt;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:45.222%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:11.304%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.134%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.304%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:9.846%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Currency</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Notional<br/>Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">USD<br/>Equivalent</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Notional<br/>Value</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-style:italic;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Korean Won</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">138,690,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">115,604 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">161,951,500 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">139,688 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Euro</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">56,137 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">20,249 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Mexican Peso</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">184,700 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,051 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">80,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,223 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Japanese Yen</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">600,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,587 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">575,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,291 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hungarian Forint</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,085,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,443 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">870,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,962 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">British Pound</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,940 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,406 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,700 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,569 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Taiwanese Dollar</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">42,765 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,455 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37,450 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,256 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Canadian Dollar</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,130 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">827 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,300 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,000 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Singapore Dollar</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,090 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">784 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">845 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">628 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></tr></table></div> 138690000000 115604000 161951500000 139688000 50000000 56137000 18000000 20249000 184700000 8051000 80000000 4223000 600000000 5587000 575000000 5291000 1085000000 3443000 870000000 2962000 1940000 2406000 2700000 3569000 42765000 1455000 37450000 1256000 1130000 827000 1300000 1000000 1090000 784000 845000 628000 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:11.049%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:15.008%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.489%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:7.970%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.495%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset Derivatives</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;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Liability Derivatives</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="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Fair Value</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sheet<br/>Location</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Sheet<br/>Location</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></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;"/></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;"/></tr><tr><td colspan="18" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-style:italic;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Derivatives Not Designated as Hedging Instruments:<br/></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;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Economic hedge forward contracts</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 46000 857000 458000 23000 <div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:18.381%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.826%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.826%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.636%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.768%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.662%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.640%;"/><td style="width:1.0%;"/></tr><tr><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Asset Derivatives</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;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Liability Derivatives</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:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">458 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 46000 857000 458000 23000 0 0 0 0 46000 857000 458000 23000 <div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%;"><tr><td style="width:1.0%;"/><td style="width:21.313%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:23.953%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.903%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.903%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td style="width:1.0%;"/><td style="width:9.730%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.533%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:8.999%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Location in Financial Statements</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></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;"/></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;"/></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;"/></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;"/></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;"/></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;"/></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;"/></tr><tr><td colspan="18" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-style:italic;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Derivatives Not Designated as Hedging Instruments:</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;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gains (losses) recognized in current operations</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(439)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(8,180)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">66 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 60000 -439000 -8180000 66000 Revenue Recognition<div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt;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:36.011%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.626%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Americas</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">68,966 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">77,408 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">129,214 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">142,178 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Europe</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,987 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">59,620 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">84,569 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">119,158 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Greater China</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,898 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,816 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">58,301 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">58,632 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">32,246 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">26,203 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">64,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,563 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">169,097 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">199,047 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">336,332 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">372,531 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div><span><br/></span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="text-align:center;margin-top:5pt;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:36.011%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.626%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">158,807 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">173,368 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">311,662 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">334,420 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,290 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">25,679 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">24,670 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,111 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">169,097 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">199,047 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">336,332 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">372,531 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Costs to Fulfill a Contract</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $10,888,000 and $3,963,000 as of June 28, 2020 and December 31, 2019, respectively.</span></div><div style="text-align:justify;margin-top:6pt;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="text-align:justify;margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for potential credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On January 1, 2020, the Company adopted Accounting Standards Update (ASU) 2016-13, “Measurement of Credit Losses on Financial Instruments,” using the modified-retrospective approach, which requires the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to retained earnings as of the beginning of the period in which the guidance is effective. The Company did not record an adjustment to retained earnings as this ASU did not have a material impact on the Company's consolidated allowance for credit losses. </span></div><div style="text-align:justify;margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company recorded credit losses on accounts receivable of $300,000 and $600,000 for the three-month and six-month periods ended June 28, 2020, respectively. The Company recorded credit losses on accounts receivable of $90,000 for the three-month and six-month periods ended June 30, 2019. The Company's estimate of expected credit losses takes into account the deteriorating global economic conditions from the COVID-19 pandemic.</span></div><div style="text-align:justify;margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:center;margin-top:8pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%;"><tr><td style="width:1.0%;"/><td style="width:78.441%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.559%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">530 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increases to the allowance for credit losses</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">600 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Write-offs </span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(186)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign exchange rate changes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">945 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:center;margin-top:8pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%;"><tr><td style="width:1.0%;"/><td style="width:78.441%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.559%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,432 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increases to deferred revenue and customer deposits</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">57,904 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of revenue</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(25,493)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign exchange rate changes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(105)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,738 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.</span></div> <div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt;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:36.011%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.626%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Americas</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">68,966 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">77,408 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">129,214 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">142,178 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Europe</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,987 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">59,620 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">84,569 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">119,158 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Greater China</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,898 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,816 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">58,301 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">58,632 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">32,246 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">26,203 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">64,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,563 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">169,097 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">199,047 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">336,332 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">372,531 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 68966000 77408000 129214000 142178000 35987000 59620000 84569000 119158000 31898000 35816000 58301000 58632000 32246000 26203000 64248000 52563000 169097000 199047000 336332000 372531000 <div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="text-align:center;margin-top:5pt;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:36.011%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.823%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.626%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">158,807 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">173,368 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">311,662 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">334,420 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,290 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">25,679 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">24,670 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,111 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">169,097 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">199,047 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">336,332 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">372,531 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 158807000 173368000 311662000 334420000 10290000 25679000 24670000 38111000 169097000 199047000 336332000 372531000 10888000 3963000 300000 600000 90000 90000 <div style="text-align:justify;margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:center;margin-top:8pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%;"><tr><td style="width:1.0%;"/><td style="width:78.441%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.559%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">530 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increases to the allowance for credit losses</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">600 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Write-offs </span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(186)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign exchange rate changes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">945 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 530000 600000 186000 1000 945000 <div style="margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:center;margin-top:8pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%;"><tr><td style="width:1.0%;"/><td style="width:78.441%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.559%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,432 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increases to deferred revenue and customer deposits</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">57,904 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of revenue</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(25,493)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign exchange rate changes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(105)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,738 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 14432000 57904000 25493000 -105000 46738000 Stock-Based Compensation Expense<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Stock Plans</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company’s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of June 28, 2020, the Company had 16,335,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmVjMzEwZDVkMTQxNTQ3OTFhY2FlMDNlZWUzYmI3M2U2L3NlYzplYzMxMGQ1ZDE0MTU0NzkxYWNhZTAzZWVlM2JiNzNlNl83Ni9mcmFnOmE1NGU1M2Q2ZmZmZTQ1N2U5NDM2OThjYWY2YzhkZDhkL3RleHRyZWdpb246YTU0ZTUzZDZmZmZlNDU3ZTk0MzY5OGNhZjZjOGRkOGRfMzk2_c9b27df8-2451-462e-927f-008a5aa7ff1c">four</span> or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Stock Options</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company’s stock option activity for the six-month period ended June 28, 2020:</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:36.799%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.373%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.323%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.226%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.083%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares<br/>(in thousands)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term (in years)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Aggregate<br/>Intrinsic<br/>Value<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Outstanding as of December 31, 2019</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,899 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37.95 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Granted</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">975 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">51.58 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exercised</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,822)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">26.47 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Forfeited or expired</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(421)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50.28 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Outstanding as of June 28, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11,631 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40.45 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.98</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">212,847 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exercisable as of June 28, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,331 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31.59 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5.81</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">144,694 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Options vested or expected to vest as of June 28, 2020 (1)</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,683 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39.58 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.85</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">204,795 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="padding-left:36pt;text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"> (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt;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:37.327%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.626%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Risk-free rate</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.6 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.6 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Expected dividend yield</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.43 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.39 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.43 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.39 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Expected volatility</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Expected term (in years)</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.0</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5.2</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.0</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5.3</span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Risk-free rate</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Expected dividend yield</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. </span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Expected volatility</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Expected term</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended June 28, 2020 and June 30, 2019 were $19.13 and $18.68, respectively. The weighted-average grant-date fair values of stock options granted during the six-month periods ended June 28, 2020 and June 30, 2019 were $18.52 and $18.59, respectively.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The total intrinsic values of stock options exercised for the three-month periods ended June 28, 2020 and June 30, 2019 were $39,359,000 and $14,220,000, respectively. The total intrinsic values of stock options exercised for the six-month periods ended June 28, 2020 and June 30, 2019 were $53,814,000 and $36,799,000, respectively. The total fair values of stock options vested for the three-month periods ended June 28, 2020 and June 30, 2019 were $1,287,000 and $887,000, respectively. The total fair values of stock options vested for the six-month periods ended June 28, 2020 and June 30, 2019 were $37,951,000 and $30,859,000, respectively.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Restricted Stock Units (RSUs)</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company's RSUs activity for the six-month period ended June 28, 2020: </span></div><div style="text-align:center;margin-top:5pt;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:64.520%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:14.812%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.938%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares<br/>(in thousands)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Nonvested as of December 31, 2019</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">150 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48.63 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Granted</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">432 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">51.53 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Vested</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Forfeited or expired</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(21)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50.54 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Nonvested as of June 28, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">561 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50.79 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span><br/></span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended June 28, 2020 were $56.97 and $51.53, respectively. There were no RSUs that vested during the three-month and six-month periods ended June 28, 2020. There were no RSUs granted or vested during the three-month and six-month periods ended June 30, 2019.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Stock-Based Compensation Expense</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company stratifies its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 7% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate. This resulted in an increase to compensation expense of $1,787,000 in 2020 and a decrease to compensation expense of $499,000 in 2019.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of June 28, 2020, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $65,128,000, which is expected to be recognized over a weighted-average period of 2.0 years.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended June 28, 2020 were $8,018,000, which includes credits of $1,401,000 relating to grants cancelled as a result of the Company's workforce reduction, and $1,277,000, respectively, and for the three-month period ended June 30, 2019 were $10,967,000 and $1,813,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the six-month period ended June 28, 2020 were $22,808,000 and $3,841,000, respectively, and for the six-month period ended June 30, 2019 were $23,248,000 and $4,035,000, respectively. No compensation expense was capitalized as of June 28, 2020 or December 31, 2019.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt;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:37.912%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.041%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of revenue</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">363 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">329 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">717 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">780 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Research, development, and engineering</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,401 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,550 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,767 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,017 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general, and administrative</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,254 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,088 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,324 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,451 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,967 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,808 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 16335000 P5Y P10Y P3Y <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company’s stock option activity for the six-month period ended June 28, 2020:</span></div><div style="margin-top:5pt;margin-bottom:5pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%;"><tr><td style="width:1.0%;"/><td style="width:36.799%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.373%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.323%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.226%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.532%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.083%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares<br/>(in thousands)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term (in years)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Aggregate<br/>Intrinsic<br/>Value<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Outstanding as of December 31, 2019</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,899 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37.95 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Granted</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">975 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">51.58 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exercised</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,822)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">26.47 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:18pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Forfeited or expired</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(421)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50.28 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Outstanding as of June 28, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11,631 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40.45 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.98</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">212,847 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exercisable as of June 28, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,331 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31.59 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5.81</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">144,694 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Options vested or expected to vest as of June 28, 2020 (1)</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,683 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39.58 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.85</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">204,795 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div><div style="padding-left:36pt;text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"> (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</span></div> 12899000 37.95 975000 51.58 1822000 26.47 421000 50.28 11631000 40.45 P6Y11M23D 212847000 5331000 31.59 P5Y9M21D 144694000 10683000 39.58 P6Y10M6D 204795000 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt;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:37.327%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.626%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Risk-free rate</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.6 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.6 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Expected dividend yield</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.43 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.39 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.43 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.39 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Expected volatility</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">37 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Expected term (in years)</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.0</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5.2</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.0</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5.3</span></td></tr></table></div> 0.016 0.027 0.016 0.027 0.0043 0.0039 0.0043 0.0039 0.37 0.37 0.37 0.37 P6Y P5Y2M12D P6Y P5Y3M18D 19.13 18.68 18.52 18.59 39359000 14220000 53814000 36799000 1287000 887000 37951000 30859000 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the Company's RSUs activity for the six-month period ended June 28, 2020: </span></div><div style="text-align:center;margin-top:5pt;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:64.520%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:14.812%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.938%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares<br/>(in thousands)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Nonvested as of December 31, 2019</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">150 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48.63 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Granted</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">432 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">51.53 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Vested</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Forfeited or expired</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(21)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50.54 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Nonvested as of June 28, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">561 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">50.79 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 150000 48.63 432000 51.53 0 0 21000 50.54 561000 50.79 56.97 51.53 0 0 2 0.07 0.12 1787000 499000 65128000 P2Y 8018000 1401000 1277000 10967000 1813000 22808000 3841000 23248000 4035000 0 <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt;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:37.912%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.041%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of revenue</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">363 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">329 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">717 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">780 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Research, development, and engineering</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,401 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,550 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,767 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,017 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general, and administrative</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,254 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,088 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,324 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,451 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,018 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,967 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,808 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,248 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr></table></div> 363000 329000 717000 780000 2401000 3550000 7767000 8017000 5254000 7088000 14324000 14451000 8018000 10967000 22808000 23248000 Stock Repurchase ProgramIn October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of June 28, 2020, the Company repurchased 2,816,000 shares at a cost of $121,348,000 under this program, including 1,215,000 shares at a cost of $51,036,000 during the three-month period ended March 29, 2020, leaving a remaining balance of $78,652,000. No shares were repurchased during the three-month period ended June 28, 2020. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 program. The Company may repurchase shares under these programs in future periods depending upon a variety of factors, including, among other things, the impact of dilution from employee equity awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions. 200000000 2816000 121348000 1215000 51036000 78652000 200000000 Taxes<div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:</span></div><div style="margin-top:5pt;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:41.128%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:11.888%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.450%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.888%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.456%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax expense (benefit) at U.S. federal statutory corporate tax rate</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(21)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">State income taxes, net of federal benefit</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign tax rate differential</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(7)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(7)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Tax credit</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Discrete tax benefit related to stock options</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(191)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(29)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Discrete tax expense related to tax return filings</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">141 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Tax rate adjustment</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax expense</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(51)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span><br/></span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland, and China. The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in a favorable impact to the effective tax rate of 5 percentage points</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">for both the three-month and six-month periods ended June 28, 2020, and 7 percentage points for the same periods in 2019. Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company recorded discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock exercises that resulted in a favorable impact to the effective tax rate of 191 and 29 percentage points for the three-month and six-month periods ended June 28, 2020, respectively, and 2 and 4 percentage points for the same periods in 2019. In addition, the Company recorded discrete tax expenses related to the final true-up of the prior year tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 141 and 17 percentage points for the three-month and six-month periods ended June 28, 2020, respectively.</span></div><div style="text-align:justify;margin-top:5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Excluding the impact of these discrete items, the Company’s effective tax rate was a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the three-month and six-month periods in 2020, respectively, compared to an expense of 17% and 16% of pre-tax income for the same periods in 2019. The increase in the effective tax rate, excluding the impact of discrete items, for the six-month period from 16% in 2019 to 19% in 2020 was due to more of the Company's profits being earned and taxed in higher tax jurisdictions. This adjustment to the effective tax rate resulted in an 18 percentage-point impact on the effective tax rate for the three-month period ended June 28, 2020.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">During the six-month period ended June 28, 2020, the Company recorded a $710,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $283,000 for the six-month period ended June 28, 2020.</span></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company’s reserve for income taxes, including gross interest and penalties, was $13,330,000 as of June 28, 2020, which included $12,302,000 classified as a non-current liability and $1,028,000 recorded as an increase to a non-current deferred tax liability. The amount of gross interest and penalties included in these balances was $1,301,000. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.</span></div>The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts. Within the United States, the tax years 2016 through 2019 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2015 through 2019 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company has recently been notified that it is under audit by the IRS for the tax year 2017. Management believes the Company is adequately reserved for this audit. <div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:</span></div><div style="margin-top:5pt;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:41.128%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:11.888%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.450%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.888%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.456%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax expense (benefit) at U.S. federal statutory corporate tax rate</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(21)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">State income taxes, net of federal benefit</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign tax rate differential</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(7)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(7)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Tax credit</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></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;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Discrete tax benefit related to stock options</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(191)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(29)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Discrete tax expense related to tax return filings</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">141 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Tax rate adjustment</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:top;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax expense</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(51)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div> -0.21 0.21 0.21 0.21 -0.01 0.01 0.01 0.01 0.05 -0.07 -0.05 -0.07 -0.02 0.01 0.02 0.01 1.91 0.02 0.29 0.04 1.41 0 0.17 0 0.18 0 0 0 -0.04 0.02 0.04 0.02 -0.51 0.14 0.07 0.12 0.125 0.25 0.21 0.05 -0.05 -0.07 -0.07 1.91 0.29 0.02 0.04 1.41 0.17 -0.01 0.19 0.17 0.16 0.16 0.19 0.18 710000 283000 13330000 12302000 1028000 1301000 2016 through 2019 2015 through 2019 Weighted-Average Shares<div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt;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:37.912%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.181%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.479%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">172,283 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">171,318 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">172,345 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">171,209 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Effect of dilutive equity awards</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,130 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,154 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,319 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-average common and common-equivalent shares outstanding</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">172,283 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">175,448 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">175,499 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">175,528 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></tr></table></div><div style="text-align:justify;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Stock options to purchase 5,801,000 and 6,328,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended June 28, 2020, respectively, and 6,113,000 and 5,503,000 for the same periods in 2019, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 27,000 and 14,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended June 28, 2020. Additionally, because the Company recorded a cumulative net loss during the three-month period ended June 28, 2020, potential common stock equivalents of 3,120,000 were not included in the calculation of diluted net loss per share for this period. There were no anti-dilutive restricted stock units outstanding, on a weighted-average basis, during the three-month and six-month periods ended June 30, 2019, respectively.</span></div> <div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt;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:37.912%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.181%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.619%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.530%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.479%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Six-months Ended</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 28, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">June 30, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">172,283 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">171,318 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">172,345 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">171,209 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Effect of dilutive equity awards</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,130 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,154 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,319 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-average common and common-equivalent shares outstanding</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">172,283 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">175,448 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">175,499 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">175,528 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></tr></table></div> 172283000 171318000 172345000 171209000 0 4130000 3154000 4319000 172283000 175448000 175499000 175528000 5801000 6328000 6113000 5503000 27000 14000 3120000 Restructuring Charges<div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures. </span></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Company estimates the total restructuring charges from these actions to be approximately $16,445,000, of which $14,798,000 has been recorded in the three-month period ended June 28, 2020 and included in “Restructuring charges” on the Consolidated Statements of Operations. The remaining charges are expected to be recognized during the second half of 2020. The following table summarizes the restructuring charges (in thousands):</span></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;margin-bottom:6pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:57.883%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.767%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.381%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:17.769%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total Amount Expected to be Incurred</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Incurred in the Three-months Ended June 28, 2020</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">One-time termination benefits</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11,387 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,386 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contract termination costs</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,995 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,995 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other associated costs</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,063 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">417 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,445 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,798 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><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;"/></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;"/></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;"/></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;"/></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;"/></tr></table></div><div style="text-align:justify;"><span><br/></span></div><div style="text-align:justify;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">One-time termination benefits include severance, health insurance, and outplacement services for 181 employees who were either terminated or have been notified that they will be terminated at a future date. For employees not required to render service beyond a minimum retention period, the one-time termination benefits were recognized in the three-month period ended June 28, 2020. Otherwise, these benefits, including retention bonuses for selected employees, are being recognized over the service period, which is not expected to exceed the fourth quarter of 2020.</span></div><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Contract termination costs include remaining lease liability obligations and operating lease asset impairments for offices closed prior to the end of the contractual lease term. These costs also include the write-off of leasehold improvements and other equipment related to these abandoned offices that had no alternative use. These contract termination costs were recognized in the three-month period ended June 28, 2020 when the Company ceased using the property for economic benefit. Other associated costs primarily include legal fees related to the employee termination actions, which are being recognized when the services are performed. </span></div><div style="text-align:justify;margin-top:9pt;margin-bottom:16pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the activity in the Company’s restructuring reserve, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):</span></div><div style="text-align:justify;margin-bottom:6pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:37.327%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.204%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.384%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.181%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.384%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.888%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.384%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.648%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">One-time Termination Benefits</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contract Termination Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Associated Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Restructuring charges</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,386 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,995 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">417 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,798 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash payments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,654)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(26)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(9)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,689)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-cash restructuring charges</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,145)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,145)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign exchange rate changes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">72 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,792 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">829 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">415 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,036 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></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;"/></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;"/></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;"/></tr></table></div> 0.08 16445000 14798000 The following table summarizes the restructuring charges (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:57.883%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:17.767%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.381%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:17.769%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total Amount Expected to be Incurred</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Incurred in the Three-months Ended June 28, 2020</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">One-time termination benefits</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11,387 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,386 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contract termination costs</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,995 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,995 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other associated costs</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,063 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">417 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,445 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,798 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><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;"/></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;"/></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;"/></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;"/></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;"/></tr></table> 11387000 10386000 3995000 3995000 1063000 417000 16445000 14798000 181 <div style="text-align:justify;margin-top:9pt;margin-bottom:16pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes the activity in the Company’s restructuring reserve, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):</span></div><div style="text-align:justify;margin-bottom:6pt;"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:37.327%;"/><td style="width:1.0%;"/><td style="width:1.0%;"/><td style="width:13.204%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.384%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.181%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.384%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:11.888%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.384%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.648%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">One-time Termination Benefits</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contract Termination Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Associated Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Restructuring charges</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,386 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,995 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">417 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,798 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash payments</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,654)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(26)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"/></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(9)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,689)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-cash restructuring charges</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,145)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">— </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,145)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Foreign exchange rate changes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">72 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of June 28, 2020</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,792 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">829 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">415 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,036 </span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Arial',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"> </span></td></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;"/></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;"/></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;"/></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;"/></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;"/></tr></table></div> 0 0 0 0 10386000 3995000 417000 14798000 4654000 26000 9000 4689000 0 3145000 0 3145000 -60000 -5000 -7000 -72000 5792000 829000 415000 7036000 Subsequent EventsOn July 29, 2020, the Company’s Board of Directors declared a cash dividend of $0.055 per share. The dividend is payable on August 28, 2020 to all shareholders of record as of the close of business on August 14, 2020. 0.055 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.20.2
Cover Page
6 Months Ended
Jun. 28, 2020
shares
Cover [Abstract]  
Document Type 10-Q
Document Quarterly Report true
Document Period End Date Jun. 28, 2020
Document Transition Report false
Entity File Number 001-34218
Entity Registrant Name COGNEX CORP
Entity Central Index Key 0000851205
Current Fiscal Year End Date --12-31
Document Fiscal Year Focus 2020
Document Fiscal Period Focus Q2
Amendment Flag false
Entity Incorporation, State or Country Code MA
Entity Tax Identification Number 04-2713778
Entity Address, Address Line One One Vision Drive
Entity Address, City or Town Natick
Entity Address, State or Province MA
Entity Address, Postal Zip Code 01760
City Area Code 508
Local Phone Number 650-3000
Entity Current Reporting Status Yes
Entity Interactive Data Current Yes
Entity Filer Category Large Accelerated Filer
Entity Small Business false
Entity Emerging Growth Company false
Entity Shell Company false
Title of 12(b) Security Common Stock, par value $.002 per share
Trading Symbol CGNX
Security Exchange Name NASDAQ
Entity Common Stock, Shares Outstanding 173,047,292
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Income Statement [Abstract]        
Revenue $ 169,097 $ 199,047 $ 336,332 $ 372,531
Cost of revenue 50,320 50,967 91,520 97,251
Gross margin 118,777 148,080 244,812 275,280
Research, development, and engineering expenses 30,397 28,079 66,343 58,321
Selling, general, and administrative expenses 60,153 68,245 129,291 135,056
Restructuring charges (Note 16) 14,798 0 14,798 0
Intangible asset impairment charges (Note 8) 19,571 0 19,571 0
Operating income (loss) (6,142) 51,756 14,809 81,903
Foreign currency gain (loss) 336 140 (2,667) (108)
Investment income 3,291 5,223 8,520 10,128
Other income (expense) 203 (144) 20 783
Income (loss) before income tax expense (benefit) (2,312) 56,975 20,682 92,706
Income tax expense (benefit) (1,170) 8,226 1,347 10,853
Net Income $ (1,142) $ 48,749 $ 19,335 $ 81,853
Net income (loss) per weighted-average common and common-equivalent share:        
Basic (usd per share) $ (0.01) $ 0.28 $ 0.11 $ 0.48
Diluted (usd per share) $ (0.01) $ 0.28 $ 0.11 $ 0.47
Weighted-average common and common-equivalent shares outstanding:        
Basic (shares) 172,283 171,318 172,345 171,209
Diluted (shares) 172,283 175,448 175,499 175,528
Cash dividends per common share (usd per share) $ 0.055 $ 0.050 $ 0.110 $ 0.100
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Statement of Comprehensive Income [Abstract]        
Net income $ (1,142) $ 48,749 $ 19,335 $ 81,853
Available-for-sale investments:        
Net unrealized gain (loss), net of tax of ($836) and $239 in the three-month periods and net of tax of ($1,788) and $507 in the six-month periods, respectively 12,451 2,311 8,590 4,562
Reclassification of credit loss on investments (85) 0 75 0
Reclassification of net realized (gain) loss into current operations (955) (382) (2,805) (422)
Net change related to available-for-sale investments 11,411 1,929 5,860 4,140
Foreign currency translation adjustments:        
Foreign currency translation adjustments 1,903 (663) (5,462) (445)
Other comprehensive income, net of tax 13,314 1,266 398 3,695
Total comprehensive income $ 12,172 $ 50,015 $ 19,733 $ 85,548
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Statement of Comprehensive Income [Abstract]        
Tax effect on cash flow hedges $ 0 $ 0 $ 0 $ 0
Tax effect of unrealized gain (loss) on available-for-sale investments (836) 239 (1,788) 507
Tax effect of foreign currency translation adjustment $ 0 $ 0 $ 0 $ 0
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Balance Sheets - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Current assets:    
Cash and cash equivalents $ 286,021 $ 171,431
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 143,084 240,470
Accounts receivable, less reserves of $2,235 and $1,821 in 2020 and 2019, respectively 111,671 103,447
Unbilled revenue 978 4,782
Inventories 52,953 60,261
Prepaid expenses and other current assets 51,768 26,840
Total current assets 646,475 607,231
Non-current investments, amortized cost of $461,948 and $431,633 in 2020 and 2019, respectively, allowance for expected credit losses of $75 and $0 in 2020 and 2019, respectively 467,087 433,452
Property, plant, and equipment, net 83,936 89,443
Operating lease assets 25,819 17,522
Goodwill 242,436 243,445
Intangible assets, net 17,337 39,490
Deferred income taxes 443,732 449,519
Other assets 8,042 5,833
Total assets 1,934,864 1,885,935
Current liabilities:    
Accounts payable 17,999 17,866
Accrued expenses 66,264 52,199
Accrued income taxes 5,952 30,333
Deferred revenue and customer deposits 46,738 14,432
Operating lease liabilities 7,628 5,647
Total current liabilities 144,581 120,477
Operating Lease, Liability, Noncurrent 21,208 12,326
Deferred income taxes 326,295 332,344
Reserve for income taxes 12,302 11,563
Non-current accrued income taxes 48,915 51,113
Other liabilities 5,085 2,402
Total liabilities 558,386 530,225
Preferred Stock, Value, Outstanding 0 0
Shareholders’ equity:    
Common stock, $.002 par value – Authorized: 300,000 shares in 2020 and 2019, respectively, issued and outstanding: 173,047 and 172,440 shares in 2020 and 2019, respectively 346 345
Additional paid-in capital 710,412 639,372
Retained earnings 702,597 753,268
Accumulated other comprehensive loss, net of tax (36,877) (37,275)
Total shareholders’ equity 1,376,478 1,355,710
Total liabilities and shareholders' equity $ 1,934,864 $ 1,885,935
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Statement of Financial Position [Abstract]    
Reserves for accounts receivable $ 2,235 $ 1,821
Common stock, par value $ 0.002 $ 0.002
Common stock, shares authorized 300,000,000 300,000,000
Common stock, shares issued 173,047,000 172,440,000
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Cash flows from operating activities:    
Net income $ 19,335 $ 81,853
Adjustments to reconcile net income to net cash provided by operating activities:    
Stock-based compensation expense 22,808 23,248
Depreciation of property, plant, and equipment 11,162 10,537
Amortization of intangible assets 2,582 1,538
Intangible asset impairment charges 19,571 0
Excess and obsolete inventory charges 8,783 1,713
Operating lease asset impairment charges 2,534 0
Amortization of discounts or premiums on investments 328 (342)
Realized gain on sale of investments (2,805) (422)
Credit loss on investments 75 0
Revaluation of contingent consideration (114) (863)
Change in deferred income taxes 1,395 (1,311)
Accounts receivable (8,957) 11,383
Unbilled revenue 3,804 (1,989)
Inventories (1,664) 8,681
Prepaid expenses and other current assets (25,461) (463)
Accounts payable 143 (4,528)
Accrued expenses 15,806 (12,270)
Accrued income taxes (25,411) (4,000)
Deferred revenue and customer deposits 32,586 8,575
Other 2,520 (1,190)
Net cash provided by operating activities 79,020 120,150
Cash flows from investing activities:    
Purchases of investments (317,540) (664,896)
Maturities and sales of investments 387,765 587,175
Purchases of property, plant, and equipment (6,985) (8,969)
Net cash provided by (used in) investing activities 63,240 (86,690)
Cash flows from financing activities:    
Issuance of common stock under stock plans 48,235 26,417
Repurchase of common stock (51,036) (61,690)
Payment of dividends (18,972) (17,146)
Payment of contingent consideration (1,039) 0
Net cash provided by (used in) financing activities (22,812) (52,419)
Effect of foreign exchange rate changes on cash and cash equivalents (4,858) (149)
Net change in cash and cash equivalents 114,590 (19,108)
Cash and cash equivalents at beginning of period 171,431 108,212
Cash and cash equivalents at end of period $ 286,021 $ 89,104
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statement of Shareholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning Balance (in shares) at Dec. 31, 2018   170,820      
Beginning Balance at Dec. 31, 2018 $ 1,135,263 $ 342 $ 529,208 $ 646,214 $ (40,501)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   1,239      
Issuance of common stock under stock plans 26,417 $ 2 26,415    
Repurchase of common stock (in shares)   (1,398)      
Repurchase of common stock (61,690) $ (3)   (61,687)  
Stock-based compensation expense 23,248   23,248    
Payment of dividends (17,146)     (17,146)  
Net income 81,853     81,853  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 4,562       4,562
Reclassification of credit (recovery) loss on investments 0        
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (422)       (422)
Foreign currency translation adjustment (445)       (445)
Ending Balance (in shares) at Jun. 30, 2019   170,661      
Ending Balance at Jun. 30, 2019 1,191,640 $ 341 578,871 649,234 (36,806)
Beginning Balance (in shares) at Mar. 31, 2019   171,537      
Beginning Balance at Mar. 31, 2019 1,188,859 $ 343 555,834 670,754 (38,072)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   522      
Issuance of common stock under stock plans 12,071 $ 1 12,070    
Repurchase of common stock (in shares)   (1,398)      
Repurchase of common stock (61,690) $ (3)   (61,687)  
Stock-based compensation expense 10,967   10,967    
Payment of dividends (8,582)     (8,582)  
Net income 48,749     48,749  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 2,311       2,311
Reclassification of credit (recovery) loss on investments 0        
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (382)       (382)
Foreign currency translation adjustment (663)       (663)
Ending Balance (in shares) at Jun. 30, 2019   170,661      
Ending Balance at Jun. 30, 2019 $ 1,191,640 $ 341 578,871 649,234 (36,806)
Beginning Balance (in shares) at Dec. 31, 2019 172,440 172,440      
Beginning Balance at Dec. 31, 2019 $ 1,355,710 $ 345 639,372 753,268 (37,275)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   1,822      
Issuance of common stock under stock plans 48,235 $ 3 48,232    
Repurchase of common stock (in shares)   (1,215)      
Repurchase of common stock (51,036) $ (2)   (51,034)  
Stock-based compensation expense 22,808   22,808    
Payment of dividends (18,972)     (18,972)  
Net income 19,335     19,335  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 8,590       8,590
Reclassification of credit (recovery) loss on investments 75       75
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (2,805)       (2,805)
Foreign currency translation adjustment $ (5,462)       (5,462)
Ending Balance (in shares) at Jun. 28, 2020 173,047 173,047      
Ending Balance at Jun. 28, 2020 $ 1,376,478 $ 346 710,412 702,597 (36,877)
Beginning Balance (in shares) at Mar. 29, 2020   171,688      
Beginning Balance at Mar. 29, 2020 1,327,493 $ 344 664,132 713,208 (50,191)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   1,359      
Issuance of common stock under stock plans 38,264 $ 2 38,262    
Repurchase of common stock (in shares)   0      
Repurchase of common stock 0 $ 0   0  
Stock-based compensation expense 8,018   8,018    
Payment of dividends (9,469)     (9,469)  
Net income (1,142)     (1,142)  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 12,451       12,451
Reclassification of credit (recovery) loss on investments (85)       (85)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (955)       (955)
Foreign currency translation adjustment $ 1,903       1,903
Ending Balance (in shares) at Jun. 28, 2020 173,047 173,047      
Ending Balance at Jun. 28, 2020 $ 1,376,478 $ 346 $ 710,412 $ 702,597 $ (36,877)
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Statement of Stockholders' Equity [Abstract]        
Tax effect of unrealized gain (loss) on available-for-sale investments $ (836) $ 239 $ (1,788) $ 507
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies
6 Months Ended
Jun. 28, 2020
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASU 2016-13 "Measurement of Credit Losses on Financial Instruments," Cognex Corporation (the "Company") has provided new disclosures related to credit losses in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2019 for a full description of other significant accounting policies.
In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, excess and obsolete inventory charges (Note 5), intangible asset impairment charges (Note 8), restructuring charges (Note 16), and financial statement reclassifications necessary to present fairly the Company’s financial position as of June 28, 2020, and the results of its operations for the three-month and six-month periods ended June 28, 2020 and June 30, 2019, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended June 28, 2020 are not necessarily indicative of the results to be expected for the full year.
Cash, Cash Equivalents, and Investments
Money market instruments, as well as certificates of deposit and debt securities with original maturities of three months or less, are classified as cash equivalents and are stated at amortized cost. Certificates of deposit and debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as current investments. Debt securities with remaining maturities greater than one year are classified as non-current investments. It is the Company’s policy to invest in debt securities with effective maturities that do not exceed ten years.
Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax and credit losses, recorded in shareholders’ equity as other comprehensive income (loss). Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method. The Company’s limited partnership interest is accounted for using the cost method because the Company’s investment is less than 5% of the partnership and the Company has no influence over the partnership’s operating and financial policies. The carrying value of this investment has been reduced to zero, and therefore, distributions are recorded as investment income as they occur.
Management monitors the carrying value of its investments in debt securities compared to their fair value to determine whether a credit loss or other type of impairment has occurred. If the fair value of a debt security is less than its amortized cost, the Company assesses whether the decline has resulted from a credit loss or other factors. In assessing whether a credit loss exists, the Company compares the present value of the cash flows expected to be collected from the security with the amortized cost basis of the security. If the present value of the cash flows expected to be collected is less than the amortized cost basis of the security, then a credit loss exists and an allowance for credit losses is recorded. The allowance for credit losses is limited by the amount that the fair value is less than the amortized cost basis of the security. Credit losses on impaired securities continue to be measured in subsequent periods, using the present value of expected future cash flows, and changes in the expected credit losses are recorded in current operations. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statement of Operations. When developing an estimate of the expected credit losses, the Company considers all available information relevant to assessing the collectability of cash flows. This information includes internal and external factors, historical and current events, reasonable and supportable forecasts including management's expectations of future economic conditions, the type of security, the credit rating of the security, the size of the loss position, as well as other relevant information.
An impairment is recognized as a write-down if (i) the Company has the intent to sell the security or (ii) it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. If impairment is considered upon condition (i) or (ii) described above, the debt security's amortized cost basis is written-down to its fair value and the impairment is recognized in current operations. Subsequent increases in the fair value of the debt securities after the write-down are included in shareholders' equity as other comprehensive income. The differences between the new amortized cost basis and the cash flows expected to be collected are accreted as interest income.
Unrealized losses, that have not been recorded through an allowance for credit losses or write-down of the debt security, are recorded in shareholders' equity as other comprehensive loss, net of the applicable taxes.
Accounts Receivable
The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition. Accounts that are outstanding longer than the payment terms are considered to be past due. The Company establishes an allowance against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer’s current ability to pay its obligations to the Company, general economic and industry conditions, and reasonable forecasts about the future, as well as various other factors. Receivables are written off against this allowance in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense. Credit losses are included in "Selling, general, and administrative expenses" on the Consolidated Statement of Operations.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.20.2
New Pronouncements
6 Months Ended
Jun. 28, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"
ASU 2019-12 applies to all entities within the scope of Topic 740, Income Taxes. The amendments in this ASU simplify the accounting for income taxes by removing the following exceptions: 1) exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items; 2) exception to the requirement to recognize a deferred tax liability for equity method investments when a foreign subsidiary becomes an equity method investment; 3) exception to the ability not to recognize a deferred tax liability for a foreign subsidiary when a foreign equity method investment becomes a subsidiary; and 4) exception to the general methodology for calculating income taxes in an interim period when a year-to-date loss exceeds the anticipated loss for the year. The amendments in this ASU also simplify the accounting for income taxes by doing the following: 1) requiring that an entity recognize a franchise tax that is partially based on income as an income-based tax and account for any incremental amount incurred as a non-income-based tax; 2) requiring that an entity evaluate when a step up in the tax basis of goodwill should be considered part of the business combination in which the book goodwill was originally recognized and when it should be considered a separate transaction; 3) specifying that an entity is not required to allocate the consolidated amount of current and deferred tax expense to a legal entity that is not subject to tax in its separate financial statements; and 4) requiring that an entity reflect the effect of an enacted change in tax laws or rates in the annual effective tax rate computation in the interim period that included the enacted date. The amendments in this ASU are effective for public companies for annual periods, and interim periods within those annual periods, beginning after December 15, 2020. Early adoption is permitted; however, an entity that elects to early adopt the amendments must adopt all the amendments in the same period. The amendments in this ASU related to separate financial statements of legal entities that are not subject to tax should be applied on a retrospective basis for all periods presented. The amendments related to changes in ownership of foreign equity method investments or foreign subsidiaries should be applied on a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. The amendments related to franchise taxes that are partially based on income should be applied on either a retrospective basis for all periods presented or a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. All other amendments should be applied on a prospective basis. Management does not expect ASU 2019-12 to have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848)"
The amendments in this ASU apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. The amendments in this ASU provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in this ASU are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 to have a material impact on the Company's consolidated financial statements and disclosures.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements
6 Months Ended
Jun. 28, 2020
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of June 28, 2020 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$50,222  $—  $—  
Corporate bonds—  236,660  
Treasury bills—  230,692  —  
Asset-backed securities—  91,610  —  
Sovereign bonds—  27,517  —  
Agency bonds—  22,054  —  
Municipal bonds—  1,638  
Economic hedge forward contracts—  46  —  
Liabilities:
Economic hedge forward contracts—  458  —  
Contingent consideration liabilities—  —  —  
The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1.
The Company’s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.
The Company recorded gross credit losses and gross credit recoveries on debt securities totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020. No credit losses or recoveries on debt securities were recorded for the three-month or six-month periods ended June 30, 2019. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statements of Operations.
The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market, and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period.
The fair value of the contingent consideration liability related to the Company's acquisition of Chiaro Technologies, LLC was $1,153,000 as of December 31, 2019. During the three-month period ended June 28, 2020, the Company paid out $1,039,000 based upon the revenue levels achieved, with the remaining $114,000 recorded as a fair value adjustment in "Other income (expense)" on the Consolidated Statements of Operations.
The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. was written down to zero as of December 31, 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of June 28, 2020. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next two years.
Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis
Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. Our business has been adversely and materially impacted by deteriorating global economic conditions resulting from the COVID-19 pandemic. The significant decline in business levels triggered a review of long-lived assets for potential impairment as of May 26, 2020, which resulted in operating lease asset impairment charges of $2,534,000 (refer to Notes 6 and 16) that are included in "Restructuring charges" on the Consolidated Statements of Operations, and intangible asset impairment charges of $19,571,000 (refer to Note 8). These fair value measurements are based upon the present values of future cash flows using significant inputs that are not observable in the market, and are therefore classified as Level 3.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments
6 Months Ended
Jun. 28, 2020
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
June 28, 2020December 31, 2019
Cash$235,799  $155,498  
Money market instruments50,222  15,933  
Cash and cash equivalents286,021  171,431  
Asset-backed securities50,311  66,680  
Corporate bonds42,248  65,624  
Treasury bills34,018  92,914  
Sovereign bonds14,869  6,294  
Municipal bonds1,638  4,630  
Certificate of deposit—  4,328  
Current investments143,084  240,470  
Treasury bills196,674  216,334  
Corporate bonds194,412  146,474  
Asset-backed securities41,299  46,403  
Agency bonds22,054  5,914  
Sovereign bonds12,648  16,005  
Municipal bonds—  2,322  
Non-current investments467,087  433,452  
$896,192  $845,353  

Asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; treasury bills consist of debt securities issued by the U.S. government; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; certificates of deposit are time deposits held by financial institutions with a fixed interest rate; and agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars, with the exception of the certificate of deposit held as of December 31, 2019 that was denominated in Korean Won.

Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $1,958,000 and $2,874,000 as of June 28, 2020 and December 31, 2019, respectively.
On January 1, 2020, the Company adopted Accounting Standards Update (ASU) 2016-13, “Measurement of Credit Losses on Financial Instruments,” using the modified-retrospective approach, which requires the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to retained earnings as of the beginning of the period in which the guidance is effective. The Company did not record an adjustment to retained earnings, as there were no debt securities with credit losses as of the adoption date.
The following table summarizes the Company’s available-for-sale investments as of June 28, 2020 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Asset-backed securities$49,899  $412  $—  $50,311  
Corporate bonds42,065  221  (38) 42,248  
Treasury bills33,480  538  —  34,018  
Sovereign bonds14,787  82  —  14,869  
Municipal bonds1,643  —  (5) 1,638  
Non-current:
Treasury bills194,330  2,345  (1) 196,674  
Corporate bonds192,233  2,513  (334) 194,412  
Asset-backed securities40,817  484  (2) 41,299  
Agency bonds22,035  37  (18) 22,054  
Sovereign bonds12,533  115  —  12,648  
$603,822  $6,747  $(398) $610,171  

The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of June 28, 2020 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$49,525  $(363) $1,181  $(9) $50,706  $(372) 
Treasury bills12,962  (1) —  —  12,962  (1) 
Asset-backed securities5,749  (1) 260  (1) 6,009  (2) 
Agency bonds3,128  (2) 2,784  (16) 5,912  (18) 
Municipal bonds1,293  (5) —  —  1,293  (5) 
$72,657  $(372) $4,225  $(26) $76,882  $(398) 

The Company recorded gross credit losses and gross credit recoveries on debt securities totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020. No credit losses or recoveries on debt securities were recorded for the three-month or six-month periods ended June 30, 2019. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statements of Operations.
The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$—  
Increases to the allowance for credit losses160  
Decreases to the allowance for credit losses(85) 
Write-offs —  
Balance as of June 28, 2020$75  

The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $962,000 and $7,000, respectively, for the three-month period ended June 28, 2020, and $394,000 and $12,000, respectively, for the three-month period ended June 30, 2019. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $2,826,000 and $21,000, respectively, for the six-month period ended June 28, 2020, and $458,000 and $36,000, respectively, for the six-month period ended June 30, 2019. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of June 28, 2020 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 YearsTotal
Corporate bonds$42,248  $81,987  $102,034  $10,391  $—  $236,660  
Treasury bills34,018  138,612  58,062  —  —  230,692  
Asset-backed securities50,311  13,750  23,308  —  4,241  91,610  
Sovereign bonds14,869  9,218  3,430  —  —  27,517  
Agency bonds—  —  22,054  —  —  22,054  
Municipal bonds1,638  —  —  —  —  1,638  
$143,084  $243,567  $208,888  $10,391  $4,241  $610,171  
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.20.2
Inventories
6 Months Ended
Jun. 28, 2020
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories consisted of the following (in thousands):
June 28, 2020December 31, 2019
Raw materials$20,736  $27,285  
Work-in-process4,111  5,503  
Finished goods28,106  27,473  
$52,953  $60,261  

The Company recorded provisions for excess and obsolete inventories of $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, which reduced the carrying value of the inventories to their net realizable value. The charges for the three-month period ended June 28, 2020 were due to lower projected sales of excess inventories as a result of deteriorating global economic conditions from the COVID-19 pandemic.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.20.2
Leases
6 Months Ended
Jun. 28, 2020
Leases [Abstract]  
Leases Leases
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of June 28, 2020. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for the leases outstanding as of June 28, 2020.
The total operating lease expense for the three-month periods ended June 28, 2020 and June 30, 2019 was $2,147,000 and $1,742,000, respectively. The total operating lease cash payments for the three-month periods ended June 28, 2020 and June 30, 2019 were $2,091,000 and $1,669,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $23,000 and $64,000 for the three-month periods ended June 28, 2020 and June 30, 2019, respectively.
The total operating lease expense for the six-month periods ended June 28, 2020 and June 30, 2019 was $4,053,000 and $3,227,000, respectively. The total operating lease cash payments for the six-month periods ended June 28, 2020 and June 30, 2019 were $3,954,000 and $3,070,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $62,000 and $233,000 for the six-month periods ended June 28, 2020 and June 30, 2019, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2020$4,335  
20218,340  
20226,169  
20234,973  
20242,391  
20251,322  
Thereafter4,462  
$31,992  
The discounted present value of the future lease cash payments resulted in a lease liability of $28,836,000 and $17,973,000 as of June 28, 2020 and December 31, 2019, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of June 28, 2020 or June 30, 2019.
The weighted-average discount rate was 4.1% and 4.8% for the leases outstanding as of June 28, 2020 and June 30, 2019, respectively. The weighted-average remaining lease term was 5.3 and 3.6 years for the leases outstanding as of June 28, 2020 and June 30, 2019, respectively.
As part of the Company's restructuring plan (refer to Note 16), management closed ten leased offices as of June 28, 2020 prior to the end of their lease terms. The carrying value of the lease assets associated with these ten offices has been reduced to zero as of June 28, 2020, resulting in operating lease asset impairment charges of $2,534,000 for the three-month period ended June 28, 2020 that are included in "Restructuring charges" on the Consolidated Statements of Operations. Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices.
The Company owns a building adjacent to its corporate headquarters that was partially occupied by a tenant for a portion of the current year. This lease was terminated prior to the end of its lease term during the three-month period ended June 28, 2020. Rental income was $0 and $81,000 for the three-month periods ended June 28, 2020 and June 30, 2019, respectively, and $77,000 and $158,000 for the six-month periods ended June 28, 2020 and June 30, 2019, respectively. The Company is now fully occupying this building for its operations.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill (Notes)
6 Months Ended
Jun. 28, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2019$243,445  
  Foreign exchange rate changes(1,009) 
Balance as of June 28, 2020$242,436  
The significant decline in business levels resulting from the COVID-19 pandemic triggered a review of long-lived assets, including goodwill, for potential impairment during the three-month period ended June 28, 2020. Based upon this assessment, management concluded that the reporting unit fair value was not less than its carrying value, and therefore no goodwill impairment charge was recognized for the three-month and six-month periods ended June 28, 2020. Factors that management considered in this assessment included macroeconomic conditions, industry and market conditions, overall financial performance (both current and projected), changes in management or strategy, changes in the composition or carrying value of net assets, and market capitalization.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.20.2
Intangible Assets
6 Months Ended
Jun. 28, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060  $38,060  $—  
Completed technologies21,917  11,035  10,882  
Customer relationships10,578  6,795  3,783  
In-process technologies2,300  —  2,300  
Non-compete agreements710  409  301  
Trademarks110  39  71  
Balance as of June 28, 2020$73,675  $56,338  $17,337  
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060  $38,060  $—  
Completed technologies31,987  9,160  22,827  
Customer relationships14,407  6,402  8,005  
In-process technologies8,200  —  8,200  
Non-compete agreements710  350  360  
Trademarks110  12  98  
Balance as of December 31, 2019$93,474  $53,984  $39,490  

The significant decline in business levels resulting from the COVID-19 pandemic triggered a review of long-lived assets, including intangible assets, for potential impairment during the three-month period ended June 28, 2020. For finite-lived intangible assets that are subject to amortization, the Company follows a two-step process for impairment testing. In step one, known as the recoverability test, the carrying value of the asset is compared to the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset. If the sum of the undiscounted future cash flows is less than the carrying value, the asset is not recoverable and step two is performed. In step two, the impairment charge is measured as the amount by which the carrying value of the asset exceeds its fair value. For indefinite-lived intangible assets that are not subject to amortization, the fair value of the asset is measured and an impairment charge is recorded as the amount by which the carrying value of the asset exceeds its fair value.
Based upon this assessment, management concluded that certain of the Company's finite-lived intangible assets failed the recoverability test, and recorded impairment charges for these assets equal to the amount by which their carrying value exceeded their fair value. The Company also measured the fair value and recorded an impairment charge for its indefinite-lived intangible asset related to in-process technologies. The fair values were established, with the assistance of an outside valuation advisor, using the income approach based upon a discounted cash flow model that estimated future revenue streams and expenses attributable to those revenue streams provided by management.
This review resulted in intangible asset impairment charges totaling $19,571,000 for the three-month period ended June 28, 2020, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab Co. Ltd. ("Sualab") as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Completed technologies, in-process technologies, and customer relationships acquired from Sualab were impaired in the amounts of $10,070,000, $5,900,000, and $3,382,000, respectively. In addition, customer relationships acquired from EnShape GmbH that had a gross carrying value of $447,000 and accumulated amortization of $228,000 on the measurement date were reduced to zero, resulting in an impairment charge of $219,000.

As of June 28, 2020, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2020$1,686  
20213,272  
20222,902  
20232,211  
20241,697  
20251,374  
Thereafter1,895  
$15,037  
In-process technology is an indefinite-lived intangible asset until the technology is finalized, at which point it is amortized over its estimated useful life.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.20.2
Warranty Obligations
6 Months Ended
Jun. 28, 2020
Product Warranties Disclosures [Abstract]  
Warranty Obligations Warranty Obligations
The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2019$4,713  
Provisions for warranties issued during the period1,493  
Fulfillment of warranty obligations(927) 
Balance as of June 28, 2020$5,279  
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments
6 Months Ended
Jun. 28, 2020
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivative Instruments Derivative Instruments
The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. Currently, the Company enters into economic hedges to manage this risk. The economic hedges utilize foreign currency forward contracts with maturities of up to 45 days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.
The Company had the following outstanding forward contracts (in thousands):
June 28, 2020December 31, 2019
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Korean Won138,690,000  $115,604  161,951,500  $139,688  
Euro50,000  56,137  18,000  20,249  
Mexican Peso184,700  8,051  80,000  4,223  
Japanese Yen600,000  5,587  575,000  5,291  
Hungarian Forint1,085,000  3,443  870,000  2,962  
British Pound1,940  2,406  2,700  3,569  
Taiwanese Dollar42,765  1,455  37,450  1,256  
Canadian Dollar1,130  827  1,300  1,000  
Singapore Dollar1,090  784  845  628  
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
June 28, 2020December 31, 2019Sheet
Location
June 28, 2020December 31, 2019
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$46  $857  Accrued expenses$458  $23  
The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset DerivativesLiability Derivatives
June 28, 2020December 31, 2019June 28, 2020December 31, 2019
Gross amounts of recognized assets$46  $857  Gross amounts of recognized liabilities$458  $23  
Gross amounts offset—  —  Gross amounts offset—  —  
Net amount of assets presented$46  $857  Net amount of liabilities presented$458  $23  

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$60  $(439) $(8,180) $66  
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition
6 Months Ended
Jun. 28, 2020
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Americas$68,966  $77,408  $129,214  $142,178  
Europe35,987  59,620  84,569  119,158  
Greater China31,898  35,816  58,301  58,632  
Other Asia32,246  26,203  64,248  52,563  
$169,097  $199,047  $336,332  $372,531  

The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Standard products and services$158,807  $173,368  $311,662  $334,420  
Application-specific customer solutions10,290  25,679  24,670  38,111  
$169,097  $199,047  $336,332  $372,531  

Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $10,888,000 and $3,963,000 as of June 28, 2020 and December 31, 2019, respectively.

Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for potential credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.
On January 1, 2020, the Company adopted Accounting Standards Update (ASU) 2016-13, “Measurement of Credit Losses on Financial Instruments,” using the modified-retrospective approach, which requires the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to retained earnings as of the beginning of the period in which the guidance is effective. The Company did not record an adjustment to retained earnings as this ASU did not have a material impact on the Company's consolidated allowance for credit losses.
The Company recorded credit losses on accounts receivable of $300,000 and $600,000 for the three-month and six-month periods ended June 28, 2020, respectively. The Company recorded credit losses on accounts receivable of $90,000 for the three-month and six-month periods ended June 30, 2019. The Company's estimate of expected credit losses takes into account the deteriorating global economic conditions from the COVID-19 pandemic.
The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$530  
Increases to the allowance for credit losses600  
Write-offs (186) 
Foreign exchange rate changes 
Balance as of June 28, 2020$945  
The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$14,432  
Increases to deferred revenue and customer deposits57,904  
Recognition of revenue(25,493) 
Foreign exchange rate changes(105) 
Balance as of June 28, 2020$46,738  

As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense
6 Months Ended
Jun. 28, 2020
Share-based Payment Arrangement [Abstract]  
Stock-Based Compensation Expense Stock-Based Compensation Expense
Stock Plans
The Company’s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of June 28, 2020, the Company had 16,335,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the six-month period ended June 28, 2020:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 201912,899  $37.95  
Granted975  51.58  
Exercised(1,822) 26.47  
Forfeited or expired(421) 50.28  
Outstanding as of June 28, 202011,631  $40.45  6.98$212,847  
Exercisable as of June 28, 20205,331  $31.59  5.81$144,694  
Options vested or expected to vest as of June 28, 2020 (1)10,683  $39.58  6.85$204,795  
 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Risk-free rate1.6 %2.7 %1.6  2.7 %
Expected dividend yield0.43 %0.39 %0.43 %0.39 %
Expected volatility37 %37 %37 %37 %
Expected term (in years)6.05.26.05.3
Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month periods ended June 28, 2020 and June 30, 2019 were $19.13 and $18.68, respectively. The weighted-average grant-date fair values of stock options granted during the six-month periods ended June 28, 2020 and June 30, 2019 were $18.52 and $18.59, respectively.
The total intrinsic values of stock options exercised for the three-month periods ended June 28, 2020 and June 30, 2019 were $39,359,000 and $14,220,000, respectively. The total intrinsic values of stock options exercised for the six-month periods ended June 28, 2020 and June 30, 2019 were $53,814,000 and $36,799,000, respectively. The total fair values of stock options vested for the three-month periods ended June 28, 2020 and June 30, 2019 were $1,287,000 and $887,000, respectively. The total fair values of stock options vested for the six-month periods ended June 28, 2020 and June 30, 2019 were $37,951,000 and $30,859,000, respectively.
Restricted Stock Units (RSUs)
The following table summarizes the Company's RSUs activity for the six-month period ended June 28, 2020:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 2019150  $48.63  
Granted432  51.53  
Vested—  —  
Forfeited or expired(21) 50.54  
Nonvested as of June 28, 2020561  $50.79  

The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended June 28, 2020 were $56.97 and $51.53, respectively. There were no RSUs that vested during the three-month and six-month periods ended June 28, 2020. There were no RSUs granted or vested during the three-month and six-month periods ended June 30, 2019.
Stock-Based Compensation Expense
The Company stratifies its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 7% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate. This resulted in an increase to compensation expense of $1,787,000 in 2020 and a decrease to compensation expense of $499,000 in 2019.
As of June 28, 2020, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $65,128,000, which is expected to be recognized over a weighted-average period of 2.0 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended June 28, 2020 were $8,018,000, which includes credits of $1,401,000 relating to grants cancelled as a result of the Company's workforce reduction, and $1,277,000, respectively, and for the three-month period ended June 30, 2019 were $10,967,000 and $1,813,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the six-month period ended June 28, 2020 were $22,808,000 and $3,841,000, respectively, and for the six-month period ended June 30, 2019 were $23,248,000 and $4,035,000, respectively. No compensation expense was capitalized as of June 28, 2020 or December 31, 2019.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Cost of revenue$363  $329  $717  $780  
Research, development, and engineering2,401  3,550  7,767  8,017  
Selling, general, and administrative5,254  7,088  14,324  14,451  
$8,018  $10,967  $22,808  $23,248  
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.20.2
Stock Repurchase Program
6 Months Ended
Jun. 28, 2020
Equity [Abstract]  
Stock Repurchase Program Stock Repurchase ProgramIn October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of June 28, 2020, the Company repurchased 2,816,000 shares at a cost of $121,348,000 under this program, including 1,215,000 shares at a cost of $51,036,000 during the three-month period ended March 29, 2020, leaving a remaining balance of $78,652,000. No shares were repurchased during the three-month period ended June 28, 2020. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 program. The Company may repurchase shares under these programs in future periods depending upon a variety of factors, including, among other things, the impact of dilution from employee equity awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.20.2
Taxes
6 Months Ended
Jun. 30, 2019
Income Tax Disclosure [Abstract]  
Income Taxes Taxes
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Income tax expense (benefit) at U.S. federal statutory corporate tax rate(21)%21 %21 %21 %
State income taxes, net of federal benefit(1)%%%%
Foreign tax rate differential%(7)%(5)%(7)%
Tax credit%(1)%(2)%(1)%
Discrete tax benefit related to stock options(191)%(2)%(29)%(4)%
Discrete tax expense related to tax return filings141 %— %17 %— %
Tax rate adjustment18 %— %— %— %
Other(4)%%%%
Income tax expense(51)%14 %%12 %

The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland, and China. The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in a favorable impact to the effective tax rate of 5 percentage points for both the three-month and six-month periods ended June 28, 2020, and 7 percentage points for the same periods in 2019. Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested.
The Company recorded discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock exercises that resulted in a favorable impact to the effective tax rate of 191 and 29 percentage points for the three-month and six-month periods ended June 28, 2020, respectively, and 2 and 4 percentage points for the same periods in 2019. In addition, the Company recorded discrete tax expenses related to the final true-up of the prior year tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 141 and 17 percentage points for the three-month and six-month periods ended June 28, 2020, respectively.
Excluding the impact of these discrete items, the Company’s effective tax rate was a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the three-month and six-month periods in 2020, respectively, compared to an expense of 17% and 16% of pre-tax income for the same periods in 2019. The increase in the effective tax rate, excluding the impact of discrete items, for the six-month period from 16% in 2019 to 19% in 2020 was due to more of the Company's profits being earned and taxed in higher tax jurisdictions. This adjustment to the effective tax rate resulted in an 18 percentage-point impact on the effective tax rate for the three-month period ended June 28, 2020.
During the six-month period ended June 28, 2020, the Company recorded a $710,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $283,000 for the six-month period ended June 28, 2020.
The Company’s reserve for income taxes, including gross interest and penalties, was $13,330,000 as of June 28, 2020, which included $12,302,000 classified as a non-current liability and $1,028,000 recorded as an increase to a non-current deferred tax liability. The amount of gross interest and penalties included in these balances was $1,301,000. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.
The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts. Within the United States, the tax years 2016 through 2019 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2015 through 2019 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company has recently been notified that it is under audit by the IRS for the tax year 2017. Management believes the Company is adequately reserved for this audit.
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.20.2
Weighted-Average Shares
6 Months Ended
Jun. 28, 2020
Earnings Per Share [Abstract]  
Weighted-Average Shares Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Basic weighted-average common shares outstanding172,283  171,318  172,345  171,209  
Effect of dilutive equity awards—  4,130  3,154  4,319  
Weighted-average common and common-equivalent shares outstanding172,283  175,448  175,499  175,528  
Stock options to purchase 5,801,000 and 6,328,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended June 28, 2020, respectively, and 6,113,000 and 5,503,000 for the same periods in 2019, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 27,000 and 14,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended June 28, 2020. Additionally, because the Company recorded a cumulative net loss during the three-month period ended June 28, 2020, potential common stock equivalents of 3,120,000 were not included in the calculation of diluted net loss per share for this period. There were no anti-dilutive restricted stock units outstanding, on a weighted-average basis, during the three-month and six-month periods ended June 30, 2019, respectively.
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.20.2
Restructuring Charges
6 Months Ended
Jun. 28, 2020
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring Charges
On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures.

The Company estimates the total restructuring charges from these actions to be approximately $16,445,000, of which $14,798,000 has been recorded in the three-month period ended June 28, 2020 and included in “Restructuring charges” on the Consolidated Statements of Operations. The remaining charges are expected to be recognized during the second half of 2020. The following table summarizes the restructuring charges (in thousands):

Total Amount Expected to be IncurredIncurred in the Three-months Ended June 28, 2020
One-time termination benefits$11,387  $10,386  
Contract termination costs3,995  3,995  
Other associated costs1,063  417  
$16,445  $14,798  

One-time termination benefits include severance, health insurance, and outplacement services for 181 employees who were either terminated or have been notified that they will be terminated at a future date. For employees not required to render service beyond a minimum retention period, the one-time termination benefits were recognized in the three-month period ended June 28, 2020. Otherwise, these benefits, including retention bonuses for selected employees, are being recognized over the service period, which is not expected to exceed the fourth quarter of 2020.
Contract termination costs include remaining lease liability obligations and operating lease asset impairments for offices closed prior to the end of the contractual lease term. These costs also include the write-off of leasehold improvements and other equipment related to these abandoned offices that had no alternative use. These contract termination costs were recognized in the three-month period ended June 28, 2020 when the Company ceased using the property for economic benefit. Other associated costs primarily include legal fees related to the employee termination actions, which are being recognized when the services are performed.
The following table summarizes the activity in the Company’s restructuring reserve, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsOther Associated CostsTotal
Balance as of December 31, 2019$—  $—  $—  $—  
Restructuring charges10,386  3,995  417  14,798  
Cash payments(4,654) (26) (9) (4,689) 
Non-cash restructuring charges—  (3,145) —  (3,145) 
Foreign exchange rate changes60    72  
Balance as of June 28, 2020$5,792  $829  $415  $7,036  
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.20.2
Subsequent Events
6 Months Ended
Jun. 28, 2020
Subsequent Events [Abstract]  
Subsequent Events Subsequent EventsOn July 29, 2020, the Company’s Board of Directors declared a cash dividend of $0.055 per share. The dividend is payable on August 28, 2020 to all shareholders of record as of the close of business on August 14, 2020.
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 28, 2020
Accounting Policies [Abstract]  
Cash, Cash Equivalents, and Investments
Cash, Cash Equivalents, and Investments
Money market instruments, as well as certificates of deposit and debt securities with original maturities of three months or less, are classified as cash equivalents and are stated at amortized cost. Certificates of deposit and debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as current investments. Debt securities with remaining maturities greater than one year are classified as non-current investments. It is the Company’s policy to invest in debt securities with effective maturities that do not exceed ten years.
Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax and credit losses, recorded in shareholders’ equity as other comprehensive income (loss). Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method. The Company’s limited partnership interest is accounted for using the cost method because the Company’s investment is less than 5% of the partnership and the Company has no influence over the partnership’s operating and financial policies. The carrying value of this investment has been reduced to zero, and therefore, distributions are recorded as investment income as they occur.
Management monitors the carrying value of its investments in debt securities compared to their fair value to determine whether a credit loss or other type of impairment has occurred. If the fair value of a debt security is less than its amortized cost, the Company assesses whether the decline has resulted from a credit loss or other factors. In assessing whether a credit loss exists, the Company compares the present value of the cash flows expected to be collected from the security with the amortized cost basis of the security. If the present value of the cash flows expected to be collected is less than the amortized cost basis of the security, then a credit loss exists and an allowance for credit losses is recorded. The allowance for credit losses is limited by the amount that the fair value is less than the amortized cost basis of the security. Credit losses on impaired securities continue to be measured in subsequent periods, using the present value of expected future cash flows, and changes in the expected credit losses are recorded in current operations. Credit losses and recoveries are included in "Other income (expense)" on the Consolidated Statement of Operations. When developing an estimate of the expected credit losses, the Company considers all available information relevant to assessing the collectability of cash flows. This information includes internal and external factors, historical and current events, reasonable and supportable forecasts including management's expectations of future economic conditions, the type of security, the credit rating of the security, the size of the loss position, as well as other relevant information.
An impairment is recognized as a write-down if (i) the Company has the intent to sell the security or (ii) it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. If impairment is considered upon condition (i) or (ii) described above, the debt security's amortized cost basis is written-down to its fair value and the impairment is recognized in current operations. Subsequent increases in the fair value of the debt securities after the write-down are included in shareholders' equity as other comprehensive income. The differences between the new amortized cost basis and the cash flows expected to be collected are accreted as interest income.
Unrealized losses, that have not been recorded through an allowance for credit losses or write-down of the debt security, are recorded in shareholders' equity as other comprehensive loss, net of the applicable taxes.
Accounts Receivable
Accounts Receivable
The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition. Accounts that are outstanding longer than the payment terms are considered to be past due. The Company establishes an allowance against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer’s current ability to pay its obligations to the Company, general economic and industry conditions, and reasonable forecasts about the future, as well as various other factors. Receivables are written off against this allowance in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense. Credit losses are included in "Selling, general, and administrative expenses" on the Consolidated Statement of Operations.
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"
ASU 2019-12 applies to all entities within the scope of Topic 740, Income Taxes. The amendments in this ASU simplify the accounting for income taxes by removing the following exceptions: 1) exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items; 2) exception to the requirement to recognize a deferred tax liability for equity method investments when a foreign subsidiary becomes an equity method investment; 3) exception to the ability not to recognize a deferred tax liability for a foreign subsidiary when a foreign equity method investment becomes a subsidiary; and 4) exception to the general methodology for calculating income taxes in an interim period when a year-to-date loss exceeds the anticipated loss for the year. The amendments in this ASU also simplify the accounting for income taxes by doing the following: 1) requiring that an entity recognize a franchise tax that is partially based on income as an income-based tax and account for any incremental amount incurred as a non-income-based tax; 2) requiring that an entity evaluate when a step up in the tax basis of goodwill should be considered part of the business combination in which the book goodwill was originally recognized and when it should be considered a separate transaction; 3) specifying that an entity is not required to allocate the consolidated amount of current and deferred tax expense to a legal entity that is not subject to tax in its separate financial statements; and 4) requiring that an entity reflect the effect of an enacted change in tax laws or rates in the annual effective tax rate computation in the interim period that included the enacted date. The amendments in this ASU are effective for public companies for annual periods, and interim periods within those annual periods, beginning after December 15, 2020. Early adoption is permitted; however, an entity that elects to early adopt the amendments must adopt all the amendments in the same period. The amendments in this ASU related to separate financial statements of legal entities that are not subject to tax should be applied on a retrospective basis for all periods presented. The amendments related to changes in ownership of foreign equity method investments or foreign subsidiaries should be applied on a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. The amendments related to franchise taxes that are partially based on income should be applied on either a retrospective basis for all periods presented or a modified retrospective basis through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption. All other amendments should be applied on a prospective basis. Management does not expect ASU 2019-12 to have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848)"
The amendments in this ASU apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. The amendments in this ASU provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in this ASU are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 to have a material impact on the Company's consolidated financial statements and disclosures.
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Tables)
6 Months Ended
Jun. 28, 2020
Fair Value Disclosures [Abstract]  
Assets and Liabilities Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of June 28, 2020 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$50,222  $—  $—  
Corporate bonds—  236,660  
Treasury bills—  230,692  —  
Asset-backed securities—  91,610  —  
Sovereign bonds—  27,517  —  
Agency bonds—  22,054  —  
Municipal bonds—  1,638  
Economic hedge forward contracts—  46  —  
Liabilities:
Economic hedge forward contracts—  458  —  
Contingent consideration liabilities—  —  —  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. was written down to zero as of December 31, 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of June 28, 2020. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next two years.
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments (Tables)
6 Months Ended
Jun. 28, 2020
Cash and Cash Equivalents [Abstract]  
Components of Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
June 28, 2020December 31, 2019
Cash$235,799  $155,498  
Money market instruments50,222  15,933  
Cash and cash equivalents286,021  171,431  
Asset-backed securities50,311  66,680  
Corporate bonds42,248  65,624  
Treasury bills34,018  92,914  
Sovereign bonds14,869  6,294  
Municipal bonds1,638  4,630  
Certificate of deposit—  4,328  
Current investments143,084  240,470  
Treasury bills196,674  216,334  
Corporate bonds194,412  146,474  
Asset-backed securities41,299  46,403  
Agency bonds22,054  5,914  
Sovereign bonds12,648  16,005  
Municipal bonds—  2,322  
Non-current investments467,087  433,452  
$896,192  $845,353  
Summary of Available-for-Sale Investments
The following table summarizes the Company’s available-for-sale investments as of June 28, 2020 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Asset-backed securities$49,899  $412  $—  $50,311  
Corporate bonds42,065  221  (38) 42,248  
Treasury bills33,480  538  —  34,018  
Sovereign bonds14,787  82  —  14,869  
Municipal bonds1,643  —  (5) 1,638  
Non-current:
Treasury bills194,330  2,345  (1) 196,674  
Corporate bonds192,233  2,513  (334) 194,412  
Asset-backed securities40,817  484  (2) 41,299  
Agency bonds22,035  37  (18) 22,054  
Sovereign bonds12,533  115  —  12,648  
$603,822  $6,747  $(398) $610,171  
Gross Unrealized Losses and Fair Values for Available-for-Sale Investments
The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of June 28, 2020 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$49,525  $(363) $1,181  $(9) $50,706  $(372) 
Treasury bills12,962  (1) —  —  12,962  (1) 
Asset-backed securities5,749  (1) 260  (1) 6,009  (2) 
Agency bonds3,128  (2) 2,784  (16) 5,912  (18) 
Municipal bonds1,293  (5) —  —  1,293  (5) 
$72,657  $(372) $4,225  $(26) $76,882  $(398) 
Schedule of Allowance for Credit Loss Activity
The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$—  
Increases to the allowance for credit losses160  
Decreases to the allowance for credit losses(85) 
Write-offs —  
Balance as of June 28, 2020$75  
Effective Maturity Dates of Available-for-Sale Investments
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of June 28, 2020 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 YearsTotal
Corporate bonds$42,248  $81,987  $102,034  $10,391  $—  $236,660  
Treasury bills34,018  138,612  58,062  —  —  230,692  
Asset-backed securities50,311  13,750  23,308  —  4,241  91,610  
Sovereign bonds14,869  9,218  3,430  —  —  27,517  
Agency bonds—  —  22,054  —  —  22,054  
Municipal bonds1,638  —  —  —  —  1,638  
$143,084  $243,567  $208,888  $10,391  $4,241  $610,171  
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.20.2
Inventories (Tables)
6 Months Ended
Jun. 28, 2020
Inventory Disclosure [Abstract]  
Schedule of Inventories
Inventories consisted of the following (in thousands):
June 28, 2020December 31, 2019
Raw materials$20,736  $27,285  
Work-in-process4,111  5,503  
Finished goods28,106  27,473  
$52,953  $60,261  
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.20.2
Leases (Tables)
6 Months Ended
Jun. 28, 2020
Leases [Abstract]  
Lessee, Operating Lease, Liability, Maturity
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2020$4,335  
20218,340  
20226,169  
20234,973  
20242,391  
20251,322  
Thereafter4,462  
$31,992  
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill (Tables)
6 Months Ended
Jun. 28, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2019$243,445  
  Foreign exchange rate changes(1,009) 
Balance as of June 28, 2020$242,436  
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.20.2
Intangible Assets (Tables)
6 Months Ended
Jun. 28, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060  $38,060  $—  
Completed technologies21,917  11,035  10,882  
Customer relationships10,578  6,795  3,783  
In-process technologies2,300  —  2,300  
Non-compete agreements710  409  301  
Trademarks110  39  71  
Balance as of June 28, 2020$73,675  $56,338  $17,337  
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060  $38,060  $—  
Completed technologies31,987  9,160  22,827  
Customer relationships14,407  6,402  8,005  
In-process technologies8,200  —  8,200  
Non-compete agreements710  350  360  
Trademarks110  12  98  
Balance as of December 31, 2019$93,474  $53,984  $39,490  
Schedule of Intangible Assets, Future Amortization Expense
As of June 28, 2020, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2020$1,686  
20213,272  
20222,902  
20232,211  
20241,697  
20251,374  
Thereafter1,895  
$15,037  
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.20.2
Warranty Obligations (Tables)
6 Months Ended
Jun. 28, 2020
Product Warranties Disclosures [Abstract]  
Changes in Warranty Obligations
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2019$4,713  
Provisions for warranties issued during the period1,493  
Fulfillment of warranty obligations(927) 
Balance as of June 28, 2020$5,279  
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments (Tables)
6 Months Ended
Jun. 28, 2020
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Outstanding Forward Contracts Table
The Company had the following outstanding forward contracts (in thousands):
June 28, 2020December 31, 2019
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Korean Won138,690,000  $115,604  161,951,500  $139,688  
Euro50,000  56,137  18,000  20,249  
Mexican Peso184,700  8,051  80,000  4,223  
Japanese Yen600,000  5,587  575,000  5,291  
Hungarian Forint1,085,000  3,443  870,000  2,962  
British Pound1,940  2,406  2,700  3,569  
Taiwanese Dollar42,765  1,455  37,450  1,256  
Canadian Dollar1,130  827  1,300  1,000  
Singapore Dollar1,090  784  845  628  
Schedule of Derivative Instruments in Statement of Financial Position, Fair Value
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
June 28, 2020December 31, 2019Sheet
Location
June 28, 2020December 31, 2019
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$46  $857  Accrued expenses$458  $23  
Offsetting Assets
The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset DerivativesLiability Derivatives
June 28, 2020December 31, 2019June 28, 2020December 31, 2019
Gross amounts of recognized assets$46  $857  Gross amounts of recognized liabilities$458  $23  
Gross amounts offset—  —  Gross amounts offset—  —  
Net amount of assets presented$46  $857  Net amount of liabilities presented$458  $23  
Derivative Instruments, Gain (Loss)
Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$60  $(439) $(8,180) $66  
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition (Tables)
6 Months Ended
Jun. 28, 2020
Revenue from Contract with Customer [Abstract]  
Revenue from External Customers by Geographic Areas
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Americas$68,966  $77,408  $129,214  $142,178  
Europe35,987  59,620  84,569  119,158  
Greater China31,898  35,816  58,301  58,632  
Other Asia32,246  26,203  64,248  52,563  
$169,097  $199,047  $336,332  $372,531  
Revenue from External Customers by Products and Services
The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months EndedSix-months Ended
June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Standard products and services$158,807  $173,368  $311,662  $334,420  
Application-specific customer solutions10,290  25,679  24,670  38,111  
$169,097  $199,047  $336,332  $372,531  
Schedule of Allowance for Credit Loss Activity
The following table summarizes the allowance for credit losses activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$530  
Increases to the allowance for credit losses600  
Write-offs (186) 
Foreign exchange rate changes 
Balance as of June 28, 2020$945  
Deferred Revenue, by Arrangement, Disclosure
The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended June 28, 2020 (in thousands):
Balance as of December 31, 2019$14,432  
Increases to deferred revenue and customer deposits57,904  
Recognition of revenue(25,493) 
Foreign exchange rate changes(105) 
Balance as of June 28, 2020$46,738  
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense (Tables)
6 Months Ended
Jun. 28, 2020
Share-based Payment Arrangement [Abstract]  
Summary of Stock Option Activity
The following table summarizes the Company’s stock option activity for the six-month period ended June 28, 2020:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 201912,899  $37.95  
Granted975  51.58  
Exercised(1,822) 26.47  
Forfeited or expired(421) 50.28  
Outstanding as of June 28, 202011,631  $40.45  6.98$212,847  
Exercisable as of June 28, 20205,331  $31.59  5.81$144,694  
Options vested or expected to vest as of June 28, 2020 (1)10,683  $39.58  6.85$204,795  
 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Risk-free rate1.6 %2.7 %1.6  2.7 %
Expected dividend yield0.43 %0.39 %0.43 %0.39 %
Expected volatility37 %37 %37 %37 %
Expected term (in years)6.05.26.05.3
Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Cost of revenue$363  $329  $717  $780  
Research, development, and engineering2,401  3,550  7,767  8,017  
Selling, general, and administrative5,254  7,088  14,324  14,451  
$8,018  $10,967  $22,808  $23,248  
Schedule of Nonvested Restricted Stock Units Activity
The following table summarizes the Company's RSUs activity for the six-month period ended June 28, 2020:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 2019150  $48.63  
Granted432  51.53  
Vested—  —  
Forfeited or expired(21) 50.54  
Nonvested as of June 28, 2020561  $50.79  
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.20.2
Income Taxes (Tables)
6 Months Ended
Jun. 28, 2020
Income Tax Disclosure [Abstract]  
Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Income tax expense (benefit) at U.S. federal statutory corporate tax rate(21)%21 %21 %21 %
State income taxes, net of federal benefit(1)%%%%
Foreign tax rate differential%(7)%(5)%(7)%
Tax credit%(1)%(2)%(1)%
Discrete tax benefit related to stock options(191)%(2)%(29)%(4)%
Discrete tax expense related to tax return filings141 %— %17 %— %
Tax rate adjustment18 %— %— %— %
Other(4)%%%%
Income tax expense(51)%14 %%12 %
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.20.2
Weighted-Average Shares (Tables)
6 Months Ended
Jun. 28, 2020
Earnings Per Share [Abstract]  
Calculation of Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months EndedSix-months Ended
 June 28, 2020June 30, 2019June 28, 2020June 30, 2019
Basic weighted-average common shares outstanding172,283  171,318  172,345  171,209  
Effect of dilutive equity awards—  4,130  3,154  4,319  
Weighted-average common and common-equivalent shares outstanding172,283  175,448  175,499  175,528  
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.20.2
Restructuring Charges (Tables)
6 Months Ended
Jun. 28, 2020
Restructuring and Related Activities [Abstract]  
Schedule of Restructuring Charges The following table summarizes the restructuring charges (in thousands):
Total Amount Expected to be IncurredIncurred in the Three-months Ended June 28, 2020
One-time termination benefits$11,387  $10,386  
Contract termination costs3,995  3,995  
Other associated costs1,063  417  
$16,445  $14,798  
Schedule of Activity in Restructuring Reserve
The following table summarizes the activity in the Company’s restructuring reserve, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsOther Associated CostsTotal
Balance as of December 31, 2019$—  $—  $—  $—  
Restructuring charges10,386  3,995  417  14,798  
Cash payments(4,654) (26) (9) (4,689) 
Non-cash restructuring charges—  (3,145) —  (3,145) 
Foreign exchange rate changes60    72  
Balance as of June 28, 2020$5,792  $829  $415  $7,036  
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Assets:    
Money market instruments $ 50,222 $ 15,933
Financial assets at fair value 610,171  
Corporate Bonds    
Assets:    
Financial assets at fair value 236,660  
Treasury Bills    
Assets:    
Financial assets at fair value 230,692  
Asset-Backed Securities    
Assets:    
Financial assets at fair value 91,610  
Sovereign Bonds    
Assets:    
Financial assets at fair value 27,517  
Agency Bonds    
Assets:    
Financial assets at fair value 22,054  
Municipal Bonds    
Assets:    
Financial assets at fair value 1,638  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 50,222  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 0  
Economic hedge forward contracts 46  
Liabilities:    
Economic hedge forward contracts 458  
Contingent consideration liabilities 0  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 236,660  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 230,692  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 91,610  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 27,517  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 22,054  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value 1,638  
Fair Value, Inputs, Level 3 | Fair Value, Measurements, Recurring    
Liabilities:    
Contingent consideration liabilities $ 0 $ 1,153
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Dec. 31, 2019
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Business Combination, Contingent Consideration, Liability $ 0   $ 0   $ 0
Payment of contingent consideration 1,039,000   1,039,000 $ 0  
Operating lease asset impairment charges 2,534,000   2,534,000 0  
Intangible asset impairment charges 19,571,000 $ 0 19,571,000 0  
Reclassification of credit loss on investments 85,000 0 (75,000) 0  
Gross credit losses recorded 0 0 160,000 0  
Gross recoveries 85,000 $ 0 85,000 $ 0  
Other Income (Expense)          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Fair value adjustment 114,000        
Restructuring Charges          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Operating lease asset impairment charges     2,534,000    
Chiaro Technologies LLC [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Business Combination, Contingent Consideration, Liability         $ 1,153,000
GVi Ventures, Inc. [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low 2,500,000   2,500,000    
Minimum | GVi Ventures, Inc. [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low $ 0   $ 0    
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Dec. 31, 2019
Cash and Cash Equivalents [Line Items]          
Reclassification of credit loss on investments $ 85 $ 0 $ (75) $ 0  
Gross realized gains on sale of investments 962 394 2,826 458  
Gross realized losses on sale of investments 7 $ 12 21 $ 36  
Other Current Assets          
Cash and Cash Equivalents [Line Items]          
Accrued interest receivable $ 1,958   $ 1,958   $ 2,874
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Debt Securities, Available-for-sale [Line Items]    
Cash $ 235,799 $ 155,498
Money market instruments 50,222 15,933
Cash and cash equivalents 286,021 171,431
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 143,084 240,470
Non-current investments, amortized cost of $461,948 and $431,633 in 2020 and 2019, respectively, allowance for expected credit losses of $75 and $0 in 2020 and 2019, respectively 467,087 433,452
Total 896,192 845,353
Treasury Bills    
Debt Securities, Available-for-sale [Line Items]    
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 34,018 92,914
Long-term investments 196,674 216,334
Corporate Bonds    
Debt Securities, Available-for-sale [Line Items]    
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 42,248 65,624
Long-term investments 194,412 146,474
Asset-Backed Securities    
Debt Securities, Available-for-sale [Line Items]    
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 50,311 66,680
Long-term investments 41,299 46,403
Certificate of deposit    
Debt Securities, Available-for-sale [Line Items]    
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 0 4,328
Sovereign Bonds    
Debt Securities, Available-for-sale [Line Items]    
Long-term investments 12,648 16,005
Agency Bonds    
Debt Securities, Available-for-sale [Line Items]    
Long-term investments 22,054 5,914
Municipal Bonds    
Debt Securities, Available-for-sale [Line Items]    
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 1,638 4,630
Long-term investments 0 2,322
Sovereign bonds    
Debt Securities, Available-for-sale [Line Items]    
Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019 $ 14,869 $ 6,294
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)
$ in Thousands
Jun. 28, 2020
USD ($)
Debt Securities, Available-for-sale [Line Items]  
Amortized cost $ 603,822
Gross unrealized gains 6,747
Gross unrealized losses (398)
Fair value 610,171
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 22,054
Agency Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 22,035
Gross unrealized gains 37
Gross unrealized losses (18)
Fair value 22,054
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
Fair value 230,692
Treasury Bills | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 33,480
Gross unrealized gains 538
Gross unrealized losses 0
Fair value 34,018
Treasury Bills | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 194,330
Gross unrealized gains 2,345
Gross unrealized losses (1)
Fair value 196,674
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 236,660
Corporate Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 42,065
Gross unrealized gains 221
Gross unrealized losses (38)
Fair value 42,248
Corporate Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 192,233
Gross unrealized gains 2,513
Gross unrealized losses (334)
Fair value 194,412
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
Fair value 91,610
Asset-Backed Securities | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 49,899
Gross unrealized gains 412
Gross unrealized losses 0
Fair value 50,311
Asset-Backed Securities | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 40,817
Gross unrealized gains 484
Gross unrealized losses (2)
Fair value 41,299
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 27,517
Sovereign Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 14,787
Gross unrealized gains 82
Gross unrealized losses 0
Fair value 14,869
Sovereign Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 12,533
Gross unrealized gains 115
Gross unrealized losses 0
Fair value 12,648
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 1,638
Municipal Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 1,643
Gross unrealized gains 0
Gross unrealized losses (5)
Fair value $ 1,638
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Debt Securities, Available-for-sale [Line Items]        
Fair value, less than 12 months $ 72,657,000   $ 72,657,000  
Unrealized losses, less than 12 months (372,000)   (372,000)  
Fair value, 12 months or greater 4,225,000   4,225,000  
Unrealized losses, 12 months or greater (26,000)   (26,000)  
Total fair value 76,882,000   76,882,000  
Total unrealized losses 398,000   398,000  
Gross credit losses recorded 0 $ 0 160,000 $ 0
Gross recoveries 85,000 $ 0 85,000 $ 0
Treasury Bills        
Debt Securities, Available-for-sale [Line Items]        
Fair value, less than 12 months 12,962,000   12,962,000  
Unrealized losses, less than 12 months (1,000)   (1,000)  
Fair value, 12 months or greater 0   0  
Unrealized losses, 12 months or greater 0   0  
Total fair value 12,962,000   12,962,000  
Total unrealized losses 1,000   1,000  
Agency Bonds        
Debt Securities, Available-for-sale [Line Items]        
Fair value, less than 12 months 3,128,000   3,128,000  
Unrealized losses, less than 12 months (2,000)   (2,000)  
Fair value, 12 months or greater 2,784,000   2,784,000  
Unrealized losses, 12 months or greater (16,000)   (16,000)  
Total fair value 5,912,000   5,912,000  
Total unrealized losses 18,000   18,000  
Corporate Bonds        
Debt Securities, Available-for-sale [Line Items]        
Fair value, less than 12 months 49,525,000   49,525,000  
Unrealized losses, less than 12 months (363,000)   (363,000)  
Fair value, 12 months or greater 1,181,000   1,181,000  
Unrealized losses, 12 months or greater (9,000)   (9,000)  
Total fair value 50,706,000   50,706,000  
Total unrealized losses 372,000   372,000  
Asset-Backed Securities        
Debt Securities, Available-for-sale [Line Items]        
Fair value, less than 12 months 5,749,000   5,749,000  
Unrealized losses, less than 12 months (1,000)   (1,000)  
Fair value, 12 months or greater 260,000   260,000  
Unrealized losses, 12 months or greater (1,000)   (1,000)  
Total fair value 6,009,000   6,009,000  
Total unrealized losses 2,000   2,000  
Municipal Bonds        
Debt Securities, Available-for-sale [Line Items]        
Fair value, less than 12 months 1,293,000   1,293,000  
Unrealized losses, less than 12 months (5,000)   (5,000)  
Fair value, 12 months or greater 0   0  
Unrealized losses, 12 months or greater 0   0  
Total fair value 1,293,000   1,293,000  
Total unrealized losses $ 5,000   $ 5,000  
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward]        
Balance as of December 31, 2019     $ 0  
Increases to the allowance for credit losses $ 0 $ 0 160,000 $ 0
Decreases to the allowance for credit losses (85,000) 0 (85,000) 0
Write-offs     0  
Balance as of June 28, 2020 75,000   75,000  
Reclassification of credit loss on investments $ 85,000 $ 0 $ (75,000) $ 0
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.20.2
Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)
$ in Thousands
Jun. 28, 2020
USD ($)
Debt Securities, Available-for-sale [Line Items]  
1 year or less $ 143,084
1-2 years 243,567
2-3 years 208,888
3-4 years 10,391
4-5 years 4,241
Fair value 610,171
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 42,248
1-2 years 81,987
2-3 years 102,034
3-4 years 10,391
4-5 years 0
Fair value 236,660
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 34,018
1-2 years 138,612
2-3 years 58,062
3-4 years 0
4-5 years 0
Fair value 230,692
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 50,311
1-2 years 13,750
2-3 years 23,308
3-4 years 0
4-5 years 4,241
Fair value 91,610
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 14,869
1-2 years 9,218
2-3 years 3,430
3-4 years 0
4-5 years 0
Fair value 27,517
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 0
1-2 years 0
2-3 years 22,054
3-4 years 0
4-5 years 0
Fair value 22,054
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 1,638
1-2 years 0
2-3 years 0
3-4 years 0
4-5 years 0
Fair value $ 1,638
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.20.2
Inventories - Schedule of Inventories (Details) - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Inventory Disclosure [Abstract]    
Raw materials $ 20,736 $ 27,285
Work-in-process 4,111 5,503
Finished goods 28,106 27,473
Inventories $ 52,953 $ 60,261
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.20.2
Inventories - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 28, 2020
Jun. 30, 2019
Inventory Disclosure [Abstract]      
Excess and obsolete inventory charges $ 7,718 $ 8,783 $ 1,713
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.20.2
Leases - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Dec. 31, 2019
Leases [Abstract]          
Operating Lease, Liability $ 28,836,000   $ 28,836,000   $ 17,973,000
Operating lease, right-of-use asset 25,819,000   25,819,000   17,522,000
Operating lease, liability, current 7,628,000   7,628,000   5,647,000
Operating lease, liability, noncurrent 21,208,000   21,208,000   $ 12,326,000
Operating lease, cost 2,147,000 $ 1,742,000 4,053,000 $ 3,227,000  
Operating lease, payments 2,091,000 1,669,000 3,954,000 3,070,000  
Lease, cost $ 23,000 $ 64,000 $ 62,000 $ 233,000  
Weighted average discount rate 4.10% 4.80% 4.10% 4.80%  
Weighted average remaining lease term 5 years 3 months 18 days 3 years 7 months 6 days 5 years 3 months 18 days 3 years 7 months 6 days  
Operating lease asset impairment charges $ 2,534,000   $ 2,534,000 $ 0  
Carrying value operating lease right-of-use assets impaired 0   0    
Rental income $ 0 $ 81,000 $ 77,000 $ 158,000  
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.20.2
Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)
$ in Thousands
Jun. 28, 2020
USD ($)
Leases [Abstract]  
Remainder of fiscal 2019 $ 4,335
2021 8,340
2022 6,169
2023 4,973
2024 2,391
2025 1,322
Thereafter 4,462
Total $ 31,992
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill (Details)
$ in Thousands
6 Months Ended
Jun. 28, 2020
USD ($)
Goodwill [Roll Forward]  
Balance as of December 31, 2019 $ 243,445
Foreign exchange rate changes (1,009)
Balance as of December 31, 2019 $ 242,436
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.20.2
Intangible Assets (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
May 26, 2020
Dec. 31, 2019
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value $ 73,675,000   $ 73,675,000     $ 93,474,000
Accumulated Amortization 56,338,000   56,338,000     53,984,000
Net Carrying Value 17,337,000   17,337,000     39,490,000
Intangible asset impairment charges 19,571,000 $ 0 19,571,000 $ 0    
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 17,337,000   17,337,000     39,490,000
Distribution networks            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value 38,060,000   38,060,000     38,060,000
Accumulated Amortization 38,060,000   38,060,000     38,060,000
Net Carrying Value 0   0     0
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 0   0     0
Completed technologies            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value 21,917,000   21,917,000     31,987,000
Accumulated Amortization 11,035,000   11,035,000     9,160,000
Net Carrying Value 10,882,000   10,882,000     22,827,000
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 10,882,000   10,882,000     22,827,000
Completed technologies | Sualab [Member]            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges 10,070,000          
Customer relationships            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value 10,578,000   10,578,000     14,407,000
Accumulated Amortization 6,795,000   6,795,000     6,402,000
Net Carrying Value 3,783,000   3,783,000     8,005,000
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 3,783,000   3,783,000     8,005,000
Customer relationships | Sualab [Member]            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges 3,382,000          
Customer relationships | EnShape GmbH [Member]            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Accumulated Amortization         $ 228,000  
Intangible asset impairment charges 219,000          
Intangible assets acquired 0   0   $ 447,000  
In-process technologies            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value 2,300,000   2,300,000     8,200,000
Accumulated Amortization 0   0     0
Net Carrying Value 2,300,000   2,300,000     8,200,000
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 2,300,000   2,300,000     8,200,000
In-process technologies | Sualab [Member]            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges 5,900,000          
Non-compete agreements            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value 710,000   710,000     710,000
Accumulated Amortization 409,000   409,000     350,000
Net Carrying Value 301,000   301,000     360,000
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 301,000   301,000     360,000
Trademarks            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Gross Carrying Value 110,000   110,000     110,000
Accumulated Amortization 39,000   39,000     12,000
Net Carrying Value 71,000   71,000     98,000
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Net Carrying Value 71,000   71,000     $ 98,000
Indefinite-lived intangible asset excluding in-process technologies            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Net Carrying Value 15,037,000   15,037,000      
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]            
Remainder of fiscal 2020 1,686,000   1,686,000      
2021 3,272,000   3,272,000      
2022 2,902,000   2,902,000      
2023 2,211,000   2,211,000      
2024 1,697,000   1,697,000      
2025 1,374,000   1,374,000      
Thereafter 1,895,000   1,895,000      
Net Carrying Value $ 15,037,000   $ 15,037,000      
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.20.2
Warranty Obligations - Changes in Warranty Obligations (Detail)
$ in Thousands
6 Months Ended
Jun. 28, 2020
USD ($)
Movement in Standard Product Warranty Accrual [Roll Forward]  
Beginning balance $ 4,713
Provisions for warranties issued during the period 1,493
Fulfillment of warranty obligations (927)
Ending balance $ 5,279
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments (Details)
6 Months Ended
Jun. 28, 2020
Not Designated as Hedging Instrument  
Derivative Instruments and Hedging Activities Disclosures [Line Items]  
Remaining maturity of foreign currency derivatives (up to) 45 days
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments - Outstanding Forward Contracts Table (Details) - Not Designated as Hedging Instrument
€ in Thousands, ₩ in Thousands, ¥ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands
Jun. 28, 2020
KRW (₩)
Jun. 28, 2020
USD ($)
Jun. 28, 2020
EUR (€)
Jun. 28, 2020
JPY (¥)
Jun. 28, 2020
TWD ($)
Jun. 28, 2020
CAD ($)
Jun. 28, 2020
SGD ($)
Dec. 31, 2019
KRW (₩)
Dec. 31, 2019
USD ($)
Dec. 31, 2019
EUR (€)
Dec. 31, 2019
JPY (¥)
Dec. 31, 2019
TWD ($)
Dec. 31, 2019
CAD ($)
Dec. 31, 2019
SGD ($)
Euro Member Countries, Euro                            
Derivative [Line Items]                            
Outstanding forward contracts   $ 56,137 € 50,000           $ 20,249 € 18,000        
Japanese Yen                            
Derivative [Line Items]                            
Outstanding forward contracts   5,587   ¥ 600,000         5,291   ¥ 575,000      
Mexico, Pesos                            
Derivative [Line Items]                            
Outstanding forward contracts   8,051   184,700         4,223   80,000      
United Kingdom, Pounds                            
Derivative [Line Items]                            
Outstanding forward contracts   2,406   1,940         3,569   2,700      
Hungary, Forint                            
Derivative [Line Items]                            
Outstanding forward contracts   3,443   ¥ 1,085,000         2,962   ¥ 870,000      
Korean Won                            
Derivative [Line Items]                            
Outstanding forward contracts ₩ 138,690,000 115,604           ₩ 161,951,500 139,688          
Taiwanese Dollar                            
Derivative [Line Items]                            
Outstanding forward contracts   1,455     $ 42,765       1,256     $ 37,450    
Canada, Dollars                            
Derivative [Line Items]                            
Outstanding forward contracts   827       $ 1,130     1,000       $ 1,300  
Singapore, Dollars                            
Derivative [Line Items]                            
Outstanding forward contracts   $ 784         $ 1,090   $ 628         $ 845
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Derivatives, Fair Value [Line Items]    
Derivative asset $ 46 $ 857
Derivative liability 458 23
Not Designated as Hedging Instrument | Prepaid Expenses and Other Current Assets    
Derivatives, Fair Value [Line Items]    
Derivative asset 46 857
Not Designated as Hedging Instrument | Accrued Expenses    
Derivatives, Fair Value [Line Items]    
Derivative liability $ 458 $ 23
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments - Offsetting Assets (Details) - USD ($)
$ in Thousands
Jun. 28, 2020
Dec. 31, 2019
Derivative Instruments and Hedging Activities Disclosure [Abstract]    
Gross amounts of recognized assets $ 46 $ 857
Gross amounts offset 0 0
Net amount of assets presented 46 857
Gross amounts of recognized liabilities 458 23
Gross amounts offset 0 0
Net amount of liabilities presented $ 458 $ 23
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Not Designated as Hedging Instrument | Foreign Currency Gain (Loss)        
Derivative Instruments, Gain (Loss) [Line Items]        
Gains (losses) recognized in current operations $ 60 $ (439) $ (8,180) $ 66
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Revenue Disaggregated by Geography (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Disaggregation of Revenue [Line Items]        
Revenue $ 169,097 $ 199,047 $ 336,332 $ 372,531
Americas        
Disaggregation of Revenue [Line Items]        
Revenue 68,966 77,408 129,214 142,178
Europe        
Disaggregation of Revenue [Line Items]        
Revenue 35,987 59,620 84,569 119,158
Greater China        
Disaggregation of Revenue [Line Items]        
Revenue 31,898 35,816 58,301 58,632
Other Asia        
Disaggregation of Revenue [Line Items]        
Revenue $ 32,246 $ 26,203 $ 64,248 $ 52,563
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Revenue Disaggregated by Products and Services (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Revenue from External Customer [Line Items]        
Revenue $ 169,097 $ 199,047 $ 336,332 $ 372,531
Standard Products and Services        
Revenue from External Customer [Line Items]        
Revenue 158,807 173,368 311,662 334,420
Application-Specific Customer Solutions        
Revenue from External Customer [Line Items]        
Revenue $ 10,290 $ 25,679 $ 24,670 $ 38,111
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Dec. 31, 2019
Revenue from Contract with Customer [Abstract]          
Costs to fulfill contract $ 10,888   $ 10,888   $ 3,963
Credit losses on accounts receivable $ 300 $ 90 $ 600 $ 90  
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Schedule of Allowance for Credit Loss (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Accounts Receivable, Allowance for Credit Loss [Roll Forward]        
Balance as of December 31, 2019     $ 530  
Increases to the allowance for credit losses $ 300 $ 90 600 $ 90
Write-offs     (186)  
Foreign exchange rate changes     1  
Balance as of June 28, 2020 $ 945   $ 945  
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Deferred Revenue Activity (Details)
$ in Thousands
6 Months Ended
Jun. 28, 2020
USD ($)
Movement in Deferred Revenue [Roll Forward]  
Balance as of December 31, 2019 $ 14,432
Increases to deferred revenue and customer deposits 57,904
Recognition of revenue (25,493)
Foreign exchange rate changes (105)
Balance as of June 28, 2020 $ 46,738
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense (Details)
3 Months Ended 6 Months Ended
Jun. 28, 2020
USD ($)
group
$ / shares
shares
Jun. 30, 2019
USD ($)
$ / shares
Jun. 28, 2020
USD ($)
group
$ / shares
shares
Jun. 30, 2019
USD ($)
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Weighted-average grant-date fair values, in dollars per share | $ / shares $ 19.13 $ 18.68 $ 18.52 $ 18.59
Total intrinsic value $ 39,359,000 $ 14,220,000 $ 53,814,000 $ 36,799,000
Total fair values of stock options vest $ 1,287,000 887,000 $ 37,951,000 $ 30,859,000
Vested (in shares) | shares       0
Groups within the employee population | group 2   2  
Estimated annual forfeiture rate for unvested options for senior management 7.00%   7.00%  
Estimated annual forfeiture rate for unvested options for all other employees 12.00%   12.00%  
Increase (decrease) to compensation expense     $ 1,787,000 $ 499,000
Unrecognized compensation expense $ 65,128,000   $ 65,128,000  
Weighted average period to be recognized     2 years  
Stock-based compensation expense 8,018,000 10,967,000 $ 22,808,000 23,248,000
Credits related to grants cancelled 1,401,000   1,401,000  
Tax benefit from compensation expense 1,277,000 $ 1,813,000 3,841,000 $ 4,035,000
Recognized period costs capitalized $ 0   $ 0  
Employee Stock Option        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Shares available for grant under stock option plans | shares 16,335,000   16,335,000  
Expiration period from grant day     10 years  
Performance Shares        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Vesting period for stock option plans     3 years  
Restricted Stock Units (RSUs)        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Granted (in dollars per share) | $ / shares $ 56.97   $ 51.53  
Vested (in shares) | shares     0  
Granted (in shares) | shares     432,000 0
Minimum | General Stock Option Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Vesting period for stock option plans     4 years  
Maximum | General Stock Option Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Vesting period for stock option plans     5 years  
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
6 Months Ended
Jun. 28, 2020
USD ($)
$ / shares
shares
Shares (in thousands)  
Outstanding, shares | shares 12,899
Granted, shares | shares 975
Exercised, shares | shares (1,822)
Forfeited or expired, shares | shares (421)
Outstanding, shares | shares 11,631
Exercisable as of reporting date, shares | shares 5,331
Options vested or expected to vest as of reporting date, shares | shares 10,683
Weighted- Average Exercise Price  
Outstanding, shares | $ / shares $ 37.95
Granted, in dollars per share | $ / shares 51.58
Exercised, in dollars per share | $ / shares 26.47
Forfeited or expired, in dollars per share | $ / shares 50.28
Outstanding, shares | $ / shares 40.45
Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares 31.59
Weighted- Average Remaining Contractual Term (in years) | $ / shares $ 39.58
Weighted- Average Remaining Contractual Term (in years)  
Outstanding, in years 6 years 11 months 23 days
Exercisable, in years 5 years 9 months 21 days
Options vested or expected to vest, in years 6 years 10 months 6 days
Aggregate Intrinsic Value (in thousands)  
Outstanding, in dollars | $ $ 212,847
Exercisable, in dollars | $ 144,694
Options vested or expected to vest, in dollars | $ $ 204,795
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Share-based Payment Arrangement [Abstract]        
Risk-free rate 1.60% 2.70% 1.60% 2.70%
Expected dividend yield 0.43% 0.39% 0.43% 0.39%
Expected volatility 37.00% 37.00% 37.00% 37.00%
Expected term (in years) 6 years 5 years 2 months 12 days 6 years 5 years 3 months 18 days
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) - $ / shares
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 28, 2020
Jun. 30, 2019
Shares (in thousands)      
Vested (in shares)     0
Restricted Stock Units (RSUs)      
Shares (in thousands)      
Nonvested as of December 31, 2019 (in shares)   150,000  
Granted (in shares)   432,000 0
Vested (in shares)   0  
Forfeited or expired (in shares)   (21,000)  
Nonvested as of March 29, 2020 (in shares) 561,000 561,000  
Weighted-Average Grant Date Fair Value      
Nonvested as of December 31, 2019 (in dollars per share)   $ 48.63  
Granted (in dollars per share) $ 56.97 51.53  
Vested (in dollars per share)   0  
Forfeited or expired (in dollars per share)   50.54  
Nonvested as of March 29, 2020 (in dollars per share) $ 50.79 $ 50.79  
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense $ 8,018 $ 10,967 $ 22,808 $ 23,248
Cost of Revenue        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense 363 329 717 780
Research, Development, and Engineering Expenses        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense 2,401 3,550 7,767 8,017
Selling, General, and Administrative        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense $ 5,254 $ 7,088 $ 14,324 $ 14,451
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.20.2
Stock Repurchase Program (Details) - USD ($)
shares in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Mar. 29, 2020
Mar. 12, 2020
Oct. 29, 2018
Equity, Class of Treasury Stock [Line Items]              
Remaining authorized repurchase amount $ 78,652,000   $ 78,652,000        
Stock repurchased during period, value $ 0 $ 61,690,000 $ 51,036,000 $ 61,690,000      
Repurchase Program October 2018              
Equity, Class of Treasury Stock [Line Items]              
Authorized common stock to be repurchased             $ 200,000,000
Share repurchased (in shares) 2,816   2,816   1,215    
Shares repurchased, value $ 121,348,000   $ 121,348,000   $ 51,036,000    
Repurchase Program March 2020              
Equity, Class of Treasury Stock [Line Items]              
Authorized common stock to be repurchased           $ 200,000,000  
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.20.2
Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Income Tax Disclosure [Abstract]        
Income tax expense (benefit) at U.S. federal statutory corporate tax rate (21.00%) 21.00% 21.00% 21.00%
State income taxes, net of federal benefit (1.00%) 1.00% 1.00% 1.00%
Foreign tax rate differential 5.00% (7.00%) (5.00%) (7.00%)
Tax credit 2.00% (1.00%) (2.00%) (1.00%)
Discrete tax benefit related to stock options (191.00%) (2.00%) (29.00%) (4.00%)
Discrete tax expense related to tax return filings (141.00%) 0.00% (17.00%) 0.00%
Tax rate adjustment 18.00% 0.00% 0.00% 0.00%
Other (4.00%) 2.00% 4.00% 2.00%
Income tax expense (51.00%) 14.00% 7.00% 12.00%
XML 84 R73.htm IDEA: XBRL DOCUMENT v3.20.2
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Dec. 31, 2019
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate (21.00%) 21.00% 21.00% 21.00%  
Decrease in effective tax rate (5.00%) 7.00% 5.00% 7.00%  
Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises 191.00% 2.00% 29.00% 4.00%  
Discrete tax expense related to tax return filings (as a percent) 141.00% 0.00% 17.00% 0.00%  
Tax rate adjustment (as a percent) 18.00% 0.00% 0.00% 0.00%  
Increase in reserves for income taxes, net of deferred tax benefit $ 710   $ 710    
Interest and penalties included in reserve     283    
Liability for uncertain tax positions 13,330   13,330    
Reserve for income taxes classified as a noncurrent iability 12,302   12,302   $ 11,563
Reserve for income taxes classified an noncurrent deferred tax assets 1,028   1,028    
Interest and penalties, gross $ 1,301   $ 1,301    
Tax years open to examination by Internal Revenue Service     2016 through 2019    
Tax years open to examination by various taxing authorities for other entities     2015 through 2019    
Effective tax rate excluding discrete items (as a percent) (1.00%) 17.00% 19.00% 16.00%  
Foreign Tax Authority | Revenue Commissioners, Ireland          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate     12.50%    
Foreign Tax Authority | State Administration of Taxation, China          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate     25.00%    
Domestic Tax Authority          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate     21.00%    
XML 85 R74.htm IDEA: XBRL DOCUMENT v3.20.2
Weighted-Average Shares (Details) - shares
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Effect of dilutive equity awards 0 4,130,000 3,154,000 4,319,000
Employee Stock Option        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Anti-dilutive securities excluded from computation of earnings per share (shares) 5,801,000 6,113,000 6,328,000 5,503,000
Restricted Stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Anti-dilutive securities excluded from computation of earnings per share (shares) 27,000   14,000  
XML 86 R75.htm IDEA: XBRL DOCUMENT v3.20.2
Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) - shares
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Earnings Per Share [Abstract]        
Basic weighted-average common shares outstanding 172,283,000 171,318,000 172,345,000 171,209,000
Effect of dilutive equity awards 0 4,130,000 3,154,000 4,319,000
Weighted-average common and common-equivalent shares outstanding 172,283,000 175,448,000 175,499,000 175,528,000
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma 3,120,000      
XML 87 R76.htm IDEA: XBRL DOCUMENT v3.20.2
Restructuring Charges - Narrative (Details)
$ in Thousands
May 26, 2020
USD ($)
Employees
Restructuring and Related Activities [Abstract]  
Workforce reduction (as a percent) 8.00%
Expected number of positions eliminated | Employees 181
Total Amount Expected to be Incurred | $ $ 16,445
XML 88 R77.htm IDEA: XBRL DOCUMENT v3.20.2
Restructuring Charges - Summary (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
May 26, 2020
Restructuring Cost and Reserve [Line Items]          
Total Amount Expected to be Incurred         $ 16,445
Incurred in the Three-months Ended June 28, 2020 $ 14,798 $ 0 $ 14,798 $ 0  
One-time termination benefits          
Restructuring Cost and Reserve [Line Items]          
Total Amount Expected to be Incurred         11,387
Incurred in the Three-months Ended June 28, 2020 10,386   10,386    
Contract termination costs          
Restructuring Cost and Reserve [Line Items]          
Total Amount Expected to be Incurred         3,995
Incurred in the Three-months Ended June 28, 2020 3,995   3,995    
Other associated costs          
Restructuring Cost and Reserve [Line Items]          
Total Amount Expected to be Incurred         $ 1,063
Incurred in the Three-months Ended June 28, 2020 $ 417   $ 417    
XML 89 R78.htm IDEA: XBRL DOCUMENT v3.20.2
Restructuring Charges - Activity in Restructuring Reserve (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jun. 30, 2019
Jun. 28, 2020
Jun. 30, 2019
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     $ 0  
Restructuring charges $ 14,798 $ 0 14,798 $ 0
Cash payments     (4,689)  
Non-cash restructuring charges     (3,145)  
Foreign exchange rate changes     72  
Balance at end of period 7,036   7,036  
One-time Termination Benefits        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     0  
Restructuring charges 10,386   10,386  
Cash payments     (4,654)  
Non-cash restructuring charges     0  
Foreign exchange rate changes     60  
Balance at end of period 5,792   5,792  
Contract Termination Costs        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     0  
Restructuring charges 3,995   3,995  
Cash payments     (26)  
Non-cash restructuring charges     (3,145)  
Foreign exchange rate changes     5  
Balance at end of period 829   829  
Other Associated Costs        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     0  
Restructuring charges 417   417  
Cash payments     (9)  
Non-cash restructuring charges     0  
Foreign exchange rate changes     7  
Balance at end of period $ 415   $ 415  
XML 90 R79.htm IDEA: XBRL DOCUMENT v3.20.2
Subsequent Events (Details)
Jul. 29, 2020
USD ($)
Subsequent Event  
Subsequent Event [Line Items]  
Dividends (in dollars per share) $ 0.055
EXCEL 91 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( &6!_5 '04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " !E@?U0Z"U% N\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O;3%B:'+BV-/"H(#Q;>0W+9@DX;DI-VW-ZU;A^@'\#%W__SN M=W"M#D+W$9]C'S"2Q70SNLXGH<.:'8F" $CZB$ZE,B=\;N[[Z!3E9SQ 4/I# M'1!JSE?@D)11I& "%F$A,MD:+71$17T\XXU>\.$S=C/,:, .'7I*4)45,#E- M#*>Q:^$*F&"$T:7O IJ%.%?_Q,X=8.?DF.R2&H:A')HYEW>HX.WI\65>M[ ^ MD?(:\Z]D!9T"KMEE\FOSL-EMF:QYS0M^5]3WNVHE*BYNF_?)]8??5=CUQN[M M/S:^",H6?MV%_ )02P,$% @ 98']4)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !E@?U0+3@7,14% #C% & 'AL+W=O_0N/I13L3!Q#^RD[B&)TN]M.+V20#1- 5 @[ M_O<]$C9X9_"!3G,1\W5>'J2C]TBZW KYG@6<*_(11TEVU0F42C];5N8%/&;9 MN4AY G=60L9,P:E<6UDJ.?--4!Q9U+8'5LS"I#.^--?F]5Q.H<+K^$Z4/J"-;Y,V9HON/H]G4LXLTH5/XQYDH4B(9*OKCH3 MY_.U2W6 >>)+R+?9T3'1G[(4XEV?//A7'5L3\8A[2DLP^-GP*8\BK00<_^Q% M.^4[=>#Q\4']SGP\?,R297PJHC]"7P57G5&'^'S%\DB]BNTO?/]!?:WGB2@S M_\FV>+;7ZQ OSY2(]\% $(=)\8:XH*_IHGYX2.S@BUJ9T%3/(,477+3W2-JHM^ MXE^39:8D),'?B&2OE.P9R=X)R1OAY9":BKSMTMJ&P\,=N_N"4/1+BGX[BI>< M2<5EM".O/!52U1'A4DKF'"$:E$2#=D1S+D/AZ\0@D):U380K'5+AAT^?=#(@ M;,.2;=BRSR0#4S&><+JY<*T5BS*LO48ETPC5N4U4J';D+HPXF>7QDLLZ%ES# MMIVNVZ/.".&Y*'DNVO"\\G6H!PLTUHS%M;V'ZTR?[V>W7\GT^76.4#EV95)V M&ZXI=)]D$7D O_D@O_%=K6?A4C;\C?H.M?L8V9%].OB7YE+JI+H+,P_(OG$F MT:QOD.MV'=IU'0R-5FBT7<(?L]W!Q:P6#!=K&(1.9<:.^Y^H]DYQF@N7>Z$8 M5>7G#N[($T#R"ZR(K6LY<($F1W J4W=P*][G^D/B"0GNQ+11G9&%@H0B0I*I MR&$0P%@0?GV"X>I/$PRR\GD'M^<]Y!O[( \^-%NX"CU#BMA8@Z3=Z]*AXPZ' MF)$YE=L[N$7O"2>^#[.([.QP0![A.?*=2;,+$JV]"7!--/UK5 M ]JJ'I1H%DHD15=Y/<;,^E/%]S2QF7V&R-JE5;_\-BM_0 M%0*M_)_B]EV:+DRCBX6BKN#L@%I+ABLVD%7E@+8J!WJ*".8/(W M9.V\IT'G MD.]G)(7IYH9%.2<_GMLV)2DDL%G4 M8VOZJ@2XN&'#*LXWUK&+ER*J@VT0F-[/OF(DE>&[N%\?&HS[^*V?7#:[SID8794R'.NH%HFNO5J(0OEOE'6FWJ;L3-T M[=Z07L!<>W.,91WM.^F19G;7,N+I*6JQ!55>+7?P)L6^5?5XL?WWQ/1 S4C$ M5Q!JGP_A_;+842M.E$C-+M92*"5B&PO=V]R:W-H965T&ULI5G;;MLX$/T5PNA#"L2Q2.H:) $:Q[N; KV@V6X?%OL@6XPM5!=7 MI)WT[WBJK[W(CA"+/>5;(Z\E&J>WE;"97 M&Y''\J+2RK/%9P6ZUG?Y7%:3&ZNZF>?JYNKR MM!"?*R)W>1Y7/V]%5CY=3^CDY<&7=+U1^L'LYFH;K\6#4%^WGRNXFW5>DC07 MA4S+@E3B\7KRCEXNF*L-:L1?J7B2!]=$4UF6Y7=]1IT7S'SVT@#@S #V[ 6@-F&K@# M!KPUX*>.X+8&[JDC>*U!37W6<*\#=Q>K^.:J*I](I='@35_4T:^M(5YIH1/E M057P:PIVZF9>%K+,TB16(B$/"KX@"Y0DY2/YM!55K%=3DBGY^G!'SMZ\)7(3 M5T*2M"!_;LJ=C(M$GI,W1_=7,P43T^YGJW82M\TDV, D./E0%FHCR:)(1(+8 MWXW;^R/V,PA(%Q7V$I5;-NKP_:ZX("P\)\QA#C*?^0GFW-'F-,+H_+_1%_]Y M]*-@\"Y%>.V/#_B[+U9E+OKD('^_6TI5P1;_9\2[VWEW:^_N@/,:L#L;QKG/.3N&+1!8P#Q..]@12Z]C MZ8VRG)=2Z3U5#;-M''@' WL.U^M_1!9#1;[)U49%U#-]+1 44!U@ZG=,_5&F MOU>EE%"AJG5:8#1]:U!*PR P%Q6!N:$3&A3N;!ASW9":BXK H\=>#NB&G14 M@U=25XJX6FW.H3/MH>5N]>XX)U #B2B OA!56JR)>(:N+@5:%P-K8MSA5H;; M*)A[$!FQL%&^SUUNA,)&>2%G XL>=I$(1R/Q (T>J)Z3M2B@:61-$.($&E:J M2X46 Z-Q".VY.]0SYCY'4"%S/2,.-HJRB$74" 0"XY[C^7@DHBX2T6LYH:K= M2NWJI5]!MUQ#NSS[6"I!J/\6XQXAJ1Y$H<'=1IE[X20_BS$_1XRITTL(9Y3S M?:%BR/=E)D@L)8C;--_&:57WBN,(A&@ 6O=',X^\P%BP.0(S0W":I\6HI^,@ M'.@H.AJ$5BW!HJ=-OSS+H!#B?*DU_-2G+C/YVC"/!@<)VG*V8;I41B9G&Q;2 MR.$#O%G/FXWR!KD.8KP K5I5HEC])&MX.QDCS^R2QWV3N@VBKK78-FC*?+,7 M+C 8=<(!WKTHHOR5I-_#5J]SO%EPE"RWR5J5:(Z@/,:X2==&A79/1U#4H6R( M;J_2Z+A,^Z0VHNI2NRWE^ *[=K=RS$J.@*;4=4W*F"N3L(T)PJ&L[N4:'==K M]X=[F"P%O)&+%_8J?G[I9>1L"0WO,55X)&R!-67<%"=S!.;Y46"V-03&'.A_ M9CP05<<"9Z"MT5[6T7%==_^KY&W--:4T,/4L @L9LVH<(@>YJ? 7&,H)O:%D MZ&4>'==Y'Z&EW0_O\ ]-;BT( ')]R@,BK[F=2>\6QK_ 2'B^!<.%:EM6'.!0O--&1(<9@8$0]E;#T49L9@=G 3G MZ\ M]!&\!'J[0C4G?MW3[IC_77VX;3R_I9=SBCR_HY>+YA"_=]_\I_"A/O*1)!./ M,)1S$<#"5Z &Z/TMN_@50 M2P,$% @ 98']4*[1$"->! %0\ !@ !X;"]W;W)K;:3'+7/G3Z0"1L MJR>!"]A.^NL+2%%LA'5I^Y!(PM^WRWXL+#O=<_%-KBE5X*6NF+P9K97:7 >! MS->T)O**;RC3ORRYJ(G2GV(5R(V@I+"DN@I0&"9!34HVFDWMV(.83?E6526C M#P+(;5T3\7I'*[Z_&<'1V\!CN5HK,Q#,IANRHD]4?=T\"/T5=%:*LJ9,EIP! M09U_L&^QX0CD6ZEXW9+U#.J2-4_RT@IQ0-!V_ 34$I!+B$X0<$O '_40 MM83HHQ[BEF!##YK8K7 +HLAL*O@>"(/6ULR+5=^RM5XE,XGRI(3^M=0\-9MS M)GE5%D31 CPI_=!9H"3@2S#GM2L$). Z5G8VP&>>OYKO&,3GC&X#-G:BW!/2MHX>$OAOG) #_0*G12H#^AHFCHG029<>H11\%,XSC8]1]'Y7"-,8=ZBC(N LR'M3T=D?*BCQ7=*P/^+$D M%=4Q[ZA4=LM=#\B8=!Z2[\JX9;I@5.7?>C^O=*$ YQ67\N(2,&K74I$7\S@_ M2W%R ?36!6<(9V8OJS75?X+2<6TV%MA04?)"6HQ+AI>3-&WI<3AYH\ORY9A\ MJ8N)W%!;#:I7W]HV <6'ZX&B&#IKVT85D;).5AHGPJ3WJS&J9.3\S[&B6W11TS< MQ!XR_NO83;9T27ANLO"B$:)DBNNJ)H0]6'2.6(I7D;2O2!:[DGA M.'7.A84'A-+0%<:#BM")O,@Z;;+O;L=\3=B*:CDJ6V)U_&3P&/!ID?7W"(S< M])][4!ERC[\^*$X3=X_T01&,3N0)#-]O&N'@\:^FSAX6!*\&J*\!QC!R1?# 4)*X(O11.$M="3R@)#LE MP?M%!N)!";YP12JO!-ZP[M9V+,WX'K^?0,[XP/9]M*][--PWC9R)6 M)9.@HDOM*KR:Z%4230_6?"B^L4W&,U>Z9;&O:]VW4F$ ^O])5W #/33>0 M,%=:9"48(\A27CSI2ZG#%@!YZ@%^"?!W :T]@* $!*=Z:)6 UJD>VB7 INX6 MN5OAQE3304^*-9'&&MG,PJIOT:A7RDV=S+3$MRGB]& DN!(LC:B&B,PT/K ( MM"(B)B.18>DEIB960.YX*#(@YU,JT2 !G8:479 &>9J-R?G9!3DC*2>/B<@5 MY9'JN1JC,S[UZ7S?]XG_^S]C1A!52>!Y0OV\%6EL;JW+6LN]8>=X_TA4 <8S:%$G1>=H M;1RU&!^UF!RR*/)WM_IT!G)A!Z0BHG;.A\V;4;/F?(PS MNQBQ?^B+@7]/Y2+EBC"(T95W>87_E"R&:+'18FFGQ%QHG#EVF>!W!TAC@.]C M(?1F8QQ47S*#WU!+ P04 " !E@?U0SA=UL"(' 9'0 & 'AL+W=O MG>?7>OL437?]4I*@YZJ MLM;GLY4QZ]/%0B]7LA+Z1*UE#4_N55,) Y?-PT*O&RGR;E%5+BC&\:(213V[ M..ON73<79ZHU95'+ZP;IMJI$\_Q>ENKQ?$9F+S=NBH>5L3<6%V=K\2!OI?FZ MOF[@:K'3DA>5K'6A:M3(^_/9)3F]8JE=T$E\*^2CWON-K"EW2GVW%Q_S\QFV MB&0IE\:J$/!O(Z]D65I-@..?7NELMZ==N/_[1?NOG?%@S)W0\DJ5?Q>Y69W/ MTAG*Y;UH2W.C'G^7O4&1U;=4I>[^HL=>%L_0LM5&5?UB0% 5]?:_>.H=L;> M\(D%M%] W[J ]0M89^@666?6!V'$Q5FC'E%CI4&;_='YIEL-UA2U?8VWIH&G M!:PS%U>JUJHL'VU M515WJFR:;2YH&F-*SA:;?9^X8B0AG UBKY#R'5(>1MK;7M0;J4UE,ZF?1=SR&2]EETJEL^@IX2R MT(40%!@DG^PCJ[21>6%0J<#?NM/NJO(Y:FM)M.\!SG#*1XYRQ2C'/,%^1T4[ M1T5!1UTNEZH%[X")2PFO\ZZ4/"(8<9YXC%)2OW8 MDAVV)(CM(\1H;5132&\>)LL?MY$"40KO7&+!W#<1NYAUV2TYKZ\XYJJ7Q MXB8.GI1E+![#]HAEG+,)U ,Y$QI$_1DP"U/4#U!MH4$+1&FOZ%6.1*GEDM= M73&21'3*O0/GDS#I_Z94_@C%TPN->4B))/CFHZM$$N('F29CG/]9&U \% ML%;OP.G7[:'9A#$G2ETQEO%LHB"1@69)F&<_R'L)F9Y#@BU5)9$13_YR3UP" MA&A+&!T#]D$Z-;F!UVY:+O5[=35S,0)U9H(MZ, 6-,P68UK;RP(O6I<8DI@Z8%VI M*)X:">A 'C1,'J_;Q$-(?6,:!QX>8_7(49C3IM .#$+###)X]I/U[!Q]Z@%# MXP.=9&^&%[I+%10P.5[VC%Z4T:FB,! *#1/*FZF/NIP!V\.P,P;JD6,4VHD) MI .[T#"[W&Q'WJY;/@C60R"48:= >,1(%$\5B(%E:'@TVY\=Q%M+FCML\30C MCGM]DQLA4Y '_J)A_MHV%H?2S&6F"*<.1%>*J M\!AR2.0UVH')6/@KY.U*-'*EREPV^L^":IJDK5 M2&]=<72",84&J4$;ZQ34[4C>H8XR1MLCTP2&ZT-HF5_?I M8_#P*8+I80YUO7M $CKG_(TJO2_'93C&G8CR"4V%T\""+,R"EWE>V+,&B'S[ ML><8P"_%NH!,\ )UZ2TAF)-QW?/(Q3!=)U,Y.M @"]/@C30";D&/*9H:7H0_ M1UTJ2S"-LO&TYY.+@'/2"90#Y[$PYT&7V59MV9TW]!_,5+6&1+!'0\ P]MM+ M-ZK:SR]0L+U&N#1WS.(T<8SPR24TF8J,@0[96X8M/9G 7M >OF,)-&OC;L,K M&$403!.P!VID86ITJGB7A_MF_!0R('4/)+P3I$_0.T$N]LZM[*'AGZ)Y*&H- M#?(]K,0G"?B@V9[#;2^,6G='67?*0+_?_5Q) <"M #R_5\J\7-C3L=UIZ,5_ M4$L#!!0 ( &6!_5#LL\6GE0( )D& 8 >&PO=V]R:W-H965T&ULE971;ILP%(9?Q4*[:*4N@"$TK0A2FZK:)DV*FG6[F';AP$FP M:FQFFZ3;T\\V%)&6=&TNP#;G_\]W3HQ)]T(^J!) H\>*<37W2JWK2]]7>0D5 M41-1 S=/-D)61)NIW/JJED *)ZJ8CX,@\2M"N9>E;FTILU0TFE$.2XE44U5$ M_KD&)O9S+_2>%N[HMM1VP<_2FFQA!?J^7DHS\WN7@E; %14<2=C,O:OP!?PG<)>#<;(5K(6XL%./A=S+[! P"#7UH&8VPX6P)@U,AB_.T^O3VF%P_&3 M^ZVKW=2R)@H6@OV@A2[GWLQ#!6Q(P_2=V'^"KIZI] UI9.X5.ED0"UR5HFA-VBCZB M^]4-.OEPBCX@RM&W4C2*\$*EOC8DUL_/NZS7;59\).N7AD\0GITA'.!@1+YX M77X#^01%H96'%X=RW]3?-P'W3<#.+SKBM]*F?+,U-1(;=$NY:0(E#"V%HFZO M_;Q:*RW-COOU2K*H3Q:Y9/&19'>@0.Y (?,*FEV[(FL%8-UO' MQ#G:]W*781Q-4W\W[-G+H'"&PS[H #;N8>-781>BJDP#S#;,'\Y0323:$=:, M,K9<'Z8!($^!GD_Z(.**<]Y?0=E*HTVU8ATNA22/H7BC':UG ZX(B"[O>, M^"V1!]1)3YV\GYHJU8P3)R\XPO,HB,]?$H]%XC@>(?8'!X<]M+\2N:5<(08; MHPTFY\9$M@=A.]&B=F?)6FAS,KEA:;X=(&V >;X10C]-[/'4?XVR?U!+ P04 M " !E@?U0I&\6^30' !@'@ & 'AL+W=O\)'E))'E(_3F>0M_+*37<,4W';[37_L.*M,HZ;>D"A*-PT3[>KJPCR[Z:XNY*!JT?*; M#O5#T[#NZ2.OY'WP3^X/2#S97%T>VY[=='"WF7JI1,/;7L@6 M=7QWN;K&'[:Q:6 L_B/X0W]VC?10[J3\H6^^5)>K2"OB-2^5[H+!OWN^Y76M M>P(=?Y\Z74WOU W/KY][_]T,'@9SQWJ^E?5_1:4.EZM\A2J^8T.MOLF'?_'3 M@!+=7RGKWOQ%#R?;:(7*H5>R.34&!8UHQ__L\>2(LP;0C[L!.34@RP:QIP$] M-:!FH*,R,ZQ/3+&KBTX^H$Y;0V_ZPOC&M(;1B%9/XZWJX%J1W*'MJP_H-]AGGNT1M]O/Z%??_D-_8)$B_Y]D$//VJJ_V"C0 MH'O:E*?W?1S?1SSO2]%7V:I#CSZW%:]^;K\![=, R/, /I)@AW\,[7M$\G>( M1"1RZ-F^HCF-='- %4KP_D/@ M/?'TGMB\)_:\YT_(<-&6LN&N.1C;IJ:M3N3[*UQ0FEQL[L\]8UOE.$_H9/63 ML&02E@0=<%W]#Z)V#"(E(=-+V9:BYJB=%.OG^J[4OCIV\EY **"[IS<[*YTT MI4%GW2I9_ECK;*\0"( 2V#-31/BCOG:Z<.PQ.7,.(7F4+USHL*(DSMTNS":Y M65#N)PX5N12C1$A$:M>H=@M1#_.]!'+6;7>(S2Q;&."4+\0ZK M**&96WP^B<^#XJ\;V2GQSR1>M(JU>W$'$<#ZGBMGS6#=GCOU%K:4(LGP0K!M%;G5XFBNUE%0[^?'DO>] M"0!Y!X6;*PX>O@>YLGL**3[U>RXFSW*Z4.RPPAGV5 1\QA@<5/W7E-"K>M?+XFLVKRIDBN1%_*P<"Q@YSDC1@:N&[-!)Q*GG,$Q-)& MR;*0.(S6-":>,(?*'M[6-%IK3V#4#=I&=9,;3E0_I8$<9G% MQ*=Z9AL.PVW;\4HH5,O^5?Z-+1&9)=2V\<7'##JU8/4W@ YW2(FW"& M114PK3._.24GMM\PMH+:896GOFR<88C#--P>H.3ILJ&7N[P#7T]<9H^>)+0Y MAVEA.=FV6F.*L4?PC$,EV0GQJD#[V ;!$$*:>5?/Q";6VN2Q.F2 MR"Z[V)=19.8;"?-M"M C>_)%)[$)A>,E?QU&ZS@AGD4.F5%&7D!9678#GYWK M%&@3""=YE"XE.D"%":DAA;<^UB4Q3Y=,YP(F$X M?7HNFJ<\-X$Z[M0A5BM^E+WP1*D-(0KK7,O#MEF>G!'M9]TSKD@85W_I7'+* MLC%#$A(M53F15?C<.=.(A>YVLW@D[I-G&R(K*U._ %^_W$)WXF$\G>M-L? M5RJOW\"2F2XD3)>;H8-%LJZ++R_>B(,?%&=);/G%80@%/R]2CV-FU) P:KXR M-71F^"8]]*KS59\Z?L!NN;C^KUI] 9)GQ6AH87E^^E:3[[;3S9AXIQ8 MQVP.,Y+&V'/.0F<0T3"(OO'C*5J7\IUB;:JL$QS1)7U<=BGVS^K,'QKFSPU[ M,GM]LY/6T>DY/Z8NT.1%MCP.;L6QUL&/;F$V:/S 9R_.HU/9T^DUZ;CX.+YQ_QA^WXL7/N9OSV^I5U M,#$]JOD.NHS>9^#2;OR<.=XH>31?!.^D@EV+N3QP!L5-&\#O.RG5\XU^P?11 M^>K_4$L#!!0 ( &6!_5"6Y''M,0D (DU 8 >&PO=V]R:W-H965T M&ULO9O;;N,X$H9?13 :V#0P;HM'48,DP.1@;"_V$"0SN]=J MFXFU+4L924XZ^_1+RF[3)(M43LA-;,=%JHI%\ON+DH\?F_9[MY*R3WZLJ[H[ MF:SZ_O[7V:Q;K.2ZZ+XT][)6W]PV[;KHU MG!X/_[MJ3X^;35^5M;QJDVZS7A?MTYFLFL>3"9K\_,=U>;?J]3]FI\?WQ9V\ MD?T?]U>M^C3;][(LU[+NRJ9.6GE[,OD-_3KG3#<8+/Y=RL?NX'VB0_G6--_U MAZ_+DTFJ/9*57/2ZBT*]/,AS656Z)^7'G[M.)_MKZH:'[W_V/A^"5\%\*SIY MWE3_*9?]ZF0B)LE2WA:;JK]N'O\J=P$-#BZ:JAO^)H\[VW22+#9=WZQWC94' MZ[+>OA8_=@-QT "10 .\:X"?VX#L&A"G BN 76O( (-V*X!E:M>?GC=U MUU3ELNCE,KGIU8N:-GW2W"8WJZ*5JZ9:RK;[2W+YYZ;LGY)I\L?-17+TZ7/2 MZ:^[I*R3WU?-IBOJ9?=+\LGZ?#SKE8?Z.K/%SINSK3+/S M9KU6L_2F;Q;?@=87\=:_+9>EGN5%E5P5Y7*J0C@O[DO8D\MX7]>R5ZM9#>5E MT=9E?0>-P7S$G<5BL]Y40T+^U:]DFZCPU*ZQTLOY029_;SJGUYG*^3[Q>)]X M/%R&!BYS)N_*6KN8G!5542]DRZ,X:N!\&AY;M0\NBH5W+^TV[6.E$ MN\&-#'3FN3-%)!>P.V+OCGBE.]#("M\%CGB>.D,K_ 7BK-I+N">1P='D^VCR M:#3#8IEJ6;+4L2BMUA6#VI$_]'L)Q93[62:8.EO#Q9B5Y2Y*#:K3J,-7Q=-/ M."_+AW(I0XQ-@>1GB')G6,?M;$7%4@P-^FC M9K9SAGLH#C[MW*96>V95_D]E_D[Q.CFJ%%0_)UKI/A1E57RKY%2I]FE75%)% M\B"[7H^\4CBU',:_+W[HEZ-/ D/+[PSY<*2,.WO&?,S*CM 0%,41>BT75=%U MY6VYV$YHO5A;J51."'Z8@?UP.Z3 M*HU.5/ZJXJ964;UM9+YZ2 MOE4@JK9A%\O_;K:.@W[[L)Q2RER_1ZQLOPU341RJE_4RH@W_MJF5'DL'/9:# M>MW'H1*'G =D#S) 1'$B.GX]PYI1GS\NC;38E(L\ .@@WU M.,XO-]/[&.?X"RTH^*#NC7.[[?)?0Q4K3AU5^_YSLPJ*)T)%.@I M $=LZ(W'Z/U:S8]]5$=$/S:XQF.X?HGLQP!((=V_LXL*_T!?(>6/#99Q',NO MT?X8*%[3G&?NO!@SLUTV1,9Q(C]7_6,?O5/!!':'=LS,=M, &L?&S&SG#!-QG(D?HOVQCTU,D+-]S,>L[ @-6G$^J_;'/M-#IGL$9 MB1>Q'ZO]"5#B$GL[% -24FT/V(':'["+:7]BB$WBQ'[1 MX3X\<#YY48:I/VZC=G8(AM D3NC1^P"PV\S/-V$L0Y[?OB%Q:^L+XJ.@K%9S!/QC#_VB*! '4JPJ$;%=1PG8YQ_25% M @6(RU!*G"/J\YV=522XJR_4%PV$9/A-X_Q^39% ?21C+-R;AQ>C9K;+!MTT MCN[G%@G49_04B=S;V<;M;$<-RVF:^H9J@_L'VE%'O=A0%CJ(M,]MS V,:A_$SZ@DLM*;3SXX WD/' MT"2E[CWZ<3O;?P-;&H=MH.Z(^NP?02.2<9H)UVGHK)J[M/"9K10M1=YN#=BE MF.69FVCHK)J++#!2S(@ %A M ELT.WC :TP/O+:>8#[8 ^J$&:ZS,:Z_I)9@/G#=:I_YSV^E[IJ+]6+'89#- MXLA^30'!? B+X:%'>QZ,6-D.&U*S.*F?6SXPX(FLG'+W&'_4S';3 )G%@1PO M'AA4X2+W,<_+43/[843#0!YGX(<4#QS )*;,O,;+C,)SC\7+Y8PL(#A33.?,B';&R0S6(Y7'$OJ%\X, A>IZZ-R,X5(RG M@9L1W)"7Q\G[QN*!0^?30/$P;F?[;\C*XV1]1?' H4-LJ'@ #/WB 3 "BP?( M#BH> #NP>)@=_"A%_TA):6VEP+NDDK>J8?HE4_VTV]_];#_TS?WP.Y5O3=\W MZ^'M2A9*7FD#]?UMT_0_/^B?ONQ_?77Z?U!+ P04 " !E@?U0=.N&$*L" M #K!@ & 'AL+W=O M.U\N+_V-5$\Z S#D)>="#[S,F-6U[^LX@YSJ<[D"@4]2J7)J<*N6OEXIH(D# MY=P/@Z#KYY0);]AWL9D:]F5A.!,P4T07>4[5ZPBXW R\MK<-W+-E9FS '_97 M= ES,(^KF<*=7[,D+ >AF11$03KP;MK7TX[-=PG?&6STSIK8DRRD?+*;VV3@ M!;8@X! ;RT#QMH8Q<&Z)L(SGBM.K)2UP=[UE_^+.CF=94 UCR7^PQ&0#K^>1 M!%):<',O-U^A.L^%Y8LEU^Y*-E5NX)&XT$;F%1@KR)DH[_2EZL,. 'F: 6$% M"-\".@< 406(/JK0J0"=CRI<5 !W=+\\NVO4859)(GH/0G,GTNF'DEIS,, M"I.!83'E9Z1%'N<31 M6).I2"!IP$^.X[M'\#XVI>Y,N.W,*#Q*^*T0YR3L?29A$ 8-]8P_ (\""V]? M-1WG_]2G_ZR^UXRH'I/(\44'^/8GP\CXZ>UD_+Q9:*/PN_]U1*Y3RW6<7.> MW -](9"F:"96KQ#H@)S]Q@E=HO.14RZU/B/69M:4<;K@T$+';&G* :=P#=K8 M4AN'L-3M.EWKH>MAJQ=U^_YZ]\V^3PJCJ_V<20-1^[+7V\^:OL^Z""[KG+(W M_L[7FX-:.MO4)):%,.4;JJ.U,]\X0WH3'[6OQ^V&^ 2=O#3>O_3E;^".JB43 MFG!(42HXOT1S4:6UEALC5\X[%M*@$[EEAG\C4#8!GZ=2FNW&"M3_M^$?4$L# M!!0 ( &6!_5"*TI&B_0H !T? 9 >&PO=V]R:W-H965T/K^HM;&+UR_EW@?_^J5K M8V4L?? JM'6M_?$-5>[P:G&UZ&Y\--M=Y!L7KU\V>DMW%+]I/GA<7?122E.3 M#<99Y6GS:G%[]<6;I[Q>%OS+T"&,?BOV9.W<)[YX5[Y:7+)!5%$168+&GSV] MI:IB03#CNRQST:ODC>/?G?0_B>_P9:T#O775MZ:,NU>+%PM5TD:W5?SH#G^A M[,\SEE>X*LC_ZI#6/KU9J*(-T=5Y,RRHC4U_]7V.PVC#B\M'-ESG#==B=U(D M5OY11_WZI7<'Y7DUI/$/<55VPSAC.2EWT>.IP;[X^BXE0[F-NC-;:S:FT#:J MVZ)PK8W&;M4'5YG"4'AY$:&/=UT46?:;)/OZ$=G/U7MGXRZH+VU)Y73_!>SL MC;WNC'US_8,"_]K:E;I^L537E]>7/R#OIG?^1N3=/")OQDOU[]MUB![%\I\? M4/"T5_!4%#S]OT3WUY*M;H-JR-5Z2B4U^WVD?RU5%]I,;Y"$E6<9NHJ\OSKYR 'CQLO+&%:=B3)W^^O?UPMF)?-20$=&7GG2Y=(Q" Z]N[;U ]5\_/ MKV[4XCUIU@B,D;5OH=-$]7<7 B6'C-60KROUSJ(H6EX8E@N$96OI'G\\?-C;;'Q9G::<3% MFQOR9 M28>?:"H$B8$(IF6$[$-B W)>B9-,[$2)NB ^2AVO,W!6J0+4?27A'WNOHC%52OR:N;*^[6J]_+ M(JTV+>>:0N%-GQ*'O:")40V/,YQK>(44B!+7&)LW\F6M+;BCR^#(\&5*/23) M)1?2=X2;3*(BH#(PW7MR;KGYQQDJY M*(O8BN+I\ZOG6,!Z9[QC:RO(EW!S%@(JE UE.$$)@=T#+]M =76!+^BD@++1S54D^9/,5XTL\YO\<--*JVNZ&R$(*O?C7WO8!LGSZ#=!E;2EKA4>Z( MSD2D%D!!]PTF(J[[K%IZDGMWI=["[:7\K[Y$C/:Z2G7,%KU#W>;"9EZG(WK/ M?^(:'6$C5\&!N&?00N1C*K%$-"5)K20&H'5486"=@X&GSILMZJJ"X-@]$!<0 M&E6G40(V ^U9$;-*KF(FA9!R1H/9HHB72>'C)U37 "_S/2X*%R+\_35,W&(8 M!EC#3FVGQB:4Y=&8&W3J%2*8 #-[-.<0((7[T R17P%99\R:53*QJU?W4(UU M]GQ6U3MO3<7#RSFJ_CQH!MA<'5X8+=4'(YY"^;2 =';6BBII&*VB'!* M:2+K);HND8Z^3Y@QIG*A!.L+0S9OQ'K! 7QMS=97* M6/1*Y5 :XI"08NH"'4<\RO#%G,OE"#-JT]9,\J=)!<0$83DF:3B0L'_9![/0 M5=&FL:*5A2P[ '"XRQ2&(1M[UE$UQ9W+,'I:896IA9P;#$*8 ,/.-,R.Y*7: M0C"ATEB8-*'7T[+==1,::.QK+4F2ZLUS\&Y0* MSV%N3_YT5Z\KIX+#-B'D8;;A"!3:>QE3I/Z2%69B*&M=$_%AN&R+-#]^3][U M-(L#K?,H720S>K-N$\6D(L_%J*>NIRK3TN4X2A1(]$J]'V8J-)3!K))0X*&% MS.4CR)B# 9F_?#(60M!?0Y/QO1(S$8XF@*?#CJ01]+B3N!Y3?\1CDW0.(Q$' M1&SVS,;O4MY&XK%:3PPZ3I/-YD\I83E),\]@TF2=:=(I&)[87%:>F)6+T+OZ M,<,W.$PZGR;8))%C..\MW2-U86I%CF#*03>;C8J$QM-*S^Z)[ M759GMV4+I MQBX4IWB00\ O.4Q_,NQ6]^']Q09,(O]3U4HD[&R0$N;(A.X.FIN0D>#D/!7Z MRD]-]B.+.]3)9V18R) H?'526K_(FU5WQ*SZ(V:J9NR:M R??5)[\,DNG5(3 MD;3K .+@!.2Y<#D"OP>Y&6:]%K0YSM.#.9GW]\NG@9D R"S%G#J6!I^"4=', M<-3B*RG]CN-8K0UTMN" /#XZ3R?GE?J6*Z.D/55\)F1P50 B@PFAK\MYAT[; M"XS+Q)S.>MV@P. NK_W2V\>*]GPR14:&%DY\(_6MUZ;BGH+>(<9<*A3!VBC\](=L'"CGIBS!RS- MUQSKE+O 2B<@"!1X8K#/B'ST,&PUGTB.O2@H'E'[]N_D'@RDK&EX3S4K>2UD MW+7!L2])]+:?APO!V*G#77'R/-6@?OKDB+.=\>F%RIJCLH:R9>:I$>]]=DIT M&:#PCV.(^*0H\D2/TAD!73?Z/)J(1P#A;D J%"(7[( S4XH^-5808Q,SW8Y2 M? HCXZGZLY\T3R<2*,TFOS_C>2H>>*1B5?R:;C9*70Q^"LVQD1A./<5NVNJ& MUFS!-\.18H CS$R?NQQH' MH$$?I;1X%I07 M%>G3!Z,R?W/)U<\(SV4S/KGP0-E/U'U[C*R1X++KKHTA(I4,6'P@&HZ.=*(_ MO['N.B^EN &HJK*EU=2IP+!KPDY8;Y0B+2>U_EVFM$P7%4Y?XQB4Q.A9ZO0E MNYY?0V2&G.\U'B5YEAU&Z;&RY U"@)/;IU0XJ58YA*/8"DJ3W?)A&X$U->5W M1[W5_?%C%,A,!CE9_8FG,[*C17ZIJ(_IU1^BMG]-(A9Z KFM9VT>ZX.E=:&(UR()L49FQ#)M!U>S83MSML9DM.4SH^TO$7 M#Y!,0.QR>YZ6SH,)[70DNT.,)*$Y"?E,7\(;/DVF%XI96/AYD]KS!>LH/\B_OI_4$L#!!0 ( &6!_5!& MX5/1;@< "P5 9 >&PO=V]R:W-H965T=GM,]Q2_=K)!2FI9L,,XJ3]7EZ/KTW!.B@3E=SKJJPOO%LKS;DCC'V*JG 8X M8SDH]]%CU>!%/BWWIZHZ=LC-9U,)P?DG0U&GHF\LSWR?O1S;GKA*O6#L=H61C?J'B^36]2_KVF313P<0 MG0^(S@71^6]R^TMEJ.NBP%,T=L[(;:E]&=27#J:2>G5]_^4U/'KZY^/3Z9$: MW9NV:TRUY,VQILVSJ'7UT1:N)?59/U(8*9Q='56ZPSD**CJEFT9!L8G\O#"Q M-E9DA0*LP9[\[#I3J&_/)T=; D_49^S2 %TFX'+.!-$3,C"1I+=1F20DLA U M6X(66O>PLJ!R#3B&G^BQH(ZC&=ZIT]?K1\;,.R'&B\L08ICCG2[J+!\A[L@; M5[(2-M 5*2\6-8EQ'L>#TJIQ(:C*NU85C@'VK!AF>]D>)+$R7 C6:@Z&3/L= M2U$&B17>J^D.>)Y^[4T"R*\\%6Z._(4WF'#(>TKH&J-GIC%Q*=CY$'ZV%&O' MJA\HQ.1=@:YY$TC*@H!GP90&'*QFQ 9[-[C[]79#H@KQ=:]!.).#$_0[<.Q MQKIQ^+VX^7P'P#E9A*+)8"3@!$OU4Y!S*V)6E_ M'-VQ%)($GO41BDM\@? 7IL-:F;,">GB!CQU,==T$]Z)\+]VS9)<,3QF3UG24 M<')9+K<"4WFP&E2+O+01.#KM(ZBN64IW*Y6S*ZTZ)(_PPW%:E)J QS/,%%2[ MW"ZH5I;PJIN M7!B04:A=WY1(%2Y*Y @Q +:0=_&Q61] HX@1H,Q \Y(RAJO;@ )D!R:(M< % MT#MOYMC*+AK<68H;!)J)N]4",D$UFP!2L4'+'"+E%#HJ!NK=LAKV<$EE!B@S MR3('D: KAN;%&I*G89JXVD8!M55_](CQC2/NF+)HKIN5IE7\61T*ZF>,25([ M.&38J+"&7PW], S]<*B\ ZE7-2(4L*FJ^">0RCI< 7Q%K>V<)*#,%'K!KE:L M,:RBK*WM&;(ADK!6C!(6<^8(NZ0M'F?(W06QT11?HV8$9(;$L^TY7.*:^(W3R&7Z< MODG#SXGZ7GODG2Y=8CN#6XQ M7>85[N-QASO0R?$JXSWH,4^-I"14'DP;3H&--)0Y0M(&'M^1B>O"2E.'T).& MMN@=%Y'$)]& !*09G*NZ--31<]P;6%,*BBEN@881:M,QQ/_5C"13G_4RMF8/ MXM:5IN*G7=!C[5T_K[&MZ%MI3@]TG$M&ES_WN0%*GXT8(R &<>6\")G0:3D1GGA9%*@](?RE77P)GFM0V' M[8EQ]Q3MB?JD+:ZV JETE,B6*1EH-T=JP*WU _=HW#/A%4#!4*"9,5,9?A#> M6?XI;#> G14F/0#V8!3I/<_:7W,KF$Z.)^>X%=QQ\R!<*-0=+^,1=U_U*LWQ M;\_?OAX=Y$VX8_GL8B!))/;QI,Q7*%!?3>6<$4GR\<",RLL4FOR]T3.S"#]@ M^_O'FQ_O)%MLVKQ>$N9)+DXIC2BQ-]*,3ARU0O=!;B=/3GDQ]B#-(<0/:.\J MI0>SăO#[^N*1LIS]P5;F:92IN. =5&Y.>AW:)P;(!KYZ]9?KZ]O70DW_ MKZ^T5 -;NMQMH3(8&,AS>:C"&TDX*7+07+)^OU79 2+\2<U.J21.I.JSAK9'I"'W4GTB)QE4WPQ.%[9#Z:((Y.#+!# MQ)/1I<9&Z:$\I61/[0IY&@+*-4T.I+/BJ31VE"N>V87OA9/(5FDE@SYIC^&5 M;_5-G,QNE9^UH2D]+P!ZY5SMQJ+R2.6\JS7@VF2S&I=1V M<'[&SS[X\S-71Z.M^N!%J,M2^NTK9=SFQ6 Z:!]\U.LBTH/Q^5DEU^J3BK]6 M'SSNQIV47)?*!NVL\&KU8O!R^OS5,:WG!5^TVH3>M2!/ELY=T-#CT-IQ.'M@P M:S;,V.ZDB*U\+:,\/_-N(SRMAC2Z8%=Y-XS3EH+R*7J\U=@7S]]([<47:6HE M+I4,M5= /(:S<81P6C+.&D&ODJ#9 X(6XM+96 3QD\U5?GO_&$9UELU:RU[- MOBGPS[4=B=GI4,PFL\DWY,T[3^!F"P@-I<_%.RZ4V.FJX$PL9A?3=MES@OB>- M"D%\5%GMO;9K\4H&'<3G0HF5,RA0>A;ETJBF2O57EHG7G6*Y4VQZBKWZK=:D M+SJQ5*+LJ5^1^NN=>M^I7[)Z&81;"<1;=?$63[2%7E<'Z F'S\5?:Q]MGJE,VFC> \+O?C5NF50_IK-?VNK&E8^>:>NE1'SPP:OYY2E:HL* M\E=@/&T1^SI!>R!.)L/9;(:+/_[A=#:=_=B[NG"^_=T*X&'ZKR?#Q;-9=\]&'"UE=@5? L&0P&O?/YL.%]-)=_O)72L/7K'[ M6I\.3Z9/=U+7RF;;_36SX>3DN+N]K*W.=(7XW5X&A?-3\5/FK"MU)@J5KRD7 M_$;Z7. IE\9N^?&BN^QEW?/?(>#DM >JC<@"H$\+@\X5$":J[N=5NWC_EW+V MPI65M%M^]/3'(,J'8DL%X14B&.]D)%%Z+NK*6<[S7&K3B:@HV\@9 =M@:[9+ M?]TVE&9M&')%D")*1H5-2F0&JY&DI#2(E(K3T;VFYVH9^QE!PNZB^#@_2IA$#%VK0*W2 .8 K,TD-[5'YDHJ>'C"B)+8-^_:Q6,Y&XE): MS X49:&)A$)%F426D'85HD;G9E8CU3TB8MWA^\26; %TN2,QP0V[9 U]<"OO MKO&0\9#"2+]60ZC0/C^JI(];3B:6 *B05B.!J6(_[+PCM$L$#541_\BQ=0V9 MG K(! P)L6BQ+N45;!F*I7?I(E?2\ 6C:*79!O@%7EY+)DIMTS!'I4;ITH@! MV1".V \>YYD)YG@%MDB2'&\.E5#.]+ACXJP"RB#8BM5@:) M7/MKY#9%YAJ]!>PNXK923/_W%8#TE'>4Z+O2W$%^JY!^" ^4"Q10W5+R>4GQ MH;2X@1[*7825*/8(XH\R5UND95O/"6(I"HQU,&[M%2=-&T4(LP&!)>9-AK2< M@6 ST[:\ WX#KY$!G!0PKRR5YXQ;2GMUVPWJC@KX6 MG-$YT^.GB)_4A9 ^[ZNFQ]W)WNPQS?!Q_ \J6C9,>B3S?^(0@3QFN$IJ2 Q,6G>[13=I6A?['4 G$%(Y/);)YR/Q%Q )7M1EE0BU M#@GM1-,-D_/LQY'H>\G4'4)"F>NVR41RA(PQ^DH973@D'QR76:'5-;F5*4_\ MBN5HE0"QU :*,$4TX=GA&W8=XU&1XN0$[V2@;4(TP9CCX$$T(SR[PML1'=L0 M.IO*>$"9U^%J9VU#S2V:=!YH!FR%!4U2D(J4YOOF]^+];=N)@9+%#72[#)49 M)OR@4]M8B8M"2^_$9Y45UAFWYO;U[MV%V""J!]/A]&2>&(*A>ZTR52Y1-?-I M6W.O:]\VYL=23\^@E)VNCJ1K,G_&NO:&N3:LC&EHDKZ9[6C9 M4AI,7FT, O%9SXJ]]D XU;:M'^(S1W5#710Y0#$(?4A6-8\=#^*([DW'%/(& MS1$;#F;#D\ED/XGV^:%))&H,[()5-^"8C1-;)7V@)F:/5OM']$<=R6FGWSN6 MWY:6QM,A)FJ:X'G@1![1L%P9HF6"E<[@56(*EY(,P@S4JF[[&B2XP2&UG6LQ MG*]Y7FX7)'IYW&$>0\VF0!;AF*"1?]IS=5 73=-XYM VOJK\]HRCT@R7OBS M-./L^LCP":.9P?G(M1-(.A1A3F&(/!ID!460SS29]EE=TBDCHQ1'EU&^L1TP M#:+7Z[5B6-/VX8"2$0D:52HVC)E;>IV\*N666]I2M3, M;61>%][L20:1Z<1 M!20O%7F>8T' O,-P4H?RZ:A#YF?-^2A7]-@U\5@;-"XC5'MDQF^N4\_;*S0N M[/=?WKX^0A$"NEQA?<*RWY!SE='W(\*B,[#)U,9Y0I:2F+Z2HK;N!WQ743WH M4S%> I/9HF7A=(A,MC9#]'W)UA>#[]:?^0J=-GPY.GTWML%:>''(=PB[W+_JDJ$0*[!J^+_-6_=][1SWOB.#P]?\M9S&%%!N^J3T^R+],WZ%W MR]/7_$N 2*1NU I;)Z.G)P-,-/R%/-U$5_%7Z:6+Z!%\62@&ULO5EI<^.V&?XK&-63L6<@FP0/D?;NSGB=)MTT MV^S$V60ZG7Z *%ABER(4 /317]_G!0]1A[V;-.T7B01?O/?Q@'SUH,TGNU+* ML<=U5=O7DY5SF\N+"UNLU%K:<[U1-9[<:;.6#K=F>6$W1LF%W[2N+D00I!=K M6=:3-Z_\V@?SYI5N7%76ZH-AMEFOI7EZJRK]\'H23OJ%'\OERM'"Q9M7&[E4 MM\I]W'PPN+L8N"S*M:IMJ6MFU-WKR75X^38F>D_P[.B:D25SK3_1S;O% MZTE "JE*%8XX2/S=JQM55<0(:OS:\9P,(FGC^+KG_HVW';;,I54WNOJE7+C5 MZTDV80MU)YO*_:@?_J(Z>Q+B5^C*^E_VT-+&P805C75ZW6V&!NNR;O_E8^>' MT8;LN0VBVR"\WJT@K^77TLDWKXQ^8(:HP8TNO*E^-Y0K:PK*K3-X6F*?>W,C M[8HS^F5__K4I[V6E:F.W+6/Q#..4O=>U M6UGVYWJA%KO[+Z#DH*GH-7TK7F3X75.?,Y%Q)@(1O, O&BR//+_H!H)RM,K!Y&+-;?:\,ZKWN MMH8QS]*/^NA.(0).2.J(&+72U473QT+(7B0Q"PY[@#!4_@.TH,@.?! ;YZ >8+] M3=?3XHB)<3J#B3,61Q&/$X$$R6!5F/NK..%1$CVK=Y>FK4_G;O=15<$11E;E MO[%I_L0V&CV32 UR%$DTKT"F#:NTK"W:KUNQPJ@%XJ+JE:R1Q]#O"HQV??J" MS-+:II4UU^"VT&M8618^>S%'O>,*O=[(&M17S.T&\XL84RU^/+\]9TL*1=VJ M:/?",N94PEK7,MQRZ979,H$ZZ[WP?9$^UI%GR,!*%]BZY0@O.D\-%V[3WX[S M7QK%'$9]OV#92E6M@F6-")1@2(VA= V-\BY($D\?%?4KA!<.9A2<*Z^#'&?N M6/\^$@AW;[N>5^52MGQ!,E+<5V?6HWH,7N!9FFS,:4%D1N)1U;R7LU M9D&IBF9YSJZK:NPXLGBA:HV)+IVWH8WFUY2M!HW86TA!5H^%VG@ TW7@XG@/ M\1Z3WH3#WNMU>\#3/9E_A16R9K]HC-;KHC#-CCN'\D"T\A%2'S+ZT)96JG3!=>ZUOR&55N?"2W\J*ZHK=>MCI [;634V/G&8G M(<^3#)TD\(].!,]F<7OKS=L=-$1R8#"'NG:C/.*KGL[9#S7[3M8-4"<+VWV\ MTXJ*\(G)A=Z0=/B ]*#Q=NO 61KDS\<-:]V9W&R, ME@5F]<.J+%8P"W//^&S;:@^?@:YJFX+M]";ADFU&O !>RZ%TBF;=H"]B?:KN M[J@UR,6_FK87$T.H 41/*2Y-#25MYWP2,5?+LJ;%?F&C3*E]9K1:TMJR0; I MR)#92H"L<_;32.\%,JC6KDLM1/)S.G!2@K),L0?ZJ?5!1QJW[ZJ-PE9Q'V8J M)0IHJ\L6SSB?Z>WA!*-BQ\5^@LVNP.M>EA413M$^IE92;8QFV+$$W<=)UVN- M J99]"V"8[O?;V1IV,^R:E0__R^?G78G+,YYYC$4#?638<">]!#G"+8)T@0S M/&2G47;68YU]D(/!"V"4 *[T'#O<@AG@(( EP(4X8:?AV0!O#F$-[ T%#P)(U@6Q6<#U'D6X@0\"X$R *9. MQ5F/> Z@3I2P: ;A<%:'?(Y@G@2RPS#9.J&%02/6@@ MZ+FG$&G@_PD8YS[A=C(MXB$ /RT+%!0R,DS//,06;>H=EI/((U]&!UH-3T[8 M#&F8S ;3X J)33%=VY61JGIFC*D'RB*7AWLYF%[1#T)TV +$%[F:\O' MSW(]1T/:,Q:[7S;/3Z#!7\>LP-*^<#N6'@4M6CGO87C*0HTOW])O\ M?-!%>B3X''#=SK9W=4$EZO/JL\HA/8C9EV\XS5 YOR"R:JKO[K9'UEW]=FU! M(24O%<_0FY9 ,>/JV6_@7=Q\ESYRR-K6$?K.-NMG?U@Q17F\91N*W\]WF]#_ M5[?@@"#2T7DA_&_;0>>7>'P*B=+?RW7'*U:-[.Y+:;_ MV_JNBK_K;7] 3J8 M/N][!SHO?>M!/@8 !TIUEEFU[WC.:N7/.DX^1)-A ;_EQ1"'9QSN3?\5)EOHS<7^>8&OI2*TGC^@'G/\_ M0.U?5>XJ9$\XB;!P*MC?<0&@.(VZJV@:=U?Q-.FN6FAS!)BTX/N$93CH9C2G MPX 09^RO>)2'.Y!>(//2]."57X?,PRCC*> "I6HJ#F"!0/*E^?-HN#LOX$ [ M2X"X(QX%V>AUI(A#E@.QA\%S[SQS+J %#@X [ ?"9\#ELUW$@+RUJ9I?^.1*^6 MFMJU'UN&U>%3U77[A69+WG[G>B_-DFJM4G?8&IS/D@DS[;>C]L;IC?]>,]?. MZ;6_7"F)@B("/+_3VO4W)&#X@/?F/U!+ P04 " !E@?U0YT<0:CL# #+ M!@ &0 'AL+W=O>4U/A@P'9-(\SA!A7UZRB+3H9'N:^=-R2;52OV M^ '='^V#X5TRLE2R06TE:3"X6T?7V=7-U/L'AX\2>WNV!I_)ENB+W]Q7ZRCU M@E!AZ3R#X,<3WJ)2GHAE_'WDC,:0'GB^/K&_"[ES+EMA\9;4)UFY>ATM(ZAP M)SKE'JG_!8_YS#Q?2*D]H?RP1E^*QGG-O?Z";4C(]&N$L>$ MWIR41_#- ,Z_ 9[#>]*NMO!65UA]C4]8R*@F/ZFYR5\E_+73$\B7,>1IGK[" M5XS9%8&O^$YV![B3ME1D.X/PY_76.L/M\-%KNS/5\ 5P[%B<(DKV!1]%S MNS@T4B@+%VR,%\7<+Q9QOIS!)[XSEU)?MH9*M!:F<99E,(MG:0'OI);<617L MB2KKHV3IW .GBX(99GG\9N87\S3.YQG\SD)OJ6F%/O!U+@)?#5<;Q,O&MUYP ML?+YN&LY3R\5?3]^79N8-=D6PQ!0AQCZ6I8UVZJN9%=/6PIC#K[&3T)U>"K] MN3I'WB0-:)Z6/ *5_$=L%0Z 22A 60NS1_NBUD'=2^*@1V[,BJ-R"#YI/D$N MW&=6RYY6J*$RQ^*=*Q+\\XGQ#/(>%?J3)B.D?^M^5;B]Y@ M:Z50%=5.F5I8FI_W+D>G5V.6#P*_*UJY3ENP)S-CWG/GA^*\-V1 I"GW;$'B M>^D)PJ:RT;[&[/Z MGC;^'+&]W&@7_HM5E!U!.&^<-]5&&0@J5<>OO-O$H:-P,OR(0KI12 /NN%! M^4IZ>7%FS4I8EH8U;@17@S; J9HWY9VWF%70\Q<_$5QR9P,/6SPRR#=Z5U$O M_8C>1+PQM2^=^*XNJ-C7'P##%DC: KE*#QK\L:G[(CU)1#I,AP?L95O'LF O M.^B8^.MRYKS%WO]]P.9X:W,<;(Z?'*R#>GRP3MU2YG3>P\EQ9&^IUP+\M21Q M;:JEK-??.*'CH+0DEE;AF"B]CH,%!G 4K5<\GUOCG"C4?$Z6:L_4UP680T*; M7#+?G5B5F!-^9U_DIBZ:W#NA\,?&HF1?7&HMS)QE'74QY%HZI^8*J\NM1KW8 MB/3%-?#@X+EC[""EI"^BQ$Q<$837'.Y M)3;1YQ !RXK_U>;3AF$PR*HZUPW(B498H:!6BM-!='>#@2?$G.V46_^1P9R7 M=<'^LO-S 8K2EJ(/G&\=#]W2:*Q;8(- AA\D(!<(M@O&X?-3*M%W(5$ MD,NEC@%&X!L792$%:ZJ0:W2!1]R"%7*&&"WEFHT@%+Q!B(=D$$BO9)D].8>@ MH+O[ 00#/69C%.%S#HRU9#M/C0!SUQLO]7UJ8&=P:^#;6O2E)7I9<#9*CL#;!7BE@D)&)S,T5Z5L254RR07>L0Y7'##7QC,++.5F4:L/.%KM$7,.UWN[EM"@C]+*KS?!S78>3,:A_9_C M\_D;^_Z_;GR#>!W>$KZ6)/NH44\Z\2(D=],X6'??GHH_2=I8DXA7E%,U M0R[,1HFXK$R#3'I#7*@6&$3TYHH3;@3W3(R3+#OBSDB<)-EXR,U43)+19,K- M# +3XXR;8Y$FV73$S2,Q2C*(A0PKY]@7B(TG*>QAU>DTS(3+C)Q0KZ+5'F AL%2IM*EX"D,7#81M>8;D 8+:.^Z/G885Q_^3Y$Z^USTMF M#T#8P*P=:\,192Q'_2R8S/H3A$G:IUZSG\9SZ< 7ZULV[2JI<-.CX&LLVUYJ M68L7>/1@XY$ ?C8(UFCR;8*RK88'H1[)M>%2$V556W6:.?:-'M\?%!DFV.)E M0R46$"C;B8&+\!+2'.Q&F4H+882(&9$_!I$'1MK MG@]DS6/@DLW1X35#.;J?5&*R0X4FE8V>E](NR,4CE1QEG[H('TUQ@?3R7NW9 MN]G;ALU"/6'JS7;5+M1W[/@[CT\\^0#R2Z=$?[/;)(5BL[%<&>)Q4-/">!5= M [MTK,#YQ2,ZY>Z.=/=YVDDF>Z?QL;V0,W#1U#M6],5CKZI!YSF*6G01'MU< M(..,QI?I=G3[KK^,S]F=>/Q1X UBI6I^%\VA.NP?'_5B FD[WBS#XW9F/)[* MH5F21()G &PO=V]R:W-H965T)"\322LI/^];VC;,=NTG0OL4C>??=] M]X/,=$WNWM>( 1X:8_TLJ4-H+]/4YS4VR@^I1KF8B'TT^*QQ[?>^090LB>YE<5O,DI$0 M0H-Y$ 3%/RN\1F,$B&G\M\%,=B'%MCD8<_A8O0=AVSC MD$7>?:#(\D8%-9\Z6H,3:T:3CR@U>C,Y;:4HGX+C4\U^8?XK4;'6QL#1[Q30 M'T_3P*AREN8;A$6/D'T'X1S>DPVUAU]L@<6A?\IL=I2R+:5%]BK@N\X.(;L8 M0#;*1J_@C7<2QQ%O_".)RA9P:X.RE5X:A"OO,7BXT3XWY#N'\/?5T@?'C?+/ M*V$GN["3&';R@[ O9?3_><(?-4)>,U_TH"T$62KG'K6M8*5,AT E5%OK-;($ MY:$DPZ/FX2BZ4.=9MS^^A(4RRN;1A-UN,,=FB0[&IY+ITS?P$V23\6 R.0/N M=^YF"_C01P>GPA.3H]/!:/3F^!L\KAKNJA:QLL%D?!XU> ;3I@5 M/YXE$5K$\'SS=BSK@ /DIBL$;9NA :?&0@N4,/:SZ(?TZ*QSSCDR0=>+0D M9IYWSDDX@6@=_S!%S_"/6+0&V\^#D[_(S$SYK?;71BP.&ULM5AK<]LV%OTK&*UGMYVA)3XD4TIMS]A.FZ;31R;I=F>GLQ\@ M$A+1@ #@%:<7]]S 3TMV4EG=S_8 DG]<(X=G'5FEW-6B\ M[UZ,1JYJ1,O=T'1"X\G"V)9[7-KER'56\#H(M6J4I^G%J.52#ZXOP[TW]OK2 M]%Y)+=Y8YOJVY?;A5BBSNAID@\V-MW+9>+HQNK[L^%*\$_Z?W1N+J]%62RU; MH9TTFEFQN!K<9"]NQ[0_;/A-BI7;6S.*9&[,>[IX75\-4G)(*%%YTL#Q^5,?5**L6XKME1P.RE=)4RKK>"_7XS=]XB4_[SC-GQUNPX MF!W_-]#^117LIC76RT^B9G+WC,=GE4&M.(]G9L%\(]C"*!2=U$OVE=2X8WH' M"-S7+]@K:QR4557?]HJ3R,\@ "#AK9SWH5ZT\($:V!DKIDEZD>XO_OZW:9[E MW[ [TW9*D+P75:.-,DLI',NS9):5+,N2M)BP+$VFTYS=A6P6%K4,DS#A&MDY M>CHII^PB*6<35B3EM, 9G7?65 (N'JI-BC3=VHY7/QM]7L$+.,'XT@H!Q@ 6 M99:R<3IC19JQ7RVO06442X;;Q0Q/V2U77%>$':&%E!/;E$-\99%?)-"^?Q&VFGFN0/7UNBX2&*A47Y.VHZ))4"26=<8C M>LD5DVW'I24L6-U;$B';O@% YRW1'.N$E:9F@LCN,&^&#(V"+:267JP]."Y2 MWW#/.+C&]?,_T)J8-XS'H@Z'F\1@<3)\]<(1 M7D,D 0O[C!8)>Z_-2M-9D5(K*G,O+)]+)?U#D(C6*F[M \5ZSU4O-NP1'&:2 M> 5F"&:X2@_0P#=[>EV#/4VO*9,K[AJV"/Z*CQUBBR+Q+'<'V3L1F!@GK7T/ MS*&B,TZ&XMFWC5@6SQI<])Y8>\^NI QR 65](K3D,#!M_ X4%;T*V %L>HZC MIK%'U#M4\20JV8.^:KA="A)H!:<^4F\0Q\'"4S9_8*M&5LUGP18?*R%JA(%$ M64!]W!/S2B+AOC2W*+!G\VNG_.BT=S%H^CL=**%FZ_]]H+<8L&K6=X9.#W9H MMW-D/,'4HS$F1D=,J&C*+PJY$M9C_MR86!?//]SG:A&65=#Q1&T0 MM(CW"( M)0AAMU4H/E ^K\OD!"8(]!$J$8CH!)[N8_'K'@]PY[B;1L9UYQU;@8 ; 4$,2DVB=8(;US>:TT1I#P\#AP#>\%SA9 MBR#*XUQ>WTMG;,*H!42Z!5^CX3'>P3X'\!/&JG%N(^-.]1_.#CCCD7@Q[TD='&8NS0D)$(MA-83:2Y@ M>@SKB>3QQG-%$9]E,TQ &)70E=<9]84-)X%CB-5*];!_< $'1D^_Q$Y>(\? MMR1\,!\0(M7I*8-7'WI).1K#B5X-X9_ U$0'?4/VZ#FO, M%G#=\M#(E\K,41S(4VVH>^.W#ISOGNGQPR<&I>2I[$S^^/YQ,/;U6X8 M<3L+-),DO7:S)T5B3%-(_7")Z:'NI*/82&P>L88/)E_GRKWS6\ M$^Q5._\^IG+#:;19AI'SF$W/QN,R)$T@ZKV)=)_NP\8\GX:-)@:WYI$XY$ B M0@ _^BHFT"=A3;(W@P&4D[02="-[H7N(%Y2C03HY+L8#W]95>$@ZCTEZ19GE MMI/0XS>9?PMNXYOGX3!Z$]GWK: O$S5NPKD%J ,IN)[QL^1B>D$7&5X[\C*G M)?[A@,.RP#+/,EJ.:>^LI"7>9I("TRTX$-2P0(+CQG1&KPK9!&\[Y^1LR-1TF$92/PGF%I YXO#&;Q]049V'Z>NOX34$L#!!0 M ( &6!_5#6YYRV/00 T) 9 >&PO=V]R:W-H965TAP:3[)HG6HSSB>3C^-::ILMY^W>C5_.78I&6[KQ(J2ZEGY[ M2<9M%MDTVVU\U>LJ\L9X.6_DFFXI_M7<>*S& TJA:[)!.RL\E8OL8GIV.6/[ MUN!O39NP]RQ8RU[\5BRR"1,B0RHR@L3?(UV1,0P$&@\]9C:$9,?]YQWZ MIU8[M*QDH"MG[G01JT5VDHF"2IE,_.HVGZG7<\1XRIG0_HI-9SO+,Z%2B*[N MG<&@UK;[ET]]'O8<3B9O..2]0][R[@*U+*]EE,NY=QOAV1IH_-!*;;U!3EL^ ME-OH\5;#+R[OI/?2QJWX8V7T6G*FPGP<@Q0\C=0/HHOSL8JB%]M M0<6W_F,P&FCE.UJ7^;N OR<[$OG)@<@G^>0=O,-!YF&+=_@&WHUW15)1]'(U M!7&M@S(N)(_G?RY6(7I4R+_OQ)H-L69MK-G_3.F[*-R,9Z&1BA89NBV0?Z3L M56CQ9T7BRM6-M%NTB7*^"")BCT+4*%LJA'(A"E>*,IE2&T1:BZ9/R.8Y(3*V M;G B-@[24%OPA4@-^J?2*$:OE30M'F*X':!01NHZC+ZA5%I!" M6@5Z2&0CNW\7;E.1I4?"T&A(Z5(K@95%+.>%JJ1=@Z:V0FFO4AVBM(HW(!V] MO2?J(4FCD:45P@+]WKJ-13 (W+AD"F%=%)5\A#PBO)#W^-46A*12+H%;"@RW MI[A ;XW$7:69)%)KUYA83(6>(D\H8+T,CO7:RQIYM04O0#50.("3,JE@_&XB MF:VHG=4X1.SZ7RD\_G.33X_.PJP#@#XG[L#D2^B1N,"D M+N 9J#]Q=N'2AGS0QS;K<;XK,'0&QB^;L#1+B("+"@B%9B'@-LA#I$?-=PGJ M].Y[S5#LJ3^S$X/Q:>NCVNN*D1X MA2-(G>;''UY0P9BF84R#QM%!?GPJ7INAX[TKJB:_;B_B(-IVZVZK87>XZR^Z M*^[9O/M0^"+]6H.0H1*ND]'Q429\=_EVB^B:]L);N8CKLWVL\+U"G@WPOG0N M[A8<8/@"6OX'4$L#!!0 ( &6!_5"CY0K7* 8 )X/ 9 >&PO=V]R M:W-H965T:C74KIZ'95 M-_9TL'1N?3PZ;5LL#/79B46%5O4PB>-\N!*J&9R= M>-JU.3O1K:M5(Z\-V7:U$F9[(6N].1V,!CO"SVJQ=$P8GIVLQ4+>2/?+^MI@ M-=QKJ=1*-E;IAHR-W$D,ZT_\N*[ZG00LT.REJ5C M#0)_G^2EK&M6!#?^ZG0.]B99L/^]T_[6QXY89L+*2UW_IBJW/!T4 ZKD7+2U M^UEOWLDNGHSUE;JV_I=,#Q8J2;\B]LN#SV!(GY"(.D$$N]W M,.2]O!).G)T8O2'#W-#&'SY4+PWG5,-%N7$&NPIR[NQ*&O5)<&;HN\8ZTR+A MSIX,'70SQ[#L]%P$/G)ZKQNWM/2FJ61U*#^$3WO'DIUC%\FS"K]OFR-* MBHB2.(F?T3?>!SKV^L;_*5 2347O9+50S8+.&2'**6GI2MFRUK8UDOXXGX$= MZ/GS&2_2O1>I]R+]W^E^5@^WZK%=BU*>#M"+5II/G%N B!PMK[2"G1$USU0CPXTO!:.E(SZE13^U]QM:I6OTM'SH! MPD:8BL#O\631ZFX)K:XU 75(2+MF2VE&E=@>&H6EVW6 ),CSNBU=*T+B7@Z9 M!!SF5*&6&+X*E?1)Z\2^[F?;R%("1[-:AI*LQ=8O0K@+#/I 1W]8=MJ7U$I4 M; <_-B:R#\((33H=1MX]'D<+@YWC_JMPXM115< MU35.,F;$&6<='/00?%#<5SXTW5IPV-?'A($F]P.-KI#DU4P:&H^8,IIVF$3E M?M)<5;3/+S=7AXNK7H:Q@74_P-T8Z_7^,?V HN&?D.51N,BRJ=Q%,IX&N5%06]:HRD+O%D>C<83&A5^E<11DD[IO;Q5)11? M2ZNQE483[($C&U$1Q-(H2<;TO4#RN$B_RX;RN-,89<6$LDG6K9+IB-ZUS0+ MA$J:O4#5A*,5NGH$_S3(:3_ 78Y%D.5VBSRHVWW&.$#0B2A!X-(Z9BXW? M(,%BC9S>L<73F"9%2@6:-D\*I#]T ]Q!0Y]PA M!YCXL6N4[0'U(HQ4>LOF?_7F'R'=^"O@2R#]=UR?@=,W!SW\2#*NC5P+5?$0 MQ)6P&TT:233=S'.[D?$EI3E^BFR"$[TTK>P)82\K\ MD?CCH9<TD6:O$"[P#90:'H#"JMW4Q'!IK*Y5 MY7.SJXI/,D[ UD]Z9C-\MV30=$/4'QQ2P(J?6M*LA8&+GXN0E^KYTOZW(5,K M]L6?8CA"]*+!*5@]4I3GN/MI[-7JOHA/@K_,)-_L__\5TT^@!1:VW#EW5Z6> MFX>)PH!P,C"^,!!^U&6P#_K; MO?S-G?R'I9'RZU7OHHZ!=GM(.*RU7XWC1W%PN/<9/?^MOTJ\"O>(UWT8J&;? MU'A^FNZ:\_;^'8?O(D'^-8J0\P'V*AU/>?&JB$9%[,DY/79Q'_;>3"MI%OYE M:$,_A>?3GKI_?)Z'-]<=>WBYOA=FP9'4<@[1^&B2#4+'[A9.K_T+;*8=WG/^ M&ULO5C;;MM($OV5@M;820#: MXD6BJ(QMP'8FLQE,D"#>S#PL]J%%MJ3>D&Q.=]..\O5[JGF1E&1L+[*8!UO- MOE2=.G5K\OQ>FX]V*Z6C3U59VXO)UKGFQ71J\ZVLA#W3C:RQLM:F$@Z/9C.U MC9&B\(>JM*U4MWQFR;54)L[N6I;Z_F$238>*] MVFP=3TPOSQNQD;?2?6C>&3Q-1RF%JF1ME:[)R/7%Y"IZ<3WC_7[#;TK>VX,Q ML24KK3_RP^OB8A(R(%G*W+$$@9\[>2/+D@4!QA^]S,FHD@\>C@?IK[SML&4E MK+S1Y>^J<-N+23:A0JY%6[KW^OX?LK=GSO)R75K_G^Z[O;/%A/+6.EWUAX&@ M4G7W*S[U/!P&WU/AG=#&@^\J?XTP*F:G7+K M#%85SKG+]_).UJVD]S+7FUHQ4^=3!\&\/,U[(=>=D/A/A*3T1M=N:^FGNI#% M\?DI (VHX@'5=?R@P%_:^HSB+* XC,,'Y"6CE8F7ESQBY=KHBFZ U2 :P+3; MTHWG6!KZU]7*^OE_/Z!P-BJ<>86S[Z/U?Q9"_]S""ETBEU2](2=6I>P32GV6 ME@IEQ69CY$8X62!I.@&J[K*7!:QVM)%Z8T2S53D))+*/ZH+:!JL.XO.>D1\L MY;H%5SO2:RITI7(%;<\4;].M%75AG[\ (B/E:740 '2K/AU/P)]R]&?WE(3\ M%"T?7+L"#)4+2R>49L$R33%8+()9F&$0Q18D8<0_:1+3 M6Y!AZ,HJ;(N#>)92G 9QF% ZPU-&\QB"$U:?+H-PN>#1$J,9CY(D#1((P6B! M?4GT?_'<,.UVS5_KB%L')<(4U!A=M+FSA&>RTMRI7+)[0&V0A9Z#11(D*3LH MB:(@33T'R2R80>A5TY3P)YMS:AN9JS5B<(@WLKIL>&=D( M59#\A$YH96>Z]L&1M\;(&F>LE2ES6:V@'<'KO1,@+IA-[F_E[HRN M]BN/-?"BQLE?E5BI$B4&YHW'S7@<0[1\ZTVMND5L+V$" M2^E9*'=4##5V\*FE>Y29K2<5,K1ALX5CEI2A&H1(ZU35Q[PHU6>O[DZ4K3SS M*7.CJT;4.^(+AL,?TT^"T\BS*C8\YTAQ2'X#.-*'&NT 3XF2 M[J,WM;TBZA;7/$HZL(VZ+.B\Z0H=,.2^SAC>H;R M8NE#PUE#SZYN/SSGX$Y/HR2@O_\MB^/PQS=2V-;(BN,0VF\Z;_[JO%O&*@M;=66@N=/Y7HM.>"*_X!2;P@$ M @8" Y1(86J M'WNLXJ5W*B:)X>)!BU1^SCK4/+&X?4/LVM70#7L.P=773?'+8OI] M^);?@6AHOD<8P.U0,5D!]R2?IL>(G/@H.5OLL7L,GWK X=UKF'*[D9,O.?B6 M4[ZZZPQ-M\ZVH-ZAT3'PWQC7E"QS'F$]H.9L_A:XG5N^_BKD(=S7R+$^2)8 MAK.C%Y:#+O$,][G9,GF,U6=1.'_^"+.S-%@D&>XRONPR,SF',K*A4"AHQPUG M"QFR;V=97/X7791,=R[^WXX5%JTW-J*[NM!@_>0+GYRT5_=6BPZ9;F1 ML /\1=WWQ56I-KZ]\RT+\%NS[^5]!04O1J&P]Z ]M*(U8J"LE)9C@_?!\!UJ M\MFWWDJG!R_^<,3&?][H7]NZ;P#C[/@%Y:K[<+#?WGU^>2/,AF]7I5SC:'BV MF$_(=)\TN@>G&_\98:4=O.Z'6RD*:7@#UM<:UZS^@16,WY4N_PM02P,$% M @ 98']4$VP28-""0 ]!L !D !X;"]W;W)K&ULM5EM<]LV$OXK&%UR%\_0M$B*$I7:GK'37*^=:9.)+^V'F_L DY"$"4DH M &A%_?5]%B!I2:;L9.)^D?@"[#[[O@N>;Y3^9%9"6/:E*FMS,5I9NWY]=F;R ME:BX"=5:U'BS4+KB%K=Z>6;66O#";:K*LW@\GIY57-:CRW/W[+V^/%>-+64M MWFMFFJKB>GLM2K6Y&$6C[L$'N5Q9>G!V>;[F2W$C[,?U>XV[LYY*(2M1&ZEJ MIL7B8G05O;Z>T'JWX'I:TZH_YO)SMDN>5&O%'E'[*PJXM1-F*%6/"FM!_4YC^BE2KDJC?ME&[]VDHQ8WABKJG8S$%2R]O_\2ZN'G0W9^,B&N-T0.]R>D4/Y([?\ M\ERK#=.T&M3HPHGJ=@.WEC5?[I]!IR%>R-JF!KPYVZWGZA M:W%^9L&%UI[E+<5K3S$^0G'*?E6U71GVMBY$L;__#.AZB'$'\3I^E. O31VR M. M8/(['C]!+>I$31R\Y)O**:W%ZZT1^S[?P,,NNM.;U4KCK_UW=&JOA+O]_ MA-FD9S9QS";/J-]'*5*4OC9KGHN+$<+0"'TG1D^R86X!>U_RVK#_KH1;Q.OM M/_^1Q='L!\.,(^"5PC=<%X;9%;>(.P/_9K)F^2Y9T9+-%<+36*86G@)3:WIO M&*\+VFNUS"U(^I=-+:UAKT8?;CZ:T4G(K@QMA'U%;]\ ;'MT;,4+%DV#)$F# M\7C,#%D.M.^X+/EM*1B2$EO"LUB1IV(K=@]+"+P>BC;0KH(0D M0N<2HJP!53#QN>$EL\K!0)KZA+QXQ\M&$%([H#BHI8)"/%5ENV9T@7=T!Z4(UND7WKD5'9EFH$FE2UDMFG8 ^5\H_A1EDOJMSG^"D MW3JMT&HCOYQ6%(ML+;14!1,4D?OZ?LUNO%+_SU*61F&:P1>]J@OV M*@JR.#YA\32SW8\&SQEN MS-9*NTVM3S;U_K9[:)895<&WE:Q=$-/J16,;+<)>M(<"(4QR7N9-R>GQ[9;Q M];K<.NTC8(R5E7NQ\'8#,:;)25H1#M&$WK.YU#Z2S,-LT04E$ J>]_[J\IN/ M5@$F]YP;XT)D+V VG=MRQ!?Z"=@%T>,9O 8$+82/AK8RL9LN/+H'^R9T=\FX M=>['WGV0YM/I O2]&J)PREZR.)SAEZ[]U=M.RP6"M$ DLJT49<'@L0E>C\-D M[OYV[_H]=PJFD"4%=T+$#G[Z=5;HBKV"%K>":W,"GX-[AW'[GQPB);OH_4<; M>+.O LV:<@JS:/5,H[>P#;)YXRKD9J60,!TS6M\6 ?>&LBK9!<]<#779E!:V MKNHM'AY5QT]=KO2NGS=:$]V#5=(<.FA=@Y/\LW.+G)O5_:9"Y"77?N50&KU6 M*'@NJ2'UY%9I7[_Z=!N48[CB2B5>5H051520 #7TOJK%0AROOW ;DQ%G?=QZD!6>>4U>)Y$V19FAFNKTN)\B7/YZ$93)%\9\_CO)1*[>E];FT M& 5Q-KN'E_F;Y\'V?9I+9L$\C78T-PZR=%!S'^['#-]0?_1C!DT9)]_05?_+ M,-KR7'WT51N_OZFN'SK:.*=CZEV1$9*^:YXDL>N:$_:[W^QR;/Q#_S_<-+<] M2(UGLZ\S?A@E:]IFWLQ-ZP &U\&MKY1&X M[-]*^+TH!AET(D*]W\FF\^QV''UL3-\9S1D=0EBYD% [^;- 859;0=)>^V?,3"2<]Y]0&NQ%G\!P$ M")%+9VTNQ:8^MW'J/I_>//%5P6\E5QD^&W%)N*G1I:IEC016#%/4PG?&X%BK M^K3U7_&YH;3FM1Z04&53W#>QNT3-,@ @*7>#%S[Q1\FE#9U0J88PXB;3W8+RZY;#(I$J,B&G6A 3Y.MY5\ H!8+:7=1'*^/ MCV0A"!GM"^HT!$>! 0MR%F_FR=C7)0?%N9ORV8*FDCH79>FS+N]FAOUN&76& M3JH!,2=QBL:=3P=M&Q/$LX$:[-]^G52')7XH?9)/H*;4\1O] *7$2Q),=^FC1_!GCH5)^.Q*S;N[E:VEIZCQ2 M9 'K0;$/!QN2]J##MR-/:A\C*%B[1R3Z\(E).XR^042K4A;L1N$(=X'W>FKW\F+ M2M;25]8[P=(@1JN$X,@RAC8]B2?T-TFI.7+9@$X"7?S0R9WS2;IPSL.&O@Z< M[7R)J81>NN]--(TWM?4?9?JG_2>M*_\EYWZY_Q[V*]>0TK!2++ 5G5HZ8MI_ M8_(W5JW==YU;9:VJW.5*8$K7M #O%TK9[H88]!_Z+O\"4$L#!!0 ( &6! M_5#!NY^XOP, ,,( 9 >&PO=V]R:W-H965TK=1K15N:Z>L>A;IL@R08 M'CSPLK+N0;3;-*S$1[2_-0=-NVADR7F-TG E06.Q#>Z25_N%L_<&OW.\F,D: M7"1'I4YN\R[?!K$3A (SZQ@8_9SQ'H5P1"3C8\\9C"X=<+H>V'_RL5,L1V;P M7HD_>&ZK;; .(,>"M<(^J,M;[.-9.KY,">._X=+9ILL LM985?=@4E!SV?VR M3WT>)H!U_ 0@[0&IU]TY\BI?,\MV&ZTNH)TUL;F%#]6C21R7KBB/5M-;3CB[ M>[0J.\$#-JW.*HH.#EJ5FM6;R!*[LXFRGFG?,:5/,*W@O9*V,O!&YIC?XB-2 M-4I+!VG[]%G"GULY@W0=0AJG\3-\\S'4N>>;/\'WYF/+[17^O#L:JZD;_GJ& MOW!O:*Z1Q4 :^YID97 MV@!K;:4T_QMS;ZL_4Y+9MW1:P[C[N/TM6Z;JFHZ*<5IF '?&F5 =\+MODE7\ MXU",&Q$3!SFDX3I9>6Y3,8TDQ@(C6F.]\R1-POEB[0U::A--1-Q TX4: I>9 M:',N2TC"-%D^3;1,PGC>.!/MOW'MLC=V\0P^R%Y, MDGXAEU]14$8W6YYS=\4Q\=_*>^AIS+06?:I(V5 6NI&$\%AT^6D;HJ!=(]#? MJ[V7:9,.2/+QZZ11:C9MEB&K@V^D1SW.4"- T=J6\MTET]!-2W/(MX87P.#, M-$/VMD*NIU1;5N F,"'TB6;TB C=TK1,6L?WT J$)#XN7R1 EYO/4T/] M3&9*NVQ2 &=F45Q!8JDLIW7N+*5A?CR:V9=NPV@R6&K4I1^?3F4K;3=CQJ?C MA+[K!M-G\VZ\4U^57!HZ>@5!X]E+&HBZ&YG=QJK&CZFCLC3T_+*B?QFHG0&] M+Y2RP\8Y&/^W[/X!4$L#!!0 ( &6!_5#3XB)/V@8 83 9 >&PO M=V]R:W-H965TU(5T+AETR;DCO3%Z, M2R[5X/K2KWTPUY>Z=H54XH-AMBY+;IY>BT(OKP;1H%WX*!>YHX7Q]67%%^). MN$_5!X.[<:/K0;P114&*X,:?C_R=3E5X/S M 4M%QNO"?=3+GT03SRGI2W1A_2=;AKW3Z8 EM76Z;(3A02E5^.:/#0YK N>3 M'0)Q(Q![OX,A[^5;[OCUI=%+9F@WM-&%#]5+PSFI*"EWSN!7"3EW?<\?A;T< M.ZBBA7'2B+T.8O$.L1?LO58NM^R=2D6Z*3^&"YT?<>O'ZWBOPI]K-6+3R9#% MD^ABC[YI%]?4ZYONT'>K$ET*AO#86VF30MO:"/;[S=PZ R;\L=&B)-R+='L3CYN+B!O@L7GE+=X$N[:+.[][7;++78T M%TIDTATS[MBGT=WHZ^(^BJ-C=LCB:./#([<6O+!#IM#C@&^KM3''CKQ\M/:/ M>DZNB6F)$2D4QK3HE1[%Q]TUT="(QO/6 MMA$%IT0C>2CUY O3%=' 0N9B74-\X;]F6XI:\-84>:^%JXUB&7BE%I9%,PK+ M;=S>MW'R]#-:#GJN8]'YQI:^JU_ -],X13'/FN^^W)X&D&D+V8YH MW_V*KDS:QF\K4S(O%5-U*8RN+?M<&VE3F01D.-94ZKF.AE^DC.,N!V^]H,PD M4)#.HDE^!L])Z3-YNUUA0W9+ *ITZ+6]R:7B(^_?BGH=&>!J%(].#\G'1LQ+ MQ6')"P_!5 1FFHR0O:\F-"@:1X?>O%U1+T$? #HX;"@^'&ZI0QEG94%UC 4A&VJH3+Z LDQ1\Y3AL (01H)TCNYT6 M[T#H0N(1^92TZ('Y+[Q#'PO5<;&')/^2>_"K"B:+IY#'V'_.OIF/MP@L1>\& M<,/U8W1'\IJV9C?:+J0(WX(Y4XN3NFK/\@JV#'L"N[PL3Q)38U==Z;9!^VV= MJE7[W@9?L5I](_ZS@'^TKTC_!_Q'[-UC4M1I&T[C6\# ][$&/Q1+:8>]LTI/ M!'XFZ8Y+BN>0/O$ A14*G#QL3%,8A%03K< M@\B*N">>N%WPN\#J376#0@^31^PMG&V W8*ME_J]/8*S@[-H,IQ,)AL)14#" M/(A0;KTC*4X184Q3_ W945#6R9(')' ^XFCQ8(-TO'!2^-D>C A(A2KC)88C M9,AIQPO\=NH!%@)6\W1=A3S[F'.,AC6XA=H02D5 M#NB/=6UE,VK "+.H&.Y'HS:%?G@4'KQ"EM+QL'OM+$J$(9DU5>A5$L$-&[\Z M2BYUC1%Z[H\?PB74\_9#X_I&S"'=+% [>JX.7!KU/52/U]Y-8)Y?^#<[.0BF;!#**3T=GI@)GPUB7<.%WY-QV8:9TN M_64N.$9NVH#?,ZU=>T,&NE=?UW\#4$L#!!0 ( &6!_5#">M[EN , +L) M 9 >&PO=V]R:W-H965T6= M6I'D:7J:M(S+:+GP8S=ZN5"]%5SBC0;3MRW33VL4:G<99=%^X)9O&^L&DN6B M8UN\0_M[=Z/)2D:4BKK_@#XX[<] '%\E&J7MG_%)= M1JDCA )+ZQ 8-0]XA4(X(*+Q9<",QBV=XV%_C_ZSCYUBV3"#5TI\YI5M+J-Y M!!76K!?V5NT^XA#/S.&52AC_#[NPMD@C*'MC53LX$X.6R]"RQT&' X?Y>P[Y MX)![WF$CS_(G9MERH=4.M%M-:*[C0_7>1(Y+EY0[JVF6DY]=?O:TL3I9/:"F M+,!=PS2:16()W"U)R@%H'8#R=X!.X9.2MC%P+2NL7OHG1&IDEN^9K?.C@+_V M<@+Y/(8\S=,C>,48:>'QBG?PKIF67&X-W* .4<*?JXVQF@[&7T?PIR/^U.-/ M_[N2WP0$XS@;QDT8WR&%4C)1]H+1-# #M1)TVPQ\SR781O6&RK2)V5G1^=6S/#2R+S%#J=A_;\W+>S? YW5I7W MH#I760Q8!5VORX:J \SB>9K%:9KZS4[C@N1RUGZ3>E3$0<3@6+U6C0H--W%( M[2&OJM>NL0W2;\REW\KL$PD=:JY('WR=SY@*J>G0ET+Q% \ MN(#P*4 R:?G)WFD"MTBWE)?N;'O1H)?<.M4M$TZ-_&QDGTW_1V)/8%55W(G MA!/[(%"X4FW'Y!.EHU3:>3*J]JW7;-!)*&/>HQ V?3O!G;)TJ#D3+V*'Y_/N M=:';0HN=5O\JB30[GD')F^5_N3@@]JBWOIG@R%!>VG#MW4<'5\FJ_!!?EX>GC6?F-YRJA$":W)- M)V>S"'1X*@3#JLY_GC?*TL?>=QMZ7:%V"VB^5I30P7 ;C.^UY=]02P,$% M @ 98']4&H7@?Y2!@ :0\ !D !X;"]W;W)K&ULI5?;;N,V$/V5@9NV":#$EGR)DHKC M?GUG2$EQLDYVBWVQ*6HX<^;,33Q=&?N/*Q$]/%9*N[->Z?WRN-]W>8F5< =F MB9K>S(VMA*='N^B[I451A$.5ZF>#P:1?":E[YZ=A[Z,]/S6U5U+C1PNNKBIA MUY>HS.JLE_;:C5NY*#UO],]/EV*!=^C_6'ZT]-3OM!2R0NVDT6!Q?M:[2(\O M1RP?!#Y)7+F--; G,V/^X8?WQ5EOP(!08>Y9@Z"_![Q"I5@1P?C]:8]*' N:N5OS>I7;/P9L[[<*!=^815E1R2< MU\Z;JCE,""JIX[]X;'C8.# =O'(@:PYD 7"R_.3ZU9@65ITL:+X&HX M3>"DYJ#<>4MO)9WSY[?HO*US7UNI%W!5"KM =]KWI)H%^GFCYC*JR5Y1,X$/ M1OO2P3M=8/'\?)\@=;BR%M=E]J;"WVI] -DT@6R0#=[0-^S\' 9]PV_R4^@" M;E$)CP5<<%Y(+]'!7Q=MUPH^$,VB:PEX$N$*U,MA5[_[.#2"%N F<.UM%03QCH0RZ4U#T2" MH +;5+E40H/4'CF2!'-E7$W*HY7&)2!C03P"],:3 M\N<(\H;KN345"SD,C<5HQRS-\(71G722C$;C9#"@'1E'>A M%,04(G>XW%AV2^IHO;2(^Q67%1#/TA00HT&E@5UI!)\Z1NCH3S],LVQP&1_.^^[@1U3._+; M[1W#?8C1165J[>'=J-QGW*! H"6FJZ@0G2 MJ''.B;T#:9H,IX>\&-!BPDR&OO%,/M0$#).CHW'S>T/&+0CG3"X#Z5$D30:3 M(8S2H##D"R]"BGP%21-XXOB!XJ5S3*!$H2ACI*;TCCLAZVM/M9.' ,W$:H! M2F)C(9VF@-52F372SJHTL$(.K0Q86ZN$E61+\8 Q6;7Q;&3F_ZJN@QBRE728--7>*DX:\CDYGW#-C*Y=PVS\]""5 MG<-)J)H9QC,=).K MBF5Z'CK7>P6,A*U66SXF&,@GZNHMN3#YUI8\O^IPMY( MR39KGHI:(7W8@))B)I7T:S S)1>Q_F/Z=(T^2E(*T_6[ A;?U.5%_/I:M[PU//"D M2@]/W(LIT'P ;53&EM%WD>>VYK*C@M'N[:EW*10W2;CC#^@OITO7?>\WJ+EL M6TM78IMOKP+_,2P73V&)VW%:M49%&+772&UY1M+#E)."OH!V@B=I=O*5U=89 MWXZD.'%XJ#23Y$HX2D6QCK6R.THFX]$>[&83^CG:"QM3^O_=Z/V<1;?/W];V M[C!)1^.]+YZIP=-%2'.'*H5>4&F0^Q#7#B8#&,,A'&8O.'A>%#LP)L09_4\S M9F.4\D \3 ;#"6S[,.]O7'\J))A\R:,VQ-\$\2;4[7;WR(MX?7H2CY?0#^0E MC4ZJECD='1PIF?%T-0M+FK@TM5B WL^-\>T#&^ANU^?_ M 5!+ P04 " !E@?U0!\REIUP" P!0 &0 'AL+W=OC@N5+:3J/2N?HBCFU> M8B5LCVK4O+,D4PG'IEG%MC8HBB"J5)PFR6E<":FCV22LW9G9A!JGI,8[ [:I M*F&V"U2TF4;]:+]P+U>E\POQ;%*+%3Z@^UK?&;;BCE+("K65I,'@+ MH?'*:32.H,"E:)2[I\U'W.4S\KR6,= M53LQ1U!)W8[B>73/.3D&I0-[D$Z/H$T29,CO$&7XR#P!G^;(_R89]89KHB?1_## M#C\,^.'_7.$_(CYKN&G4%M+S]A9.P)4(EU350F_?O1FG_;/W%A8D3 &TA"MI MN,K)6"[(7 F#!0C(A2VAD&M9H Y>;Y->,AI!C=R4)3OU +XPM7.1%FJQ%9E" MX'Z9-RLNO^X_@",02K7*DE2!?!I#^6#B($0P?)"Y(HO>R!K+:5I[ .L/6UCO M3]<>'U1QA685>M5"3HUV;4%WJ]US,&^[X)=[^Y;<"K.2VH+")4N3WMDH M/V M9VLXJD-/9.2XP\*TY"<-C7?@_261VQO^@.Z1G+T 4$L#!!0 ( &6!_5#J MQ UQ^0T )&PO=V]R:W-H965T72HD]V3EK^\W,^0^ M="O%%Z1 <.G?7!F.,]OAOMJX_RGL#(FJL]UU837LU6,ZZ_/SD*Q,K4.IVYM M&CQ9.%_KB$N_/ MK;W3)B^KJ[/+\_/E9K6TS>_.*[WWP;UZY-E:V,1^\"FU= M:[]]:RJW>3V[F.4;MW:YBG3C[,VKM5Z:.Q,_KC]X7)UU5$I;FR98URAO%J]G M-Q=?OWU.[_,+_[)F$P:_%>UD[MPGNGA?OIZ=DT"F,D4D"AI_[LT[4U5$"&+\ MG&C..I:TM@WKGJ1UO&U>O9BYDJS4*W5;QUF[^9M)]KHE>X M*O#_:B/O7E_-5-&&Z.JT&!+4MI&_^G/2PV#!B_,]"R[3@DN66QBQE-_HJ-^\ M\FZC/+T-:O2#M\JK(9QMR"AWT>.IQ;KXYDZ,H=Q"W=EE8Q>VT$U4-T7AVB;: M9JD^N,H6U@3U-/\Z>G46P9H(G!6)S5MA<[F'S7/UG6OB*JAOF]*4X_5G$+F3 M^S++_?;R(,&_M\VINGQQK"[/+\\/T'O6Z>$9TWNVA][4AO]],P_1PV_^5Z:)X5CIIE3OFWL38DTWIE3[NQ F Y@M M7,=_0JC;!CMKZ_1F4!N$!?TMC(_L Q'[AT^49NV"C4RL-/.H@BE:;R.I9V/C M2CEOE[;1%0C'_ #KXLH;HVJQN?.J,H$8>:.*2H< %J9D?B2VZ<5F1O1:B! ! M/\&Z=I#I%UP4+L13]>[W$'&)!!:-AYRZ&0M+9+RA=$:^,-X5-*BV1ON\HZD- MM=YC(U!PI_E3]EZ9$]2>DP 'Z;S#P^8^^<="6Z_@/JTY%KYM R85>\P2&A:3 M5BX$ Q=LX/SDG_HSWRZ\*>$[^:DWA?-(4*2;L *GE:M*XT-2(GMJW))P#BKV M\,@:I7!%-0KJL@VNC7I*U(Y.U>T^*7@+>+EJ$ZML291:KZE84:Q4#J[!&R)K MIBC@IQ)@4)<-G+3('2%&;=L:/O/ J-K;0&Y&L51@ P@6$#GNE%GHJF@KUGK+ M+Q+ML#8%19FR)223>"/6M8DK5YZJ'R8\K+*U)2IK[6,#K:WL&KN#N=G;((CD M6+P!@PYX45PGPFIN"MT&,^G!O:,3-0Y ]J/K/V:-##G3]@94U(K#!D06<)6F M,,K=LR..5G6\DBE(;:"S@!\WA84OKU-Q$ T4VOLMO<3^)U+8D:#$=6X, 9BR M+2AJG/K%>'>7)&/=ZZ>)GF*$?A+F#H4_6=;H"A M^ 4$E(W.2Q9X**&-0W)A*@V06T,"%A9$$%]]D-&]TL"H "-&;5:& T$/(XG\ M4>(C;M?"$_2L[Q3",N-]I"NQVX \WM8C@;9C8Y/XXY)P/#*SI@BC(,NB<:28 M@LHF,X D M1BK? IB8""#8HJA[3N%057+-$G(T9E7LYH.D @*F-F32^>U.O;]9@)'FOY0M M:Z*95)+D'#RKP%=3$%(F&"5AXID]7X+L5U[.66>^S1)22N1ZM>-:OVDW !PC MCLB!XLU8-0H9 H\2'E!A;71H?2HD[3R@<) !D%2L*^$K??)[8)O.&(L697-H M)\D9!:1?&HY;6M^]/E;,*(%,EIC=C0GP*2@KVHD:-?N>73_7.&+;!',T(X6( MYS*%!RYU9-.L;*W%,O XOT(2SUAOU;SVU%,06^O8[)Y3B#]X22%H+4,@(T MI"KS.5VD5'&LL X_4"CEA:QQ;)91-D!)< V+28]#NR8,P]=4 2 ")V/B): P M)_0G.4!%B21O<@U8JW$UBC3^EC8!!]IASKNCD,P*375M*FI50#3D)QRWC*T% M+O1=@N3(3L$#99VJFV:8[5,PH['\)8$ZM0$W&JQSC)]Q#!DM9],M97()HC:A7^FN[&@,J>8 )*I>TAY3D7XQP& MV\XE$=M^.EUPCAUO.#LGX:DU_*K=> [URRD$#!!![8*YQW!"?FF$\FLBPP^!DVY0A MZX]1T#WZ&MSA!TD"FE:D9%0<:UZ4@I$)#WCMLH C7=L"^B])3U4G# M-B8+N#:&"(^BO$E]6=_!FAW^W%#U"4 \;8W.5AC^BA:ZFIQ7WN1A]N$&;F\CDI>]K:= M]N!V1UDI,4,/B\Z,W!+VUDWY5*"@]' R^T@6R$[3-EG;&3(D3PL#1(F:)VK& M,E@"P7]/8N)V+A$DR:Y)AYVEQA5J78#N4I;8=9T'0'$7&=Y!1VS09(0T6BBQ M&VIJ-<^2$K'P.,!X($$][Q+4\X.YY9^H$!\\O (*-7MGK(^E,9R0WY%':XJZ MCVO:CGIZ<_?Q2%V>7_SYY.+R& I"(:[L8IL!Z& M1=5[P=0_4$J>*:S-2R5A M&_9V KH4]=U\+?E1*)Q@O1^ J OUU=7Y\8A@ZJ$@=-GU^^R1Q"K[W3Q2K1AVOD M**!Q'"BF(1-G)9Z-\-A(D"@WPZG-8OS:9S&)=1;747=.@2?O2[BBQM;AI;J< M$"_AP3J!S0XC\1 "B(.3.*2K;$Y()'NJNVEF-9RF;*3UI:QBE]+[V=+2"38B8&3.N_6(1)V78D6Z?'+VL@\4O6 M+)*U1MYDN1XSRK)USH1)-IHHGT1WPH&41@R:IGM)< MIFF>SA)OF7:JA0@W>$=VF%71VC(0?,6B#('SDK--)C80H98=%C; M$]P0C$UG!M5VU##V)4-9DP@+;,P)NT=CDMO!CP9WK; >86,4!NJ=N+Y M+%TW0).4/Q1B4!5=, \6S T2.'-3S!.. VY (#-^Q.\4CC$Y[8!Y:@#DY/A ZC=Q1$;!]) VR0JE-N MGF&:AW(/9!W,+='NID,:FF7]2C%B3WU0RV@W>R2N72GGI%.B=ZTYXKCFXG1O M3E+(Z/*G-A5 KK-1,QR'7[TH[.@$KG0GII)I>&D%JB,M3 M&TW'TM *1*$Q&67,W)=P2_DDC O 9(1Q##GI@W:9T"BEXH+>,.40Z:U1/@$@J1-^ M^M>;FP]'G)I^JZXT1X,DH?8G0^D#>0 KI(?5&M2YD<3.Z*O,;(&15(4%>38&"Y6R*?77")1"LKXK'" M]]"D\'^_R"?,1YX'^;CZ;&)V>#CP5KXY?\22011X3(=X/= MW>ZKRQOYV+!_73[9A#*6]&E+9198>G[ZU?5,>?D,4BZB6_.GAW,7HZOYY\K M*3V]@.<+YV*^( ;=MZAO_@M02P,$% @ 98']4%@S+Z-4! Y0D !D M !X;"]W;W)K&ULE5;;Y!\!T MI"H+96?!TKEJTN_;=(FEL#U=H:*=7)M2.)J:1=]6!D7FG(%%P8$(QK=-S*!-R8[=\7/TCYX[<4F$Q0M=_"4SMYP%)P%DF(NZ M<#=Z]1MN^'B J2ZL_X75QC8*(*VMT^7&F1"44C7_XFE3A__B$&\<8H^[2>11 M7@HGYE.C5V#8FJ+QP%/UW@1.*OXHM\[0KB0_-_\HI(%[4=0(5RAL;9 J[BR\ MOQ-)@?9PVG>4A6W[Z2;B>1,Q?B/B&*ZTH2_[9D^.HS7'D/,6J0J"I7!%RD264@G*<>FQ!D(!QT8W)UP@VEMC%0+.!=6VEV%WYN3Y3NQ ME4AQ%I ^+9I'#.9W2X1<%Z0]CNSXHVX$*+\3(,?;4@F52E& V*(N.J@-?JLE MHW8:$H2R0R)G$H];$J8ED3 )B@@Z!_J"V'Y!>"\5Y=6UI3SV< )_UMI1M&LC M4TI&F[=RH60N4Z$<_$$(#7Q5.F%"'OYG5=7#@.Q^,([HSG MNP:J1]'=CL+Q:=S./8A?$I$^$!?+96B*][Q_.@C'@ZB=WNI'-'1DJ-=9C\/1 MX'@;=8$J7;^VB<-H=-1.KVHE4UG1]WMI1@F')_ AU4J7,H4E9@ON!;,2)@-: M]HRE$74/79T,H,J<)\"G?[ZMGX]?\>_8U:_8WV MZF\KKG"W G**\&%.[J,;31I@U S^EV:W(_#RZ^CD=PK+OU1==8DI$*X1G+L M<:'+2JCU.U)42F*TTIM3N$_W$NXI$!]A(8%.>[ BT:VH^QPJR/1*<8SO:/1& MC)>88IF0J(8#%N3@E')9NL.X$+G1):F83@O:+[R^R,/00!%ZKUN$LQ))JL*^ M U'3]:3Y6J6]C"XKLP[]Z<%FB2CH6$'RYK>!Y=.B@^+%D= #KE.M,CJ.=:V8 M=T5G A6)FII>$JDN_3'4EB2OF?#;=31"<:LRFX.('0[B"1-3T'ADP.WTK!&86QO5U_V.UWU[K3:V+&KY7H/95%6F7^YDJ9YO1G34=?Q2/*ZLZYC>7J^S1_D@ M[:_K]QJ_IKV415')VA2J!BV7-Z,9O;I+W'P_X;="/IN=-CA/YDI]=!]O%S>C MP!DD2YE;)R'#OR=Y+\O2"4(S_FIECGJ5;N%NNY/^O?<=?9EG1MZK\O=B850;8U75+D8+JJ)N_K-/;1QV M%B3!F06L7<"\W8TB;^5WF; :1PM<9V_O M,[,BX'[AS5^;XBDK96T-@:Q>P-OZ21I;N0ZX_)#-2VG&UU.+6MW::=YJN< ML#,:(GBG:KLR\*9>R,7^^BE:VYO,.I/OV*# _VSJ5\ 2 BQ@P8 \WH> >WE\ M( 3>W\,HP!^SN;$:@?/G@!K1JQ%>C3BG1E5K57NY:@E?&/=3X1Y4XTA\9=99 M+F]&R%(C]9,,KP%V0_2[ =S*7U5QJX-3UT+1Q[0(8#TF$L/Z(*:>H M,<";1GD8$,88SB,IY]#ORJ'5J#0B :- 8TH$IS S1MK)/,L_HMU&YAM=V$)Z M>9Q2B"(2)0'<*[U6.K,2Y@H] ,$($PE$(8F8@ ^8T,Q&O\"\*$L#7)" )I R MDE(!#^I):J1WW2ZE@B11"A%AJ8!WF[K(BW56=H,DX@D(_$6=4MMB6>1.*P9T M(=?*%!:^_29AE+W&29PE<+_1&OW:VPFRV 3/LLD#HNES3!L4?9II'_9(8YVZ]L K_L:(.TZY1)#5+SY, M\6L#V9Y=QMFU&ZC,YXM]NAV2<58I1-K?N+L_:&5,^_M]5FCX+2LWL@/9U5DH M7(!(2>*)ZI!ST>_B1<>C$P0*HA"!0N&2)^..4(=,PMU%]H7(B4YB2ZX3K(H1 M#PGK)[8\.\$PP?M)E^&XY=P.TJZ.&8-D0T8B)D4(EW3<<^B8.^@'YA]&0LK1 M,R[&/9_.\B@@"44H(V,OV;BCU1&?> @\1N48K)9>)X@5HFY*PVT0&JY=0!1P MDC"W-1&)18S_ESQ%4?A- X+)<(@N44^7:) N#7!^K3%ZIO0^;K0_EUH>E\^%IZ\-GN("SN"\IOX":![&$ M]]UB+"JOX"=IG!.H!.'5UDG;%AKX ZZV>*Y^4!8)L,/H';G_I/<0[I[W(0L] MG"+NX$0)3:C[3L<-^^,@\L,Q8ON05WA"1LP3J@/L#G"[H;,G- (Y]3-8%/A_ M=Z*DGD1[[.&$XDGINADF"609C<;^;&(-G8Y3!$NY3PU'5O4C%Q CM<*X=PU# M@06(CP2+_'A$DH3U1!N@5]S3*QX^C?!.M=B4OAJ8.5!G=2X]$.^U7&!IX"$R M5PKZ.&_KW&',6:8^:QR-?.WYY0LN$]SZWQ%_ &\LTGS=<7)H*XO1X(?=;G.14[V%E:= MA8O.PG^I=/FVM*\IO,A, YTP^"\V\+2<\+;%)Z)MB4G8MII<>"*3-14(UH^4 MI(DC-@WI?I1[Q/0BF7N#1XY9Y<=/,HTWQ8M?8/(7-E MK:I\&ULA51M3]LP$/XKIV@? M0,K(6].6JJU$86A,0D*PC0_3/KC));%P[,QV"/S[G9,V*Q)T7^*[\SW/O>3. MRT[I)U,A6GBIA30KK[*V602!R2JLF3E3#4JZ*92NF255EX%I-+*\!]4BB,-P M&M2,2V^][&UW>KU4K159&W-]SSLK+.$*R7#2OQ >V/ MYDZ3%HPL.:]1&JXD:"Q6WD6TV$RG+*3;[R0I<0"LRL M8V!T/.,E"N&(*(T_.TYO#.F A_*>_;JOG6K9,H.72CSRW%8K;^Y!C@5KA;U7 MW5?:M6!=M[$YH2^U!Y-R7'I?LJ#U73+"6?7-_(9I56:HX&3[VPKT)PN M TO,[C[(=BR;@27^@&4*MTK:RL 7F6/^%A]01F-:\3ZM37R4\%LKSR">^Q"' M<7B$+QG+3'J^Y#]EOL(5-YE0IM4(ORZVQFJ:B]]'(DS&"),^PN2#" ^T+GDK M$%0!!TU]KY='B=P6+DS#,EQYM&8&]3-Z;WY3IF@EC,7HH8D!K!>RT.#N:V1EWVV^D*;*4=1GBTC@_ Q3#W_]R'U^.6Z9)+ P(+@H9G ML]0#/6SDH%C5]%NP599VJAL10.P>Z+Y2R>\4%&)_%]5]02P,$% @ M98']4,+0H2*& @ -P4 !D !X;"]W;W)K&UL M?93-;MLP#(!?A3!V6 &C_DV:!$F I%VQ#2U6M-V&8=A!L>E8J"QYDMRT;S]* M3KP,6'.Q28G\2$HBYSNEGTR-:.&E$=(L@MK:=A9%IJBQ8>9\\,AI#.\5@^T*]][53+AAF\5.([ M+VV]""8!E%BQ3MA[M?N(^WI&CEFY+CTEW*@]6TR\G/+F^0 M2C+P_I%M!)JS>60)ZK:B8@]8]X#T#< 8;I6TM8$/LL3R7_^(DADR2@\9K=.3 MP,^=/(=T$D(:I_$)7C94F'E>=KK"GZN-L9H>P:\3S'Q@YIZ9O\DT!C&$+RUJ M9KG<@H\2P@UG&RZX?0WAEME.D_2_(SU)=WTX,RTK;$'-(PFR9.'$$29F3V6"/-B\H2. _S<4H\BCJ=IO"_JXB.'G.#>NM;UD#A M4NS?]; Z3(55WPQ_S?N1%!=@F)7+/U!+ P04 " !E@?U0BHO3\W4" S!0 &0 M 'AL+W=OT0^/>[=MK03="])+[V/>>>8_MZT2O]:&I$ M"\^-D&89U-:V\S T>8T-,R>J14DKI=(-LQ3J*C2M1E9X4"/".(I.PX9Q&60+ M/W>KLX7JK. 2;S68KFF8?EFC4/TRF :[B3M>U=9-A-FB917>H_W6WFJ*PI&E MX U*PY4$C>4R6$WGZ]3E^X3O''NS-P;G9*/4HPNNBF40.4$H,+>.@='O"2]0 M"$=$,GYO.8.QI /NCW?LG[UW\K)A!B^4^,$+6R^#LP *+%DG[)WJO^+6S\SQ MY4H8_X5^R)TE >2=L:K9@DE!P^7P9\_;?=@#G$7O .(M(/:ZAT)>Y26S+%MH MU8-VV<3F!MZJ1Y,X+MVAW%M-JYQP-ONB5-%S(>#H@6T$FN-%:(G6+8;YEF(] M4,3O4)S"C9*V-O!)%EC\C0])SJ@IWFE:QP<)KSMY O'9!.(HC@[P):/'Q/,E M__/(9 %7TC)9GB>-I>JYXDB:G\-8.AWL7 MN4%=^78UD*M.VN%.C[/CB[ :&N$U?7A.;IBNN#0@L"1H=/)Q%H >6G0(K&I] M6VR4I2;SPYI>-=0N@=9+I>PN< 7&=S+[ U!+ P04 " !E@?U00IKN4=X# M )"0 &0 'AL+W=O+J$1Z)%5G^_4[2K;K-+$_#!A@ M2\>7NWON(1]2TZTVGVV#Z."Q:Y6=!8USF\LPM%6#G; 7>H.*1E;:=,)1TZQ# MNS$HZL&I:T,>19.P$U(%\^G0=VOF4]V[5BJ\-6#[KA/F[RML]786Q,&^XTZN M&^<[POET(]9XC^Z7S:VA5GB(4LL.E95:@<'5+%C$EU>9GS],^%7BUA[9X"M9 M:OW9-S[4LR#R@+#%ROD(@EY?\!K;U@B;]V=WOZ$NWH&@)5N[?"$[3@W*P.H>NMTMW,F!)U4XUL\ M[G@X6-<&(^-7H+QL^F:-X82AV\"9Q4?E'NG:%127YN M_D$YH=9RV2(LK$5GX=6#H)9]/0T=Q?>SPFH7ZVJ,Q4_$FL!'K5QCX:VJL7[J M'Q*N SB^!W?%SP;\N5<7P L&/.+1F7C)H=ADB)>ZWHKVQ:$JN%YY3?2 M5JVVO4'X8[&TSM"6^?-,VO20-AW2IB?2WI.2ZI[RZ-7SK"_1?#:W5MB MQ+Z^A/=&6PN+JNJ[OA7>Y1,=#$2,,W+9#SI2Z(8C [Z'I)#HV?OBNX#'_ M$:YUMVG1^SNL&J5;O99H@<>LC'.(8Q8E&<01*PH.U\,N1T,:IY24PC9R8_UH MEA2L8/^)M;)WA+-P^I9PJ[96#._3WY-TBQ+: T?&J0O@)6CP#$K2B^(."-- MYR^N97AT/=%^70^7L#^6".)X4QUZ#_?\8KS>ODX?/Q(^"K.6RD*+*W*-+G): M*C->O&/#ZWV#9_@\/4S_Q=02P,$% @ M98']4,>C56V) @ <04 !D !X;"]W;W)K&UL M?53!;MLP#/T5PMAA!8(Z<=*E"1(#3;MB&U L:+OU,.P@V[0M5)8\2:[;OQ\E M.VXV)+G8HD2^]TB)7+5*/YL2T<)K):19!Z6U]3(,35IBQ?PHKQF40K_S>5L& DO$*I>%*@L9\'5Q-EIN9\_<./SFV9F\-+I-$ MJ6=G?,W6P=@)0H&I=0B,?B]XC4(X()+QI\<,!DH7N+_>H=_ZW"F7A!F\5N*) M9[9"%\Q5RL#'1Y8(-&>KT!*%F!C9H42,P [D2U(ATQ]Y7-8;)S)PM8<,$DZEW43G< M8(I5@AJF$U?ZR0(^P&PTGTR!"OC"C7\F-!)V5*Z.W)@&,\@:S67A==2HN&; MW4"J&FF[CAAVAWERU;71NWLWC.Z8+C@)$IA3Z/A\?A& [AJ\,ZRJ?5,ERE*+ M^F5),Q&UJLH60?*;!5&7)]/T5+]3V8A ,=AL?Q&IM:6,X/=^P M%9]S^VDST[@:ME)R47)IA)*@^?)B1V_7% M(!U SI>L*NP'M7W%&W]BDI>IPKAOV#:T_@"RREA5-LQH02ED_:[4%3=0HC?XX5QTW&BV*+@Y/1]:5$*DPZP1>%4+#!\0F, [)>W:P'.9\_R0?XC&M1:& M.PNOPEZ!;RKY#,+4@] /_1YYH];CD9,W^CZ/F&ORP62(XS^[K$B:JV(G!71 U;\45EC42>I0WAMF<[A&@-'\@VXZ!^+ M?:]0*N SLV$9OQA@A1JN;_E@^G'-47*Y8?(>UBP'B^NE*K :2;?JV+%L[,A: M.TZ$1'I5&:0PIV> N>!M+N"&9[Q<< VC@':""5Q76G.9W<-[137'"O@TOSE< M[,-OZ #71JPDLSP'9MH,=#)S!K\K;#<2OF 1!Z/42R:^Y_L^_ Q!$'N)'T&0 M!-XD#KRXWAU-O"1-X7FE%<0U;9QXP6@,0>I6H>^%T03>\3N1H> 9-PJ/(F^, M9T@1!Y#6;)$7AB-XPS!X&$[XDTM(_$:B%Z=CB,=QLPHG ;RJY(II@2(QI4): M"#P_K0E&7A2-(!W7S*$W24*XTH@QLX:9JA!\Z$)$)Y&?X/?8\<3)!+$@MK7Z M&\P:TQ#A:1(C?13',!KCCX^+,$[@FDF6D_J&,D"GT:,0'?=&/E&1\CD&F&TP MIGLR?^+#.(T@C6)(PA1Z !ZW (][ 3['ZR.O"@YJ"0^4'()K;C'SM"*R%T(R MF0D$RDP909CQX 43&CZSHCI:#KTF'"^'U[*^R>I+!=/EH.^*@E3=DBHRAG;Z MBV.+>,5/74O_KY5+8[@]@/M;P1:B$/;^8/>*%>@U[WAZ;&ON;NC'ZN]I5#]0 M@L_1;56*##"I*WXD&#/--TSDP.]P7#"\[J<*@ZCQ%J.F8%$V!L1@@48)?J7Q M&/MLIBO>8<*S.,5O++H>""8M!)/^'KM[JC[#FJI5X,[ M)5 3;E9:&5,/')1MC!:PHL!AH2V#)A84I*)!!=TVV[7(UK#ENA6(T:'9!23F M%:J944_SHL?HN7/NIN&#LP^I;%!>&7G](P M"']K?Y]$]![W:A+2W!BWSU+'S$/*KF$'Y$] ^KA%^K@7Z<<;K =W N.NV^ 6[6!>ZR;?EF=Q,\VEC?JJS6C_O[*V.^ MY_^XUIS_6G;&4+SS[@XW#H'I5B/_*&@/SWZ@=U(2T N<(K'%G78QBP[LFB.^ MLK3SRM#L@&^)W1$.4RN71>(_1<0D-..<1*,)+4Y2+TA]MYT&@ME M\=GB_J[QG<@U$>#Y4BF[6Y""]N4Y_0]02P,$% @ 98']4 2P^-Z*! M>0P !D !X;"]W;W)K&ULO5=9;]M&$/XK R% M;6!M\3X,2X!\-$W1H(;M-@]%'U;DB%R$Y+*[2Q_]]9TE*48*'#E(V[R(L\?, M?+/SS>[H_%&JC[I$-/!45XU>S$ICVK/Y7&S]VHY;GL3"4:O%&@N[KFZOD"*_FXF+FS[<2M*$IC M)^;+\Y87>(?FM_9&T6@^6A[UA/(.LTT;6HS(AJ$4S?/G3 M> X["HGS!05O5/!ZW(.C'N45-WQYKN0C*+N;K%FA#[77)G"BL4FY,XI6!>F9 MY2T^8-,AW&(FBT;T)W5TS]<5ZN/SN2$/=M\\&ZU=#-:\+UB+X+UL3*GANLDQ MW]>?$[()GK>%=^$=-/ASUYR"ES#P',\Y8,^?PO5[>_XKX6Z4K.&2L"JB!1VY M*>&R/VQ4\,=JK?OY/P\X#":'0>\P^!J'UT\&5<.KR9>&]3.\15DHWI8B@Q75 ME7[IV \ZL85[IEN>X6)&E:E1/>!L>5^25UE1U8FF &-3.I:>^!LUY$+SHE!8 M<(,YE=< 4S1#G5L:$+3B$S1.T'K^Y]"UM&K(?#:&\8.&3'9TF,\@-Y#+6F2" MO!T)NTUVFC>Y/CZ#^U(AGM0[#($[\;0_00G'*>'#R'?LR$T/KJT(ALBXAC<0 M)2R-(A+BF 5.0H+KI4L24+[@L1_TF$H6&E!VSSF!1%X$?,< M'Z* 1@F$'AGVK?LH94X:6RDE*;"2[T?,)R,DQ;3/=^$ [<*)=N&_I=V-DGF7 M&0V4';@CSH@,7^3>04__'_>VT^:Y_;Y4NC/DA*LN$QZ_P(8A8["LN@,I]FIKUX-[>2G[4-3_IZK0M E5>&&5)W3F!X#-32ZP\#(MF\N MU]+02?1B2?\-4-D-M+Z1TFP'UL'T;V/Y#U!+ P04 " !E@?U0CM@O;Y\% M N#@ &0 'AL+W=O)"YO MWWFQ$?)1K1 U/%5EK2Y'*ZV;\_%8Y2NLF')%@S7=+(2LF*:M7(Y5(Y$5%JDJ MQX'G)>.*\7IT=6'/[N35A6AUR6N\DZ#:JF)R>XVEV%R._-'NX)XO5]HJ'YD[2;CQ0*7B%M>*B!HF+R]'4/[].#;P%^,)QH_;68#29"_%H-A^* MRY%G!,(297[/6)#;UB/(6Z5%U2.3!!6ONS][ZNWP+0A! MCQ!8N3M&5LIW3+.K"RDV( TT43,+JZK%)N%X;9PRTY)N.>'IJYD6^>/9->E5 MP(VHR->*67/=/IDUPLEG-B]1G5Z,-;$S2..\)WW=D0[>()W 1U'KE8+;NL#B M)?Z8Q!QD#7:R7@='"?[6UBX$F0.!%WA'Z(6#[J&E%[ZE^XI)/)M;W>_8ED)- MPU1*5B_1KO^8SI66%#=_'F$6#$X(X$Q%I MH15_.JN,RZ!!R44!:!P'9'8&2P,2!?XIQ)X;9 >XO] !?-])0I\X1YX; MQ9"XDXPV@1&(R/=LK3T/8<=.:)%#$G("L9N9C1]%3C*)>J\J6*-Z%I J$*VU ML*<':9Z0[+[G)%EH"$^,]HF;Q48J+W)2,H^!^$!.*PINO4?4C,]V?#JVSK[7 M>\X*"6B3B:P#:^B7:LV@:E*B0X#G%/Z\M]*+5K41W4.W?"DF$G)5Y6S)S M/-\":YIR:ZU? T'PREXL.K\1,9 F2'H57DOC'LFV>,BV^&AN##$Y7:.DY@)3 M1:G1*_!@0HJ4N^TD,W*^9US"%U:VJ%YGJ-I%YJ$,/2Z%S5!#>3U0WL] !%=J+#9*QGBW8*IOJ+Q)_LU.5]:JR9U7/X?-*(G99W1=BF.W2 M?'?P,A3M+O3Z)#UV=\_5X]F"Z'?N]-T$?H# 3>EKUMWJ=A'$_O9W \Y:4$CQTA2IT!![]1G@-,H*3LB*6V12G5+N4)JZ0?\/ MCP14,@14W55.*+:D]0[GF.<)^(]EOH@Y,R4LYV^7>/>9B M65-UIG[3>?I&**T.!=91:C'S_5Z/ M?:^GS,U9UQQ,3S@,W7HH>;DLF,CR%$VWQZ'A^>2GQ3%W:YH@<=2@- ]PLA]&YC& Q/Q*M_ %!+ P04 " !E M@?U0W?%G&C\# "O!P &0 'AL+W=O1J&)LFQ8&:D2I2TDRE=,$NJ M7H>FU,A2[U2(,!Z/7X<%XS)8S/S:E5[,5&4%EWBEP51%P?3].0JUF0=1T"Y< M\W5NW4*XF)5LC4NTM^65)BWL4%)>H#1<2="8S8.SZ/1\XNR]P1>.&].3P66R M4NK.*9?I/!@[0B@PL0Z!T>L77J 0#HAH_&PP@RZD<^S++?I[GSOELF(&+Y3X MRE.;SX/C %+,6"7LM=I\P":?J<-+E##^"9O&=AQ 4AFKBL:9&!1KP M/PYQXQ![WG4@S_(MLVPQTVH#VED3FA-\JMZ;R''I#F5I->UR\K.+2YFH N&& M;=' X(:M!)KA++0$[0S"I($YKV'BO\"\AD]*VMS .YEBNNL?$J6.5]SR.H_W M GZLY CBXP.(Q_%X#]YAE^>AQSO\9Y[PEIM$*%-IA&]G*V,U=<;W/2$F78B) M#S'Y2XAK3)1,N.#,]YO*X%9RBRDL+;-4W?>8HF;"JY55^AXNE"Z5IDW/Z]H) M5M%J43)Y_Y**F67HN[;;/P"EH9?+E5:_N/M GCJR_73/Z)MZ3-CF^(ATUI V M'>FD(VV)@&Y(.\^&^(MGQW%T],8 KWDZ,]S2%#$U?>RR:@$.8,,,T"]3@J:$ M.86;7".^*GH]!4N^W5V@%L&N16KM<.RTZ&3OWN4?M&"P0HD9MT-@%FY'R]'_ MY3V(HR$\ASC:>?C*]9)']/XT:&B3R(4;*J5P:I>7D M-R6+P9'S&4R'G>P:(=&8$F#L%CWH(!YVLNMXC0WS-K9&P=Q!T^'1E$GN0)6N M#6@*1"=]A/C$OR9_ +7%ZP%YUF@K+2&COI)K ]'$I>5[(G[CDCS:46_:/%GZ M@Z8=C7L+T?&.R5/29^HWW9!R.4^:]U-G.ZV+[$Q<[(CLGOK:P]X0+5"O_55A MZ-@K:>MYVJUVM]%9/80?S.NK[!/3:TZ5%)B1ZWAT- U U]=#K5A5^I&\4I8& MO!=SNE%1.P/:SY2RK>("='?TXC=02P,$% @ 98']4-P9K#VT @ !08 M !D !X;"]W;W)K&UL?53;;MLP#/T5P0.&%4CK M:UHG2P(D78=M0(&@Z=:'80^*3<="92F5Y+C]^U&RXZ9;DQ>+I,C#0]'DI)'J M49< ACQ77.BI5QJS'?N^SDJHJ+Z06Q!X4TA548.JVOAZJX#F+JCB?A0$EWY% MF?!F$V=;JME$UH8S 4M%=%U55+TL@,MFZH7>WG#'-J6Q!G\VV=(-K,#\W"X5 M:GZ/DK,*A&92$ 7%U)N'XT5B_9W#+P:-/I")K60MY:-5ON=3+["$@$-F+ +% M8P?7P+D%0AI/':;7I[2!A_(>_:NK'6M94PW7DC^PW)13+_5(#@6MN;F3S3?H MZAE:O$QR[;ZD:7WCD4>R6AM9=<'(H&*B/>ES]PX' 6EP)"#J B+'NTWD6'ZA MALXF2C9$66]$LX(KU44C.29L4U9&X2W#.#-[<+0A/Y_O0&$7R*JD"C3Y=$_7 M'/39Q#>8Q?KZ68>X:!&C(XB7Y%8*4VIR(W+(W\;[R*ZG&.TI+J*3@#]J<4&B M=$"B( I.X,5]R;'#BX_@W5 EF-AHL@35EDM^S]?:*/Q#_IS 3WK\Q.$G1_"O M*<]J3MU/)PMRY(7?>]B3N'8\QWI+,YAZ.'\:U Z\U_[1#EVW_6L R\HZ)I 3 MJDDA.8X@MI8)8DI9:RIR?38F]Z4".*\.FD96[/FM 7L ?0]:+0ZL%HY.WBVH M9AF2^8=D)BN$WW/%7:$-DL&FD/ J&D1IC&&ULG59M;]LV$/XK!ZT88D")7BR_);8!V^VP#N@:.-[V8=@' M6CI;1"52(ZDZV:_?D9)5NW6\8E^D._+>GSN=I@>I/NDEEC(P\R+O./!FN]S8P^"^;1B>WQ"\UOUJ(@+.BL9+U%H+@4HW,V\ M172_'%AY)_ [QX,^H<%FLI7RDV7>9S,OM %A@:FQ%AB]/N,*B\(:HC#^;FUZ MG4NK>$H?K?_DVSJ<*(S#5Q3B5B%V<3>.7)1OF6'SJ9('4%::K%G" MI>JT*3@N+"A/1M$M)STS7Z,VJDY-K;C8PRIG:H\:;C9L6Z#N30-#/JQDD+;V MEHV]^!5[0_@@AB[16BMB.<,H(FUPA MWI8GX -!AQUT\%'@K:%Y!H.*&IFYH=RBP!TW&MY %/G]\<@2(1%#6)$I"\&9 M?"HU"??]R630/C^2^["04RZ]D63'Q\N,/XS@:/>BO\&\M^W#( M>9H#UZ26%G76@&J5XO!AD::JIA.D/A :M3N.'D >/0@M"YZYTB]9P42*\&0_ M1]_V5=#I DYX[&-/[ M5REN4RMZ>?*.OF_Z?I0,>M_PM'AHK0@J/FF(/0TPI0\-K6$8P@!&,(J_JL'Y MW+V! 44Z4[[;;RHEE& M7\2;E?Z!LN1"0X$[4@WO1M3UJEF3#6-DY5;35AI:=([,Z<\"E16@^YV4YLA8 M!]V_ROQ?4$L#!!0 ( &6!_5"@1\)*-@4 '<; 9 >&PO=V]R:W-H M965T9D$NJS:F.1R'7*,W8K@!?QX%6%K4(SXR=E&U8Z!G]9_6L'[\Y/U3,7DSF7NJV)5(_^93O3CO#7I@ MRF8T3_6=V/S)R@E%UE\B4E5\@DTY-NR!)%=:+$MC$\&29]MO^JL4HF8 28L! M*@W0H0:X-"B4"[:1%=.ZIIJ.1U)L@+2CC3=[4&A36)O9\,PNXT1+\RLW=GK\ MB7()?M(T9^"&495+9M9(*_ !7"C%S '-IN KI_<\Y9HS]31J"J@&-6.[(N". M);F4/)N#2ZJX B?73%.>JO?&W8_)-3AY]QZ\ SP#WQ&.DJ_5"E'RK\X19_ M6Y4^>CSARA,N/)$63S6#V;P\4UKFQ5+LDVCK*2X\V8VZ'DS#_7%$51R1-XXK(5="4LW I6C<2#L>X\ICW'$I^Y6G_I$UZC5PV%$B&#KPA$<6J72XJU(8#]%^E6"-@= ; M2C&M#Y3!\)6)Y#FED-O6"'94"M4>\^C( M2I4.ZTK!& ]:A'(,0'X&_)4+;2AU*WEBLC&32UT4B3"X*1('!4QF#SY/3>+ M$Q-LF<2=?&5KE@+X'OQ;2]I.=U*^4Y>^^11SB$"DJ_H.#IPQ\SE:YTQD=06<'&-3OJK-C M"_(G#"_2>=#0N>6Q@AR/D)]'?R0B$TN>@ 6;SIF]ES=43H&YJJ4I^/;'T202 MB?<'@AV.<.@5M5;Q>'-[QR+L3S%>,[/2Y<[,HA: 8$:)H\:UEO7"MY_#![@SUE1AU>&F!',]R59MC1#/MI]O)G M"6XRS5]@/O;?1_ M>3U#'!F)GXS/+P1Q4"1^*+ZBE]!$HJ>>(0Z*Q _%MUF'PZLDXI!)<%?]:ZV< MH_=RFLT<3Y5$'!*)'XEOM \.J[V(PR7IVB(BCFCDV$TBLJ=+U%Y[$<=#XN?A MVXA_>$5''"Y)U_Y3Y$ 6';O_%#7[3^T57>0H&#U#P9J<6[5/P59MW+F,B!P! M(W^?ZL",-W*@BORYW6OSS*C9M@Y_:VSO&0)A]'MC.ZB]%;&OI$R%/#%%R+[06R^)PP:B)VPXPO\^$*;W+$_ONI7K7-OX/ M4$L#!!0 ( &6!_5#D7U<4N00 $P5 9 >&PO=V]R:W-H965T&2KM=(+[=%P0U;TB:K/FPN+Y6,!+/C.[DP3724.:^>XG MF@$R 08\E.87[3)9IX6"1"H>9@<4? R M!:^IATZFT&GJP<\4_*8*W4RA:W*?)LMD>DH4&0T%WR&AI<&:OC#E,MJ08!;K MSGI2 IXRT%.C&\($>B9A0M$])3(1%-I&270VI8JP4'Y ']'GIRDZ^^'#L*W MH59K!YGQ<6K[=BU&OPYB2^0 MVS]'KN,Z-?%,&JA[CE;'@SHXW^9]]FW>;^SJ4QJ .JY3+^72RSO',_:\DYUS MCJZEI- T)%Z@.T;F+&2*4;GOJ 4""GFD02($BU=&ZA<>BWQA3"23Z,L=.$"W MBD;R=TMXG3R\C@FOX(N%X.KF<%=QLK$J_8//QGN'K58@S\'JX$/.F= M[-2FIF95P2/8^SGVOA4[4$ (H-F2!:8[3><"/3"%0@YO*JRP>$NE,B.H+@W] M2DA]OYJ#JM3;'%0E/O:JAF8V0Z4,#/(,#*P9^%%HG >8@22!![FH'X_CP2DD MDY,2TZH$[CI5K#9#):S8*;863@.T&M^6"E;?V)F)4R7-Q&Q]WS%]CV2_K!,L2P6YAVW^.4Q<4N 'M6["; K=E DL4? M2?KRUE;:JS8B+E%N.8)BT&/[I'\$QA!)H!(#1G,JK-"+68+[[[(V M!=5C.]=_SPWH3>:K6WIY?.]HL=R"I-T3)/W,T#.$ XF2YYK#+IK4R2VXT<7O ML4YNP;"N^QWKA*Z%@ U<^I5\CA[UM=['?$J49G]8RK#>\5T="V;!E-\ZISJ/ MIPT$RX +QG;MC'W/8A8E$?H+_R(*[*Z/Y6!3R9-8I5_O^6I^]'=M#KS>K(_QY037K$_QY2P]V"O,I^>, M]S!,6"QAV"S!E7/1@VA%>G27WBB^,4=-5208YEB=\ TR_67&18Z678NW*C0"<6E!.77\PB-T<$^;,)M9V)6837BA* M&%P))(L\Q^+7.5"^FSJ>\V"X)NM,&8,[FVSP&FY ?=E<";UR:Y:4Y, DX0P) M6$V=,^_T8FS\K<-7 CNY]XR,DEO.[\SB,ITZ Y,04$B48<#ZMH4Y4&J(=!H_ M*TZG#FF ^\\/[!=6N]9RBR7,.?U&4I5-G9ECA@JIKOGL'E9[(\"6<2GM% MN])W&#DH*:3B>076&>2$E7=\7]5A#^ ]!? K@-\$A$\ @@H0'!HAK #AH1&B M"A ="H@K0&QK7Q;+5GJ!%9Y-!-\A8;PUFWFP[;)H76#"S,:Z44*_)1JG9G,L MLV-DKFCYLR!;3($I>8PP2]$EVX)4N3&@UPM0F%!YA-Z@+S<+]/K5$7J%"$.? M,UY([2TGKM+Y&%8WJ6*?E['])V('Z"-G*I-HR5)(._"+?GS<@W=U'>IB^ _% M./=["=\7[ 3YHV/D#_Q!1S[S ^#!P,"]<9>UWP1[4, MZHT56+Z@9V/97=3<6^C[!^V*+A7D\D=/H+ .%-I X1.!KB&A6$JR(@FV/RN^ M0HF E"A$N91(6\C?C=RU2TO^V/*;'_%V-HHF[G:_\6V7P6./1=OCS;#!LNQC M>:0]JK5'O=K?"J-0'RB4_(84K?5!8@5+76I3AW\(+\FCO7S&L=]0WO8)QF%# M>]O''_EQ0WS;*8Q&W?+C6G[\'/FFW? <_7$KI6%#?=SJF-_,_2Q)1Z)81 MID#H%NDF)J"#W5+H:M2XW8;QWN8I&W&(TT7;R1\-PT8SW+WS- >QMI./1 DO MF"K_@+6U'J[.[$S1L)][IW.OP[[P3I?E[/27OISD/F*Q-A\QA94.-3@QLX\H MIZ-RH?C&GN:W7.G9P#YF>J $81ST^Q7GZF%A M0CZNP/4$L#!!0 ( &6! M_5"][$J-*@4 $0: 9 >&PO=V]R:W-H965T M)G)5_8+UUC88@&RIM"BVS@9!P:VGNIF@^!_06__5SR59JS M4JLA2,L)^%RNF-*%O0!.P;4H%J*L3L04'.KWX8;IE.?JHXGPX_X&?#CY"$X M+\'WN5@J8ZW.1]J,PZ(995O,5QO,J /SEV5Y!E \!"A @]!@WN6+277G!D.+E=FQ.E#SDY-F9TJ0PWXYZMQ M I\U*]2_/8_$]2-Q]4C2,VL^WC9>M/*R!;P:(QQ&B1GE:I>?MAD,0Y+$M=DK M4*0&17I!W9KL>#:Y*1]-]^&ETG)9Y8 /Z"92N(,@#!!"#9QM*Q@F&/MAAC7, M<"]W59IF]H"YY/7A#%L(4$P#!!M VV8P@@1#/U):(Z7]2)=2&F"&R[J>3($5 M0FK^'S/XA=*V%$\@@<,X(M6@3LR$#RD,;(G9\J@NVD0?FJ:K%JSJFOFSB9.; M#IZ6&0,F20%[LK=L4,DF7(-<*,6J0C]IA_(11=L,$!S$I$%4VPR1@$2!GZBH M)BKJ)>I/49YF!Y)%*!PF)-Z09:9H2#%^.[*BRG\+G2:^U#%KM)C6JI!^569FHI7P& M5SS/54_CA('3N^!8W1KNB"S\92IY.Y3=J<0D@'%CPCUF"4H@\4\X=&(*42]5 M7T4Y.]5,%KMD>7&B=LM)*(V:+<=CAZ I^BZD3H/A'A$6Q3Q/65G6VH)0J25G6TS&E+4->=.D6&_)!^>G1Y!3 B!S;[I MLR.41%U(G23"?DV\-,3JTZLT>S1LNXSJ2QBG%3 ^6I8Z*8#]6O"NLC3QK&\Q M;"X;/6:4TKAC-82V21FAV*+MS&C2GO6U",.K8)2*G<:A_ MGW@O5DPR/BOWZB9R$H;"HTVW$P/T1F* /$T>T99H^SW>ZJ" 5AVW(=]2>E:+CY:R\6NY>)?YY78=BBO7K.2F+9>QK;-*$J: M?6BT\XK??E^Y3>6,EPKD;&K<@K/(3);&PO=V]R:W-H965T)]7BH2 MJ4FN=ZU:J2KMW8O3O7!@ U;]0.TE:4_WX6]M*$.RWB7$R&\ @W=F9SS[F_T; M3^Z*\ENUU-J@'UF:5V>#I3&KUZ-1-5OJ+*Y>%2N=VU]NBC*+C3TL%Z-J5>IX MW@S*TA&)(C'*XB0?G$^:[SZ5YY-B;=(DUY]*5*VS+"Y_7NBTN#L;X,&O+SXG MBZ6IOQB=3U;Q0D^U^;KZ5-JCT<[*/,ET7B5%CDI]5OBS2OY*Y69X-U #-]4V\3LWGXNX/O0V(U_9F15HUK^AN>VXT M0+-U98IL.]C.($ORS7O\8YN(O0$$>P:0[0#2S'OCJ)GE56SB\TE9W*&R/MM: MJS\TH3:C[>22O+XJ4U/:7Q,[SIQ?QM7R):I?T6_?U\EMG.K<5"]1G,_1N_Q6 M5R:KOT!#--U<-U3W<9+&UZD>VK(83NV8>^<^O]+&GE"]0,]0DJ,ORV)= M67O59&3LC&N_H]EV=A>;V1'/[-ZO\U>(J)>(1"3Z.KU"SY^]N&]E9./=!4UV M09/&+/68O=+7!DWU;%TF)M$VVOL!575 ?W^P@] [H[/JGX!+NG-)&Y?,X_)- M5I0F^5?/T:RH3%LF-N-%,[Y>2[?G(J**D,GHML4OV_EE0;^_ET55H75N5VS: MN%_8E=IZ)39V^+Y_R62[=[[SSH_SGMICW>J>.^Z'=*S:W8N=>Q%T_S9.2F1+ M>JW;/ HW8!QAB=M]RIU/&;[0"YW/?J*+PBGX>^;4SISJJU3'.Y?C#ED;.UDC M).*L/6DX @Q%CTX;^@]]*/+%\(LNLWVP!&+#>[S#?244 V\PZ;CZMP8>Y)5R M3UX!.SC,G<>O_ZVA_1E0S_+'0!]\)'[\ , N@(;8 P , ,)A H6+&;O4"54S M< >'P?/%QENM;;.\2-(T6+> %2Q[JUN #U9=LJ?<[-%(C#TM"P. <)A ]]-G M<3!=VO5S# \(@(=$?>65 (0([LB#K8%[JY$R%;6GENSM?,(D>CP/B$LD3CWK MD0"/R)$\\@.!N$#RA0\\(F$>A0N:N BB+/)!B "$2!A"3CT?V]X(D(>(WLH9 MV$0.['D.E[-T,HO'C%+?!05"D3"ACJCG-EHQ3X,EP"H29M4Q!>WNG8:>W28% M?M'PQBEXQ8(1L,$NRS*55'&1A_M-TS&@ M$^NBZ9@+I#$6V-/O&"")A9'D2>-3^AX'(O'>M!T'-/&NVHZ[VHZ-U7CLN=<* M?.*GTG;Q-Y'&#%NXH\[NZF6*2P[S\$(!8_E<;C+KV8\G0>#NSB)Y-XO$7B>=:5 M (R)+A)/N!+/KF4?301P3(0Y-BUN=:F317Y0X0D@E.A-X0G DNBB\$3+?DER M7]$*H)$(T^A!^I[2Z 1 2/0F\,3>GVM=!9YP!1YF4OER"R@2IQ)XPD62\JU' MX)$XF;X3+I \?4X CD07=2=< F&FA <'$B DPQ!RZ_G8_B8!/;(W=2>!3;*K MNI,MZHYPG[B3 "AY*G$G75AA[+E?(@%5\F3:3KJ[*$\]2X"7["+L9(NP(\)W MMT("O6287A_7>3)+5G%ZL+W)O;_^>]-S$F@DN^@YZ0(("]\=)@D,DF$&/ M4[J; O2HWF2< @:IKC).N3(."^:A@0(.J5.I..7RR+,8%;!(G4S#*1=&0P^+ M%+!(=1%QV\$B7,VCOU4@I-T_K;0Y,L6J>D+LN MC"FRYN-2QW-=UB?8WV^*POPZJ!^ZVSTS>?X_4$L#!!0 ( &6!_5!&+3T+ M) 8 ,LD 9 >&PO=V]R:W-H965T M7EH2_N?X9W-R_KD-MI0]\B4A OS,TIQ?M)9"K,[;;3Y;DBSF9W1%=Q4G>&@[*?3=L.*!KD28YN6& K[,L9K]&)*7; MBQ9L/>WXEBR6HMC1'@Y6\8+<$G&WNF%RJUUGF2<9R7E"<\#(PT7K$IY/HS*@ M5'Q/R);O?0;%5.XI?2PVKN87K: @(BF9B2)%+/]MR)BD:9%)3N8\Y&=/T[V0NEA>M7@O,R4.\3L4WNOV#5!.*BGPSFO+R+]A6 MVJ %9FLN:%8%2X(LR7?_XY_50NP%R#SV %0%H.2WB8P3PW',ER>@ M^ NF/];))DY)+O@)B/,YN,HWA(NLV %.P>^,<@[NW$_#IM\^#MI"S M*9C:LXI\M"-'!\@QN*:Y6'(PS>=D;HF?N.,[COBV7,5Z*='34HZ0,^&?Z_P, MH-X)0 $*+#QCCW <%.&P;YO.ZT:?OGAT;3%P75>XS(P%NR6S-$I$0 M65!Z2?"B)/[Y*H/ E2 9_]&+(MP4Q3A"4B)K%6QC', $\5[LFA/(0W\A)R0(LR%W#)00H\3 M0\H@$/RH)H=4LT;N9OV")E=EU,X)(+*<.W@(=6KE!PB_4XNK$NMGAQ;T)ID. MKCP%^7N*;\- IE6@;B^T0#<+=6QE*>AH2_&FMYF%Y:R]6:>S*U=!;E?Q:7S( MM(BH#VUUT2S4,96C(+>C'-'VD&D/T';X-R]&VE'.XXWO<5+^A;V)IE.KBP'NRW'I_]A MTSFBH!M8VK2/4@=5)H/=)G-$!\2F65AONS7K=%9E*MAM*I>23)R.XMFCY%1] MR]66E!/@[H?U0M74L;NIOZ07FM< 43>T57:S4*=6MH'=UPJOZ(3F18'M4K=1 MIM\C5]83^EN/;Q\)34=!EIM7DV:=#JU\)SS:=[S9+7YB6>Y&F4ZN3"=LN"7E MT0-#TSODJEG*V4.H8RJ3"=TF(QVTIU^L\F24KR=IT M!ABJ[A]&'_:H2K7QT/^.D^_#*O,* **^Y13*0ZA3*X,(C[[YY MO>39B.7=M ME.G@RF1"?Y/Q[ARF>1BX+HF.JIPE/-I9O(E-SS"(71+]$::RE,AM*3X]+K(\ M_[ 6KX=0QU0F$KE-Y(@>%YD/)RS%VJ3:<;;W7L[("%N4;\5P,*/K7.R>I]=[ MZS=O+LOW39[M'\'S,;3LG\#SZ>Z]&I5^]YK/=[- MF=V&H*ORU9![*@3-RH]+$L\)*P3R^P=*Q=-&,4#]_M+P?U!+ P04 " !E M@?U09BY7A$L# #)"@ &0 'AL+W=O04WTO]R#P3BI5 M3@TNU<[7>P4T<:"<^V$0#/V<,N'-IV[O2TR8S?\^71/=[ !\VG_I'#EUUD2EH/03 JB()UYB^[#>F+C7< _#([Z MY)I8)5LIO]C%8S+S DL(.,3&9J#X MB;+1F,U>./<=&OUBPO;)QBB\RQ!GYBNJLSMBO\GZ:\$.E(,P^HY0D9!'<0!M MZSG\O6N MY(M@:\@&XD(QPP";9G' ?YQN.72P+3H:>^FNI57^?9:<$SP6CE0E_[7PZ==\ M^HY/_PJ?)>6N$-6V1R.((=^"(KWN=;_+A$.7T!Z]ASGZ>FC@,*@Y#%HY/(H8 MCW4-FAA)3(9DSO3'I7Z.^D$W/0^#%D)EA_TR(BHC!B<1W6& G_.P=5NB,^W# M6ONP53LZ_D?:AQ>\.^/!!>_59=AK VY+M&Y+=&; J#9@U&K 9WP0H"/3M$E> M-+JUW+@N-_X?_8Y/-[0=#LOQ1?W1I2G1KZ+.F$YJII-6IL\0 .^_FR:2(_N6C6IM:XC'HM[S*BT^#"NBU1Z8!_\F[.0>W<4*1)+ MA MRB.TWJWGKH4;-U[M+[L/JV[#?H1S6CE6_4Q?#GD?J=HQH0F'%$L%]R/\MU0Y M.)4+(_=N,MA*@W.&N\QPU@1E _!^*J5Y6=@"]?0Z_P%02P,$% @ 98'] M4%!T#! ;!0 @1L !D !X;"]W;W)K&ULO9E= M;^(X%(;_BH7F8D8J3?P5PH@B]6-&V]56JH:9W8O57J1@2M0D9F(#TW^_3DCC M(.-3-)'@ I*0X]!FJ]$GJA+N1:% M^68IRSS1YK1\#M2Z%,FB#LJS@(1A%.1)6@RFD_K:8SF=R(W.TD(\EDAM\CPI M7V]$)G=7 SQXN_ M?5[IZD(PG:R39S$3^L?ZL31G0=O*(LU%H5)9H%(LKP;7 M^/,-CZJ ^HZ_4[%3G6-4#>5)RI?JY'YQ-0BK'HE,S'751&(^MN)69%G5DNG' MSZ;10:M9!7:/WUK_6@_>#.8I4>)69O^D"[VZ&L0#M!#+9)/I;W+WAV@&Q*OV MYC)3]3O:-?>& S3?*"WS)MCT($^+_6?RJYF(3@#!G@#2!)"ZWWNANI=WB4ZF MDU+N4%G=;5JK#NJAUM&F)6EV@ZAU]^;E)MTDF"JTN M4%(LT'VQ%4KGU04T1%^62U%/(7I(]*9,]2LRBD(AN437VR3-DJ=,#,TZ&H3^@#2@OT?24WR@BH2:#-$*J.!/.FNS?[[A)/=__<%)>(Q!>( MA"3\,;M#'S]\.FPE,!/0S@)I9X'4S5)/LW?B2:.9F%?#2H49_N& 5#6@?_\R M0>A>BUS]!TC25I+6DLPCB=&K2$HD2Y0)=70F]O%1'5^9:SO%C(8QFP3;([JL MU66P[I#4RD((5&1#[E<<.8J,,(]@W K&H.#7)"V1\>M&'%.,'<4(AWCD MT1RWFF-0\U:6:UD:UZ,;Z?CWH$4<6@"%Y_(>[E /]W1?T\#A;T:89UUB2QI, M?M]_36Q7-,;CV.,_;%F#8=B #FQB#_U 0NH!#;:DP3!J0!-BES6 "[%E#89A M _H0N[0)/8*6-!A&#>Q#[,*&T"B*?+(6-QCFS7>3@ZE-^8INTBP#G6B!@N.S M.=$2!<-(.<&)8V<**0NQQXG$@H>$O^_$)O9@>=(XPL2C:LE#8/* 5B0N='@< M1C[13GH#0P=T(G&AXUF=Q *'P, !74A1(8D/#:.R;6$L; M M/F6BFAAS?)_$4L.M:!4E(+%A*=RX[$8H7 6'G?CL1-9GA(L0?B"AU"3@1\7I18\% 8/Z$;J@L#=!I18ME)UM82=G,:Q3F^E3G'&3&)^@Q0SK49IA1VHS).2^ M I0E#.M1G&$N87RCM'AA/6HSS,6+3]"RA?6IS3 7+M"\6L P&# /FR*=I^LD M>]=\W#*$GZTZPRU">-_J#'>3%AQ1S_\0MZCA/8HS_.1]$K>8X3T*,_QDPG!+ M&-ZC)L-/)@SOU'Y[U&/XR?48;NG"^]1CFN (7CA!YX%*]7#J(2F?TT*9Y;@T M8>'ER/2XW#_OV9]HN:Z?L3Q)K65>'ZY$LA!E=8/Y?BFE?CNI'MNT3]VF_P-0 M2P,$% @ 98']4!1:*LET @ 1@8 !D !X;"]W;W)K&ULC551;YLP$/XK%NI#*ZT!3"!I19#:1-4Z:5+4K.O#M <'+L&J ML9EMDO;?SP:*:$*RO02?_7UWWYU]EW@OY*O* 31Z*QA7,R?7NKQU797F4! U M$B5P<[(1LB#:F'+KJE("R6I2P5SL>9%;$,J=)*[WEC*)1:49Y;"42%5%0>3[ M/3"QGSF^\['Q1+>YMAMN$I=D"RO0S^52&LOMO&2T *ZHX$C"9N;<^;?SR.)K MP$\*>]5;(YO)6HA7:SQF,\>S@H!!JJT'8CX[F -CUI&1\:?UZ70A+;&__O#^ M4.=NF M9IML*+>WN-+2G%+#T\DCWP'70E)0Z!JMS"/)*@9(;%#_Y'(!FE"FK@SF>;5 MEQ=7Z )1CG[DHE*$9RIVM5%C?;II&_F^B8Q/1/Y6\1'"TR\(>]@;H,_/TQ>0 MCE#@6[I_\YGNFAITARTA6>U/5!.S0//T%:( MX8<6'D7%4]\[+-P :C*>G! 7=>*BL^)Z73*D+#JZK!#?A,&!LF-4Y.'(/U#F M]KK<3MCO1&XI5XC!QO"\T<2D)INIU1A:E'7CKX4V8Z1>YF;0@[0 <[X10G\8 M=I9T?QW)7U!+ P04 " !E@?U0INN0XF(" #T!0 &0 'AL+W=OTGLZWO.\;%];[)6^M&4 )8\54*:<5!: MN[R@U.0E5,R)JJW@ M$FXU,755,?U\"4*MQT$OV 3N^**T+D#39,D6< _V87FK<48[EH)7( U7DFB8 MCX-)[R+KNWR?\)W#VFR-B7,R4^K13:Z+<1"Z#8& W#H&AK\53$$(1X3;^-UR M!IVD VZ/-^R?O'?T,F,&IDK\X(4MQ\$H( 7,62WLG5I_AM;/F>/+E3#^2]9- M[MEY0/+:6%6U8-Q!Q67S9T_M.6P!D&P#]%N"/FC96 M_#EDS+(TT6I-M,M&-C?PA^G1:)]+=^WW5N,J1YQ-K^4*I%6:@R$?R5>F-7,7 M08XSL(P+R@&('?GH8/SB I^B[,Q]MS%]&!PF_U/*41*,/) JC<-=^_@^>O0,>AP[> M.S_@)NZN,O9\\3^N\IEDW.1"F5H#^3F9&:NQNGX=4.AW"GVOT-^CL/>2U)CBV[50P6X*==7#,E5+6WS.KIHU[HFOF)?Q:?8TIH.]$+3],,;],JE M(0+F2!F>#K&^==-CFHE52U]U,V6QAOVPQ+8,VB7@^EPINYDX@:[1IW\ 4$L# M!!0 ( &6!_5 V8\:+/ 0 +H1 9 >&PO=V]R:W-H965T4?>4K0@3X5N0E'UDK(=;WMLV3 M%2DPOZ-K4LHG"\H*+.0M6]I\S0A.*U"1V\AQ KO 66F-A]78,QL/Z4;D64F> M&>";HL!L_TARNAM9T#H,O&3+E5 #]GBXQDOR2L3G]3.3=W;+DF8%*7E&2\#( M8F0]P/L9]!6@LO@[(SM^<@V4E#FE7]7-'^G()4!18_FW)A.2Y8I)Q M_->06JU/!3R]/K#/*O%2S!QS,J'YERP5JY$562 E"[S)Q0O=_4X:056 "!T MP&XEWKP&H!W MJ0>_ ?AO + +$#2 H,I]G:PJTS$6>#QD= >8LI9LZJ(J5X66"!9-/ M,XD3XRN"C[04*PZF94I2 S[NQP<]>%MJ;(6B@]!'U$OXYZ:\ RBZ R05P MUU%P.##)^3GOTY_S/NN'QR21<&B"G^72;2>-6_&Y_9/FGX%,-X3A('1/#<]T^:TN_T)=>:V+J5YW2Q>W&TX YIP(D\":U#^-VX_@0!=X MJ>%,-X2ACU"GP* 5&%PG,#\4[D8V,,9(:108:.&$ 8IT?1?:S70[/_#"3G5A MJR[\874E+7L$AGIA('(,"B\UG(7Z%$4N"CHU1JW&Z#J-">5&29$ATO,ZG3OP/5V[P+++@;UBOU0[3)("O)4U7Q*09CRAFU( .0.(47\_H7<'G7>F;<1W<9$1 M%_^@O^GU_LY3B(XI1->ED!%UR5PB_,- ?2-8'TSQ1OYQD/' M8^/--X;8R.TS.5=QW /"_DW@BZP%SD%6)K0P=QN_)W7-W-=-(OW]$QO,0OT5 M/36803_2.ZU]&A.EZ_&7^$]Q-H&(_A_;3^ MC'"DK[]J?)13-RNYK/1"NG+N0ADRJS\4U#>"KJN#[9P*>4RN+E<$IX0I _E\ M0:DXW"@'[>>:\?]02P,$% @ 98']4,^A/;6, @ ^08 !D !X;"]W M;W)K&ULA95;;YLP%,>_BH7VT$I;N8:$BB#UHFJ; M5C7J97N8]N"$0[!J;&:;IOWVLPUEV>(D+^#;^?_^QYCC?,/%LZP!%'IM*)-S MKU:J/?=]N:JAP?*,M\#T3,5%@Y7NBK4O6P&XM$$-]:,@2/T&$^85N1U;B"+G MG:*$P4(@V34-%F^70/EF[H7>^\ ]6=?*#/A%WN(U/(!Z:A="]_Q1I20-,$DX M0P*JN7<1GE^&@0FP*[X3V,BM-C*I+#E_-ITOY=P+C".@L%)& NO7"UP!I49) M^_@]B'HCTP1NM]_5;VSR.IDEEG#%Z0]2JGKNS3Q40H4[JN[YYC,,"4V,WHI3 M:9]H,ZP-/+3JI.+-$*P=-(3U;_PZ;,160!3N"8B&@,CZ[D'6Y356N,@%WR!A M5FLUT["IVFAMCC#S51Z4T+-$QZGB&^B4)/J$;CK5"4"WA)&F:Y =1PO\IK^ M0G=+2M;8;*-$3ZP$@>Y:$'J K=&@<'(-"A,J3]$'1!AZK'DG,2ME[BMMT\#\ MU6#ILK<4[;'TM6-G*)I]1%$0!4\/U^CDP^F_*KY.H8K(%:;:=9BYDNZ54JMD_I67(HGC2>Z_ M./C)R$\.\O4.A2Y6'S798LWB)'"S)B-KZ4MIFK>\F$&:!GJ\X5^\=4R['VZ[X U!+ M P04 " !E@?U0,*^#44<" !C!0 &0 'AL+W=O\[CCW(6Z5%LP\V M"AK*^Y'L]G4X"HC",P'1/B!RNON#G,HYT21+I>A 6F]#LQ.7JHLVXBBWE[+2 MTNQ2$Z>S]T(4'64,KN>H"67J!JZ ^2L1T9GD D\ M":YK!6]Y@<6?\;Z1-VB,#AIGT47@IY:/(+I]!5$0!<^K.5Q?W5S CH?4QPX[ M_E?JWY;"?,TE=T06WR^0XX$<.W)\ACPCC/ <@2@0)I/[VA)#)(&1R48C)R?R6''"7UX17"))HA'Y^\F9[W.1( MQNLP".Y.JT@&%* @ *\Y 9 >&PO=V]R:W-H M965T,XA=7X229T_%.4? MU9IS ;YE:5Y=C-9";-Z/Q]5\S;.X>E=L>"Y_619E%@OYL5R-JTW)XT73*$O' MR//8.(N3?'1YWGSWL;P\+[8B37+^L035-LOB\O&:I\7#Q0B.GK[XE*S6HOYB M?'F^B5?\GHM?-A]+^6F\M[)(,IY729&#DB\O1E?P?>3[=8-&\27A#]7!WZ . M9584?]0?/BPN1E[M$4_Y7-0F8OG?5S[A:5I;DG[\V1H=[?NL&Q[^_63]M@E> M!C.+*SXITO\F"[&^& 4CL.#+>)N*3\7#C[P-B-;VYD5:-?^"AU;KC /W$Y8=6OV M>F<6]9C%X*[(Q;H"-_F"+PSMI_;VS-)^+$/XKQ&5H,_;?-W 5G 'G( M,_@S<6B.O;HY#$WA_+/>;_Y9[[?VYG?Q(T"LM_/(WGK*Y[)S:.J\,Q)X/^-P M8P_WV4LJ42:S;5.)FM)7G8$I_RJKXH8OP&<^7^=%6JP>]S].FLN EV BYT0I MBU<%KO(%^,33N#92K9.-5/U'K*5$F\]GC?9S&2]D#9?UW1(!V4= F@A(3P11 M6505F,1E^9CD*_ E3K?<=(GLK+#&2HV$KY<^9C[U/#D*7P\GCZLPTH4A)CXY M%'8BHON(J#6BJ_E\FVUE.N4 7&5%*9+_-:DU1;6S1 ]\H SC0(_*51@9A#@, M^J-B^ZB8-:J?)H<^QKX>CZLPTH4X)*'7&X^_C\>WQG,PM^-Z;H,D MV\1)*6\,!)BOXW+%*U. ONYW2'VH^3WQM=GU/ 6NIFYLICJQ!_O8 VO5N$WR M1/"W_Y;W+0O312['^JPS=<'--WF[5O$S<)M4\S@%O_*X!'>QV):)> 2_7 H]Y^I [*R,793W( M=KM"6R/44@&/2R*KI.N_XC.DIU?^H (M'(*T4 >CEMZCDL@JZ?JOP KM9)T4 MV2;E];P73_4G>0[3KFG%+6@'UPG7.X4W:.>;<[W3@81@" V(#W M%@6D((?LD'M)O6M-=: ,/6RXF7=61@9E""WE#BG((CC ]=@:Z7CJ!0$RQ.2J MC Q*A )D&2Y%781.KP8B14]DIZ=CSG7&]>7<51D9E$=RKKB)[-PT%T;P%[C? MQFD\ [_=\6S&2VL&%>20'7*G6RJ1(B&RD_ [G]&0X>'2\WQ++5!L0T?8]I2C M\C KMF 5V]!K91M2;$/#L T9GLH\ZAO6/9R5D4E)B-=_X6+%-CP:' M!K2Y"B.3D'BH/RY%-CP$V;!.(>P'V!"1HS R".6 TOZ(%-;P"6(-'ZS6#H$U M;'AT,R?<41@9A/:$*Z;A(TPS%L07,0TKIN'7RC2LF(;_+TS#AG50'%B*@$(: M_AZDR1&\R>_7\8:#*)O]Z#2."G7XM:(.*]1A.^I>P(3;UA3KWE/VCAU18")V M,'WG9"(Z4>0#8[\_"BC$#I3G_E0@GO^Y34KCKN4UT3&@;>8W=$WVK3(CHJB:R2;A2*,62(%42B(Z5G7!R%D4%H'Q<%*>*? MWGT=44 CP1 )#UP3[BB,#$)[PA7>B!UO/<7O13=V5'&,>J^T'%+%/OHR]CFR MF.J$HZ%E"*GB%[7SZ^H(TG58X;C'H:BYR:+##+8OR## M%%S9$(N$3%_2,YP=F[K)(H,L[%^@8 JRC)Q>O6,*FE=8;YBIF]?H?S$ZU=X%G+DBB58[CKL.3I_[1L. M>[" Z>ET$';=57CT[7B4KD&C:X:M+>0;#AHX"+NN*=#Y=M!)UY#1-1U#*/1, MKAT7=EU3Q/+MQ)*N8:-KIK,4T% Z'81=UQ2 ?/M3GG2-&%W3G\(@"PV7KH.P MZYJ"CV^'CW2-&EW3.0)Q][V$UK7CPJYKBB6^G26?9:GE\5+PTNB@X7Q%8-KB M=A!V'3PXO&_?M'(KT+Y^;'.Q>V]G_^W^ M[<*KYIVZ9]]?P_<3:/A^"M_?[-X=5.9WKS+>Q>4JR2N0\J7LRGM7CW^Y>SMP M]T$4F^;EM%DA)%";/]=<@K&L!?+W95&(IP]U!_MW-"__!E!+ P04 " !E M@?U0(GK5,)@" Q!@ &0 'AL+W=OW'DUA8RCD2M&>6XD*#JLB3R?8Y,-%.O[VT7GFA> M:+O@QU%%)V=2;]6_FH8UW 3\H-FIO#-;)2HA7 M._F:3KV>%80,$VT1B/FL\189LT!&QN\-IM=1VL3]\1;]WGDW7E9$X:U@+S35 MQ=2[]B#%C-1,/XGF"V[\C"Q>(IARO]"TL>'$@Z166I2;9*.@I+S]DK?-.>PE M!/TC"<$F(7"Z6R*G\HYH$D=2-"!MM$&S V?591MQE-M+66II=JG)T_$+D9)P M_0[?5HSFQ)Z4@DNX+0C/40'E<##B_ XUH>P"SFS(]T+4BO!41;XVFBRRGVSX MYRU_<(1_#(^"ZT+!9YYB^G>^;[QTAH*MH7EP$O"AYE<07'^"H!?TGI=W<'YV M<0)VT)W3P,$.CL ^BC6:6M36[E(;KT2FL) BK1.].Z)9DLB:,/CY)!@#4S:- M"?MU@G[8T0\=_? (_1QSRCGEN2E!1GB"ATZZA1@["/L8U_$P[ \B?WV >-01 MCTX2&XMKJMR=FPX 3>N4VM)0JL84TEI:6;I J%!2D1Y2UG*,]I3UAY,CRL:= MLO%)9?DC#](N9P$X6$I82,29>Z:E8)$U%RW+[I;[?KAK&T#N_"VF3X2:0I& &PO=V]R:W-H965T+WMB9-=(M2*-@:9MNZYN:X JD/B^ J.&WL1%FA MVPC3I.$E/ %^:[:&K'! R44-R@JMF(%B$2RO[E9SY^\=O@LXV+,U+X^H7_RN5,N>V[A7LL?(L=J M$=P&+(>"MQ)W^O ?3Y>8*:E]5]VZ'QOB#%K+>JZ#R:[%JK[\]>^#F.&N,FRC M+)J6"HZ6O5L#&PO=V]R:W-H965T.@8F=S5F1I<&@Z 5C,[8PDN@1Z3A]^Y*2K%V*A"H7L99S M/I/G]_E)R^,=#7^R-2$P(Y':\XWWQ2%+=;$Q^R(;D@@[KS1T,=T(\NCL>P='^ MPH.[6G-Y09F,-WA%'@E_WMR'XDQ)*4O7)P%S:0!"\G8\^@Z_W2%;)D01?[ED MQW+'0$[EE=*?\N1R>3Q2Y8B(1Q9<(K!X>2=3XGF2),;Q*X&.TO>4B?GC/?TL MFKR8S"MF9$J]%W?)U\P26Y UO/?Y =Q0OJL>@_V"6QZ@@LMHQ3 M/TD6(_#=('[%'TDA<@D(-B2@) %U3="2!*UK@IXDZ%T3C"3!Z)I@)@EFUP0K M2;"Z)MA)@MTUP4D2G*X)4-TKIW9.2<7NK#;OR!5^)/?-0N,\SQ9!S2'0AEO.#)@ZCGHGS1)6X@[>&1A^*N*_+X9$9"]QW+ M%@67 >/A5K0^9^ /<+?EC.-@Z08K(!IQA\,EF-* AZ*A&7C"KQX!!S/"L>NQ MKR+^EG(P(\Q=!9B3)< ,7)#E2F9G7/#[;[9FZG\"-P!/:[IE@L\.XZNP>A6: M1OGBE_]U/E:X*)F^#8X L@\!4I%Z]? "#I+!?JUA37NP MGA]GX.!+'676@W+Z_)",2*\=T6D/UOS^AV3)HM>ASGJ@GEZ:)G?>@S+]WD2Y MZ$%Y/&^B7+939F1Q!#0H*=#Y3/IY#U:S]%<]*)])?]V#]8GT-SU0S=+?]J T M2W_7@U(KO2(,,G5)E+HDBK!Z _9T&U)P0_Q7$@H3W H7=(EP%WFYA:ZE="VB M:Y][\-_7XAZXY,1G_[20]92LMXX[;^)OB8DO]B9>YV QSHQP\(H:ZFDD_*<@36":K9'4H=5*>'E*VNK1JFRIS51T-:M MBDPU<3I"6DFGVO=LE GF-HBP=?+/@2LW=%=B\DOJ"\&$_Y6W4D5TYJH0#:U9 MYJE0&U@SK5(_I*MF6;-J%'3TBF+5*,TPG;)B->]H-0J6>3YL-_V+;; 2W_0/ MY;;=#7A;-3,_A<;02F7F"LV!E3*KU=5UK:R4634NJ-I&U09K>,@Q45FM&IYM MM718M@; ]D7@BH8$!^"%MJU5,#-6: ^M56:RT!E4JY.$!V%>!IR-$UB M"[T%#5/5BW&7M4P3.@8TJMK6,#7'M.UZT5"V)J#V->$)N[MXCS&CGH?#MEUF MYK4(#BP=RFUAV_>PO=LLX15*IQM&L#*0[P$A\F4K4M7BBS6:0/K55FMZA]_]I?*Z.Z^*/2MO \"3(+ M_:65.Z8&!2N]>EO'TIJL$&5K 6I?"Q[%C/%&^&$GK3*'1=;06F5VB]HWLOVU MLBNEL^R2QUW4!$'5J6A5C3*170RZJPFR=:.DE))[A"A_%[C!X?4CP[7!"])* /$_3=*^?Y$/JA,?_"8_ =02P,$ M% @ 98']4$FWL4S) @ <0@ !D !X;"]W;W)K&ULM59=3]LP%/TK5]$>0&)-FGZ"TDK0#L&TCXH.]C#MP4UN&PO'[FRG M!6D_?M=I"(5^@#1X2>SDGN-SS[V.$RV5OC4IHH6[3$C3\U)KYR>^;^(4,V9J M:HZ2WDR5SIBEJ9[Y9JZ1)04H$WX8!&T_8UQZ_:AX-M+]2.56<(DC#2;/,J;O MSU"H9<^K>P\/KO@LM>Z!WX_F;(9CM-?SD::97[$D/$-IN)*@<=KS3NLG@WK@ M $7$#<>E61N#2V6BU*V;7"8]+W"*4&!L'06CVP('*(1C(AU_2E*O6M,!U\5T/$IRR7-@KM;S ,J&6XXN5,,45EF5LX$&<&ZNR M$DP*,BY7=W97&K$&J#=W ,(2$+X6T"@!C2+1E;(BK2&SK!]IM03MHHG-#0IO M"C1EPZ4KX]AJ>LL)9_M#U'S!G)5P*8W5.97(&O@(8VJ8)!<(:@H[@KB$L646 MWK:A+R#"TQF7,[6VAK^PDCCG/$$/MW1Q]*@ >I- M^&Y3U##(M79!I\YVLZ>4[4I2^ST[IE,MT_GOCNELUN1YQVR&[.R8;J6L^Q8U M.8UCG>-C3?9XUM>#QT]L\":;HJ1I[]T56X(VMH6_=AZXP_@KT^2H M 8%3 @6U#E50K\ZWU<2J>7%$3)2E Z<8IO1/@-H%T/NI4O9AXDZ=ZB^C_P]0 M2P,$% @ 98']4 90=4&M @ Z < !D !X;"]W;W)K&ULK571;ILP%/T5"_6AE;9 ("2L(DAMHJV=M*UJU^UAVH,#EV#5 MX,PV2;>OW[6A*"E)MDY[ 1N?8ZW@CYH H 31Y+7JFI4VB].G==E190 M4C40*ZAP)1>RI!JG4DL?UV(Y-8U)JS"FXD4759 M4OGS$KC83)VA\_3AEBT+;3ZX2;RB2[@#?;^ZD3ASNR@9*Z%23%1$0CYU+H;G ML\C@+> +@XW:&A.3R4*(!S.YSJ:.9P0!AU2;"!1?:Y@!YR80ROC1QG2Z+0UQ M>_P4_:W-'7-94 4SP;^R3!=3)W)(!CFMN;X5FRMH\PE-O%1P99]DTV G"$YK MI479DE%!R:KF31];'[8(P]$!@M\2_+\E!"TAL(DVRFQ:G)V?DA+"*?"Y$K6B5J=C5*,D$=M-V^\MF>__ ]N_K:D#\ MZ!7Q/=_;0Y\=I\\A'9!@:.C#-[MT%XWHW/ [-WP;+WB9&Y@;N8)L:A;V(0TEL<_W?=_=Y7(> MKJ6ZUQFB@8(/F M=GFE:.8\&7F!#0AS MC(UE8/1:X13SW!)1&-]K3J^1M,#M]8;]G$-2!\#NB] M (AJ0/1:A5X-Z+U6X:@&N-3]*G=7N!DS;#Q4<@W*>A.;7;CJ.S35BPO;)S=& MT2DGG!G/4/$5LQ\+SH4VJJ0>,!H.H/U@']Y3[T'G0FJ]!YT9&L9S6AW [-Y-'.Q"VUADY.W$CL"F.9"OZ#:D"2 ML4O3 $UOQ>S\:^W[2J#O!.SX7HW[]$57VZWTI\M!+SI^ZC1K<1IT!\^HYBUJ M_<:E*H&_-38*5*F;UQIB60I3M41C;:Z$4S<)G]DGW9-IM\4^HRNDFOB_Z:O[ MYY*IU!8TQP5)!8=O*5Q5S?1J8^32#:T[:6@$NF5&UR JZT#G"RG-9F,%FHMU M_ M02P,$% @ 98']4(@Q18"! P +@T !D !X;"]W;W)K&ULM5=1;]LV$/XKA-"'%M@BD91H*; -)+;7M5C1(&FWAV$/ MC$U+1"71(ZFX^?G?M^VJ=L8*J*[%CI7FS%;*@V@QEZJN=9'3C2$7NHR @?D%YZB MTCDOV9T$JBH**I]O62[V,P]ZAXE[GF;:3OCSZ8ZF[('I[[L[:49^:V7#"U8J M+DH@V7;FW<#K%226X!!_V(+E MN;5DUO%O8]1K?5IB]_E@_3<7O GFD2JV$/E??*.SF1=[8,.VM,KUO=C_SIJ M(FMO+7+E?L&^P08>6%=*BZ(AFQ44O*S_Z<\F$1V"L3-,0 T!]0GA"P3<$/!K M/80-(7RMAZ@AN-#].G:7N"75=#Z58@^D11MK]L%EW[%-OGAI-\J#EN8M-SP] MOV=/K*P8N&=KD9;050_ M 0H&UK-X!1T'E@Z3H7#^G_?5 MQ=Y/DH';K8*=/?R"O%$SR-54C"2.M*?*VRDQ:1Y-+E:F)42=))$X(Z0ESCII,PB#NZ7*.@BA! M,.SI,@ +$9S$P[K$;8SQ:(RK2IIC>"1926LH>5M58' LXL&ENC3,;I9PE,3] M+V8 %B7$EIT3909@<1B1I*?, S"!$8O2 ,[IQ4<#?2C:88TDV"1\9*.I0X= M+:(W5NE8/R&^6"5\KA*,D[BOT@ LBB'IJW0.BV($^PJ=PTB(PKBO MT#DL0A'!/87\3O]G3I74-=X*K$55ZOI\;V?;YO[&M;2]^5MXO8 #\TM[&7#] MYM%\?9/X0F7*2P5RMC6N@JN)T5+6S7D]T&+GNL]'H4TOZQXS&PO=V]R M:W-H965TVT\*_G^VDH820(2;QTOIRSG<[=OR-=XS?BPV 1 ]Y1L7$ MVDA9G-NVB#>08W'&"J!J9\UXCJ6:\M06!0><&%*>V9[CA':.";6F8[.VY-,Q M*V5&*"PY$F6>8_YX"1G;32S7VB_F)=N.<+U]$$@_A!8"<.QDBGZF<',L\73,V0YQC5;6],!4W[!5O0C5!V4EN=HEBB>G-[ % M6@*Z@9BEE!CQ3M%^=4X$3E,.*9:0H+M'M.0L*6,I$*8)6@'?DA@$.IZ#Q"03 M)XIZNYJCXZ,3=(0(1=\WK!0**L:V5,%JEW9:]$IB/KAF5&X$6-(&D M@S_OYX<]?%L5J:F4MZ_4I==K\&M)SY W^H0\QW,ZXIF]@>X[FNY&7>G\G_?% MN[T_*X;?'!O?V//_<6S6G.5H\2"!4YRAF3FOP-&O;PJ/KB3DXG>/MZ#Q%AAO M0;^WKD-4$4-#U!_%[=0-(R<:CNWMH38=L"AR@A9L_A+F^Z'O>\]ABP[8T!OX M;@-[EN6@R7+0F^5*JIN">=)]R7K*.P@\0;=AX&[Y7M(HX.%1C,!HY;=$Z M8$.EQZ@EVDN8[[IAV!:M ^8'@;Y,7:*-FBQ'O5E>%$5&8JR_FZ>K F*R)O%3 M25&PO=V]R M:W-H965T8,--8CTKH4Z)Q:KJ" M'; 2T H2OF'$WO8G-$M3N\04W;&J>\W!50P*$RJOMCJ4APJ,@\ MZ"3\6K(;% P_HL +O!8]T07PT#-P_[8MG?=%7[PO^K(;'D.BX7X;_%4MPZ:[ M0LL7_J>[,L$+%.E[$OHET1VNX-W4]X;#X=C='=_715[+4VC+JW^NQ?->ZXW.?6Y/7.)SE\$I MS:*3IDK:/7J<]'UO[!B1R&92=5)C;2;5S#[0)_:Y/XK\%GOLCQ;5(/I'7XW% M>RPVA$E$(=.AO)O/6JZH1DVU47QKG\8U5[H9[3+7TQF$<=#G&>?JL#$!FGD_ M_0M02P,$% @ 98']4&#'. ) P ! D !D !X;"]W;W)K&ULI59?;]HZ%/\J1]$>-FEM0@*458!4H-,VK5)%[^X>KO9@ MD@.QYMC,=J#[]CMVTHQ"B'JW%V([Y_?G'([MC/=*?SM) M<-.[OAVY>!_P+\>].1B#RV2EU'M(LF-C?PU?=HJA>7KD\>K*:WG'!VNL0=RA)AB:G:2.[_ MO MXH';,2H&@UG CJ)>83!&H*V&N,>,6/BMCX/4"+>/"O"'$EX<%O'[U!EX! ME_!/KDK#9&;&H26/3BE,:S^SRD]\QD\"=TK:W,"MS#!KP2^Z\<,.?$BU:0H4 M/Q5H%G<2?BKE)<2CMQ!'<=3B9_X">!(Y>.]=6SI_IW[[Q^K/BI$TW9)XON0, MWTV:JE):X]H%^8ZM!+[M:)#_EDH(H V]9SK[UJ'?;_3[7K]_1G_&A!=BQG7F M@DP4*]20],[7MR(<>D)W:.ZF@X0JN6MQ,6A<##I=?)0I'^.0A95R. @9'A,<]M)\RSY89/\L#/YKYI; MO%#K=5MJB^&)IXO>:-BN>-4H7G4J4O_0<2\!'].:N#HQT6MW M,&H;5:;*_O& MWU1'Z[/>];S7LKZ@*[ZZD7_35]\'=TQON#0@<$U2T>4555-7=VXUL6KK+Y65 MLG1%^6%.GRFH70"]7RMEGR9.H/GPF?X"4$L#!!0 ( &6!_5"A^3?VL0( M +,& 9 >&PO=V]R:W-H965TFZ/4Q[<. 2K!H[LTW2_O<[&\*RA43:"_CK?A_G MXQAOE7XU!:*%MU)(,PD*:]TLE2Z9I:E>A6:MD>4^J!1A M'$6#L&1FWP#H5P0"3C5X,9M)0N<'^\0__DO9.7!3-XI\1WGMMB$HP"R'') M*F'G:OL9&S]]AYENY1GJVF74YR=SG&#LD*88Z96DOM, M7<(]+E%KS&&W?>N2Q^T[G-^C95R8"S@#+N%KH2K#9&[&H24U#C/,&N99S1P? M81[ HY*V,/!1YIC_'1^2B]9*O+,RBT\"?JGD%<2C#Q!'NN--> P_HOL'-M)>F23P.-QTZ^JV._DD=#S*C;]R@ :M< ME=>V=6.;;KPI3M*6XUH9;CM+H";I[VGK#Z^CM%O;H-4V.*EMOU8I28VH+OK! M ?UEW$^ODV[^8^K1O1G^-U M.W]D>L6E 8%+"HVNAF1?URVRGEBU]FUIH2S5D1\6]%=![0[0_E(INYLX@O8_ M-?T-4$L#!!0 ( &6!_5"6'(ID7P8 #D< 9 >&PO=V]R:W-H965T M+8ZSHL6) L[<.P M!\:B;:&2Z%&TDPS]\3ND%%TLBG%;%,B+=?&YG\/O'(IGCT)^R=:<*_24Q&EV MWELKM3D=#++%FBQ9EY M=R,OSL16Q5'*;R3*MDG"Y/.4Q^+QO(=[+R]NH]5:Z1>#B[,-6_$[KNXW-Q*> M!J64,$IXFD4B19(OSWN7^'1. \U@*#Y%_#&KW2/MRH,07_3#Q_"\YVF+>,P7 M2HM@<-GQ*Q['6A+8\6\AM%?JU(SU^Q?IOQKGP9D'EO$K$7^.0K4^[XU[*.1+ MMHW5K7C\C1<.&0,7(L[,+WK,:4>3'EIL,R62@ADL2*(TO[*G(A U!I]T,)"" M@>PQ4-S!0 L&>J@&OV#P]S6,.AB"@L&X/LA]-X&;,<4NSJ1X1%)3@S1]8Z)O MN"%>4:H+Y4Y)^#<"/G5QI\3BR\D40AVB*Y% _67,9'#^I.\Y.IIQQ:(X.SX; M*-"GN0:+0O8TETTZ9%-T+5*USM \#7EHX9^Y^8<._@'X63I+7IR=$J? W[=I M'Y'Q>T0\XMW?S=#1N^.5%-O-.S1 V9I)GN6_%ENO#A!-/2T:3PK1E52;[S_/ MU/F/F&J3V@@V+2N+&C6TJ[*TH).'=F5=2LG2%0>T4>CA&=7I;MBS>7WYR&2( M_OX#1**/BB?9/PZ#_-(@WQCD=QCTV8 &#T_8CDL 0;0".]1)R!1'2Q9)M&/Q MEF?O492B4,0QDQG:<)G'!7U%SG1.<]TCHUNC\^X"3_J8G@UV]2*R4(W[PW&3 M:F:E"DB3:FZGFI14C2 %99 "9Y#^$HK%$ $E(V@&BSPF-G]S,<.:=CJAP<3S MO#V7VX38)]#']@EG;<* CK'?(IQ;5 ]'DX;JAN_#TO?A ;[72@&))2D$L> MJ2V@AS0@(R3:IKL\M"\5I5]F/(W@DK"4Y;AH\\BM?-3WO%]L;>:;V1J^8Z^: M([R?Y#V+8R0@Q;+,L15@7]&/25<$OH.Q&8/:+(6=HCZF"QC6]= 4\OSN&"F! M%O7NQ_.YRFHH;J/(R (/Y.AI;\4E/5$$$A#6^;<(I-0XCM25DT: MV#UJ7$D>1BJ#Y,0&-R!59B++T(*E"]@Z6K,U+:0VO/2]=F^<'4#8M+R:$_ K M@P)[@JI*^3)2:"E%/(V-CRD:LK$W=N,J@PP$7;P["'.F[!99-"*0[VWJ4VW:!,S M:,F..6]:J&O4[Y VJZC8W1Y V72JZK+$W67G3YM(YI$MZLVLP=RMD#U;-]MN MD=A[%>-)U42)NXG><&D^X &&Y;EVBJTZ''DC^VE2=3/B[F9ZEQ"EJS(-PE90 MUG2XY=+7LU%U&>+N,K=@HXP6NL'D*_X^U4WGZ/;N?O^;5E-#U0W(\(TDIH)D MXH;D#WHM%/NWUJ>,XU>_9132ZY\6@F%_,MI?XQ8RW ]HQP*O()JX(?K;-I\S MTM[)=6%,A>7$O2^J!_ @&R8M&WQ*VEW80M=A*ZU GKI!_CI*HV2;@'T?8":1 ML/6JMS9T XO0]3FOPEV*WT:=TPIJJ1MJOQN 7I'KOPI M/89U+U]N&9//Y*> M"HRI_T;24V$O=6/O]Z?'+3?H3L^@=A22<+DR9U PBXIMJO)OU^7;\ISKTISN M[+V?XM,K;'D_PZ?S_!2K$I\?JETSN8I@@(KY$E1Y_1$X(?-SJOQ!B8TYB'D0 M2HG$W*XY@S%,$\#_2R'4RX-64)X67OP/4$L#!!0 ( &6!_5#L;A/B;@0 M +41 9 >&PO=V]R:W-H965TM-JJV>Z^=L,DL0HX9SM-*]V'/]LD0(^G-+HW"3;V M^.=A_)^!R8Z+9[D&4.@U33(Y':R5VGQV'+E80TKED&\@TW>67*14Z:98.7(C M@,9V4IHXQ'4#)Z4L&\PFMN]>S"9\JQ*6P;U '#H>V&JM M3([>;V9)RKA MAB<_6:S6T\%X@&)8TFVB'OCN3]AO:&3L+7@B[2_:[<>Z [382L73_61-D+(L M_Z>O>T=4)GAARP2RGT L=[Z0I;REBLXF@N^0,*.U-7-AMVIG:SB6F:FLT57SQ?7NM]Q>B&I_IA2VK==?=JK@%=HGG^P!!?(CL:?=O8$5?&H4R] MH?-;4)0E\@*=(0?)-14@$>O6M/'*7W8HB=G M%^5V\M^.9;S"WYY=QFOS=^Z,@F8+X*(!1#2 * M1\W+!\7R0>?R=Z\@%DP>"1#4 "[QF)!FA+! "#L1M%PL@6D?("X0O&Z8.)(F MK-/X!#?#C N8\?\:$^-Z3.# :X&("HCHF(="GQ) 5!HE$;#A0FDH%%,%1Y%% M-;*1UP:&W5+_W&[_6#&3Z 5D^<1TRM#7BMO>TXGW2[]SIAN,O1;FBF;C3A'Y M:7,-Q)?HZ@6$3I[H$/7H7K %=$@))N4BY(3 *26Q<<.YR;"R82\<1BU'&I>B MB;WC-$4GC9@G"142;4#D)/U4N7%,JJ&#AZ-Q"U8IM[A;;RM:(!S!%NMG0C:Z252 ME"1OH/=PT8\^KI_UJ/U0E:D"1Q\4MP^2=Q6#95H@/6FA&IWZT5K336[HL1/D M,Q'&*,T+5N+IB'KKJB5)F0@(/C9L>RB[[8SVE%$!B7LART1">A));X;M8>\V M7WC8/< 'O>QEXB'=Y?K5:B5@I04 ?=&1Q_3+Z +]H,D6/EC!DS*GD _4\!5- MT<>QT3FYM:":0701WY9"2)E"2'<*^6]H]7'42WGL^T'DMW"4:8+TI(GCHJ#D\_Z#QE8J5#AB4 MP%)/=8>A]HW(OQ'D#<4W]KW\B2O]EF\OUT!C$&: OK_D7!T:9H'B2\WL7U!+ M P04 " !E@?U06L63>AP# #Q"@ &0 'AL+W=O+05(/'(7E(UU*KMAVD?3'(A5I.8 MV0;*O]^U$S*H3$;9%[ =GW/N/;EV;G_+Q8M, !1YS=)<#IQ$J=6MZ\HH@8S* M)E]!CD\67&14X50L7;D20&,#RE+7][RNFU&6.\.^69N)89^O52U,## M\9[]L\D=/K-8)0/GVB$Q+.@Z5?=\^Q7*?#J:+^*I-+]D6^[U'!*M MI>)9"<8(,I87__2U].$ @#QV@%\"_#< _Q0@* '!N0KM$M ^5Z%3 DSJ;I&[ M,6Y*%1WV!=\2H7O33&:'5,)CS#\I/4 MO,'P58^!-,BS,1OBQF@# FN'C"16U4KODN11 QENEXKA:V/YDGRF3) GFJY! M$KX@1H'\*/=_$31'+G(U!459*C_V785IZ&#^GL/QWXMX?=UWB3^]2?B>[YGB6=R!CSP-+QU8TOG_]3# MB]6/S BJ@@H,7W"JH!(JH#$W!36C.[Q2%!D)?.M+,..?H[E4 N^'7S5B[4JL M;<3:)\3NF7QI+ 0 $52!K93J\:UFU_M@>V/U,+_9L\*FEZF%[U8[,JM3F=6I MY=$G.M)G+V8;%D,>DQV#U': QO5$7K,=6%W[%RRXL;IVF5KX;K4CU[J5:]WS M7-OP%.^WE*F=S;%ZDJ#7].R%=B%N>B$N?#_NR+5>Y5KO/-<4B(Q&PO=V]R:W-H965T $DMJ,A=W_,F;D$H^]>+.>\5#EE<"^0+(N"B&\K MR/EQX6#G[<8#W67*W'"7\SW9P0;4X_Y>Z"NW84EI 4Q2SI" [<*YPQ_7.#( M:_%$X2A;:V1">>;\Q5S\E2X6Z8M(Y_:U*G\6F [?4; M^V<;O [FF4B(>?Z5IBI;.%,'I; E9:X>^/%/J ,*#5_"B!= \W0"_!OC7 H(:$+P'C'L XQHPMIFI0K%Y6!-%EG/! MCT@8:\UF%C:9%JW#I\S4?:.$?DHU3BTWBB 6;70SIF4.B&_1 T@E:**TM46B1T:51!_6H C-Y8TV_PVY2&9$@)R[2H=@ MA+A)+7=5R?5[Y ;H"V\ M8\L[[N%]TEVA.\+P5I6_Z8JUX@@MAYE7AZ5.R:'#;=BX#0?=]C7CP^9Q,*Q) MPS_YI>F*&MYH4/<_G!VJC!%I-M4:$BB>0: 5Z6^D,DX.LLD#CW]UYW.:2-K M.BCK#T'8Y3+&TS/GX\!O.Z^J?6[6(V_6R)O]?)/%LVO=8N\T0KU!Q_H%M 5J M?'.!X'5/Q649-65;QZV/>TN$6_,<_U#O?"$BR9 _JT;,!5FKFKPM*YS@L^+% ME^V^E^^?Y/N#6^JK?5%#>GMW *$/'L@V'=+O-D"?"17HB>0E#.PQ?)IU./@% MNRSE>4Z$1'O]P":NNYR5JZC=]-/1).A)QVENXN'!V=YR5RE9U831=Y49S:+W M!:S,L-^VPZ.P3_%IY.+AF=O:A5>F+KQZ1Y[F,I[\OQUYI:1)1W*\43CNT76: MZ_C'!GO'YKRRRM%YE;U1-'M?Y4MF51QNZ_Q8@-C9<[A$"2^9JHY"S=WFK']G M3[CO[L?F&\">2T\TU0>$CG1'F40Y;#6EUJ#K+:HS>76A^-Z>4I^YTF=>N\ST M=PP(8Z"?;SE7;Q?&0?-EM/P/4$L#!!0 ( &6!_5"QQLIJC , $0- 9 M >&PO=V]R:W-H965TN'\-A M>F3\420 DCSE62%F1B+E_L8T191 3L4UVT.!_VP9SZG$)=^98L^!QIJ49Z9C M66,SIVEAS*=Z[X[/IZR465K '2>BS'/*?RP@8\>981NGC?MTETBU8[J# M#&PG1FW]LW:=A5!(_Y(X2A:]T2E\L#8HUI\CF>& MI2*"#"*I3%"\'& )6:8L81S_U$:-QJ(+@UP7VM!Z\F>*_UX-<$G;I9Y:X+MZ*2SJ><'0E7:+2F;G3U-1OK ME19**!O)\=\4>7*^D2QZO%I@J6.R9#GJ3U#=P?63N@=R138HSKC,@+ M6>?[ MC/T (!O@AS3":T(Y7#U<\$?D-LM85-E"XCU$;%>D_R+L#GC*%%I(03ZN0-(T M$Y_0T??-BGS\\(E\(&E!OB6L%+2(Q=24F*>*UHSJG!953LX+.;GD*RMD(LBZ MB"'NX:^&^>,!OHGU;8KLG(J\< 8-?BF+:^*$(^)8CM43S_(5=-=2='O2E\[_ M\[[^S]Z?%<-M%.=J>^X+]MY<0G_]CA[(9PFY^'L@/J^)S]/Q>8-/1!5.U'XB MH'HB^O1861QKB^IH/LQ#RPZGYJ'=Y$N0;4W&P7/4ZA+E.*'5L;7N0;F.=T8] MR]QO,O<',U?EK I]@**$@5J.&XOC=]GKH(DO>/->5Q;]5NG=L=MI=0_&F70: M?8D)[(X8UCV8T.IO^'!$\:?&XVR$8RUWL M3L>_&"CRI/$X>9SZ0/3.*$JV\3_,P!K@#X_Y8Q>5HH!\V'T_PG4$L#!!0 ( M &6!_5!Z;3EXD , $H- 9 >&PO=V]R:W-H965T''""5<"I;9IV?_UL M0P@IA#)5ZTN"S7WWW9WO?,=P3=D#CS 6X#F)4SXR(B%6)Z;)@P@GB!_3%4[E MFP5E"1)RR98F7S&,0@U*8M.V+,],$$F-\5#O7;/QD&8B)BF^9H!G28+8RQF. MZ7ID0&.S<4.6D5 ;YGBX0DM\B\7]ZIK)E5EJ"4F"4TYH"AA>C(Q3>'(!'070 M$C\(7O/*,U"NS"E]4(O+<&18RB($)CF.E2=KQ6"@U2DX%K#YO MM)]KYZ4S<\3QA,8_22BBD>$;(,0+E,7BAJXO<.&0J_0%-.;Z%ZQS6<\U0)!Q M09,"+"U(2)K_H^P"X#]&M#; W *@-.5H5< >ET9W +@=@5X!<#K M"N@7@'Y7@%\ ?'VZ^7'HLYPB@<9#1M> *6FI33WHA-!H>80D5;E[*YA\2R1. MC&\%#1[ #5YE+(AD#H!K1I<,)>!@B@4B,3\$G\'][10E]&0)[$X(S MNU7AURP]!K9_!&S+MAKLF72 .Y:"PT&3.^]CG[V/_;P=?H689!_L9?_2 0[M MO?"+=OCW0&S8H=]RDDZ9S([6Y^S1-WO,B'@Y I,8<0[H MS)ZYQG[ 7D:?[K MFP2 2X$3_KN%KE?2]31=;P_=#5;-@:1+@#(144;^X%#>YV4IH81FJ6BJD%RO MI_6J[O(T[ON>*_N-#.)3-7&\<8.W:DRE)YYB] ME9']DJ'_$1GIEW1^JT.GVSP,:)+(V8!K&D'!'%>/NZE6_5J459Y9^\,\**T: MM">;:AL[R78@6TC>3 Z;GZ](+J+GC>(UHIGU[O*1 #_M2KD/1]$#9?\+H.]9; _HBK@ MMB] Y[_5Q9="=Y?","N#6(+94@_E7'+*/I"WL7*W'/Q/];C[:O\,GDQ@P_X4 MGLSRL7ZK/O_*D$>T)"D',5Y(*NNX+Y.>Y8-[OA!TIETK-0C#T"!BB*U MP.IVI=55[?7NQ>E>F&0"OB8V9YNE_?8W-B&%5>P4[DV)G?QG,K^.Q^-,=D*^ MJ#6 )J]EP=5ML-9Z&2KM383X72RH2MX OV\ M>9 X"FLK&2N!*R8XD9#?!G?QS2).C, ^\0>#G3JZ)B:4I1 O9O ENPTB\T90 M0*J-"8H_WV$&16$LX7O\6QD-:I]&>'Q]L/[9!H_!+*F"F2C^9)E>WP:C@&20 MTVVA'\7N5Z@"&AA[J2B4_4MVU;-10-*MTJ*LQ/@&)>/[7_I:@3@2H)UF05() MDA\%?8>@5PEZ'_70KP3]CWH85 (;>KB/W8*;4TVG$REV1)JGT9JYL/2M&GDQ M;A+E24N\RU"GIU]X*DH@O]-74.07\@BIX"DK&+7_1I&39\XT9.1)4XU/?(8, M)"WL<*N%?",S(3="XDUC@SR:"RUPMMQ0_O:S(HL\!YL,]?TK(B1Y]TL>I/C. M;.)UYJ I*]2G2:@Q-O.&85K%<;^/(W'$T2/?!-=K],93V#TZBSK67N] MUBPC> W9&XK6'!.#"NX#?A]-ONN&GZA4Z8E\D69\M.4%[7**^] M=G"_P]V,U_E',H8E4P+7C!9-]/SF!HYH9GY99^B"/F\1#ES"Q04>3P@.:X)# MKR535E()67.R^;6)"Y=?YL[1>8LP<>*ZP.,)KE&-:^2U9"JPA*KB5:L4>[Z" MFGT>]V[L.=(7(C:F U!-1/WF._'8O8!;I$XX\S;AV(FU1=EOPSJNL8X_CO6P M!1UAM>L;]%9RDF.#Q5>-;/T^.G'?S=8OC5S%LA;G&^[A3<46\?>RW]IM<@&U'Y=8V+ MHF+E5[K*Z;Q%UW>R.MO?*:ODG55R9O_8",YOI#-P+\\6:>Q",&\1#IWH6APZ MV85'Q\D2Y,J>XQ6VRENN]SU_/5M_*[BS)^0?YN_CFUG<,#\WWQ;L\?7=_/[# MQ#&ULM5E?3^,X$/\J5G4G@<2UL=.6@J 2M$7':5=:P>[= MP^D>3#)M?9O8/=NA<+H/?^.D)&U)G+*(%TC<^ZYEH"2DW7;4"B;_,E4ZYQ5>]Z)F5!A[GH#3IL2 8]E(N9&=\D:]] MT>,+E=E$2/BBB>*GM^PH0/D%+\+6)NM9^),>5#JNWNYC2\[@=,($HBL8\'Q MWR-,($D<)]3CGPW33BG3 ;>?7[C?Y,:C,0_.(+0#RJ0>P#8#M _H- M@' #"/&S&0,<0U^ZL&EM:S%XL MOF9>AK]ELDO8Z(2P@ 4U^DP.@(>!@].S.G/>)WWV/NDW?O@4(H33.OB.+\,R M>\*<7]B:/62"41)R 3)Z)G]^0CIR:R$U?WFD]$LI_5Q*WR_%HA1XPI)J@!P] M@(2YL,>$6_*M>]\E>)'%L"Z!/E!W.SMN!UO#TIO#[R,,$>P1:&/<=_#? YYZ?>ZT,_O:-#H03_P MM,F!?MB@R7]OEK;COF'ION$[W$=P%B"QP'6-.P7( ]@U@,1>&&=%JW4$CGJ5 M8?8:+,I8=C&54Y?W/*>(E+'8U".UD.)?B,ETD69O%K?CXE'IXI&7 MS]>7W.?QWSC0X%AJ#_"AGR<=-;G0CVMTX8_!9F^&[7CPK/3@65L#+&N*!@/Z M$>N"*Q2B[(Q@3HC$@XB:N[D:M';IBX[?],DZ#QM]WB MI]DQA@;5R!FTF&.Q_&$1DTI&&:8%;KX74VO-8:_U9&' ]LTYB.QF0[:= M/Y0.ADW1JL9.&K[?:KEM\\ZF0!JP]=$,7]L5L-&^]2U4NU958RYMFW/K]L4) M66AEZK7MOW9O&-!];5NH=K6MQD3J'YA<67\&K@UQUQRN5\(3QQ-J,:0\/)/< M'#2"W,$CR S(/<9,1/6;VB\+CRM#8I=:98MEV]F%5I,:]<\0K18\9OP].T0AC1;0;,Q_KJFFQP4=&HFHMS%_9 M/S82+5VE\2:HMW5/G()>Y#?Z.#2I3-KBTJ]<+;\:7.5WY7OKU_1\0FO6I_1\ M5GP3J-@7GR@^<[T0TI $YB@JZ)YBG'1QZU^\6+7*;ZD?E+4JS1^7P-%!C@!_ MGRME7UZ<@/+;R_A_4$L#!!0 ( &6!_5#@^S3A+P, *<* 9 >&PO M=V]R:W-H965T0!KDV@NHK53:3F/: M- 3:>)CV8)*3UB*Q@^U0^N]W[(2LD#1"V\/H0Q,[Y_O.U<=GLA7R7FT -'G* M,ZZFSD;KXMQU5;R!G*I340#'+ZF0.=6XE&M7%1)H8D%YY@:>-W1SRK@SF]B] M*SF;B%)GC,.5)*K,>-:[;>:+/ASB8%7<,-Z._%E<25V[ D M+ >NF.!$0CIUYO[YRO<,P$K\8+!5>^_$N'(GQ+U97"93QS,600:Q-A04'X^P M@"PS3&C'0TWJ-#H-3)VQ0Q)(:9GI:[']!+5# M \,7BTS9?[*M93V'Q*72(J_!:$'.>/6D3W4@]@#(TPT(:D#P&A = (0U('RK MAJ@&1&_5,*@!UG6W\MT&;DDUG4VDV!)II)'-O-CH6S3&BW%3*#=:XE>&.#V[ MM9&$Y&3^"!(K@]QLJ 1%CI:@*!?];)P-GIV]"'H)/Y?\E 3C#R3P J_#GL4;X*%GX/Y9 MESO_IGWUU]I?!"-L,A]:OO GTWTB3ED"5F('#N/HO;LSJ6D? W8#32YVY%] MN2NZL]OS+94)^?D%*61XU!HUY'YURSDR;!"N)2 M,LVPX\!3G)5XSDDJ14YBM+74E:E8$4 E9WRM2 &RZD?DJ&I+QUUE,6HE:3#V M_%8R%VVYH6^KXU5Q=,B%P;A='!UZ!UYXL#C&3(^5$[C^[>Q9N#7-N)1Z&))==5)VYV MFZEJ;F>)5_L7_OG"[]A?FBG,7O1_Z*L1[BN5:\85R2!%5=[I"&V5U514+;0H M[+5_)S0.$?9U@Y,D2". WU,A]//"*&AFT]EO4$L#!!0 ( &6!_5!Z$ICC M3P, $$* 9 >&PO=V]R:W-H965T-JEMOB%4@,37M$WKAEIM?:CV8(B!K+%-;8>4?[]K)Z04#$+;"]C./>?> M>WQMWV[)Q;-<$:+0*\V9[#DKI=:WKBOG*T*QO.%KPN#+@@N*%4S%TI5K07!J M0#1W \]KN11GS.EWS=I4]+N\4'G&R%0@65"*Q79(:DZG<:F!^^,=^R>3.^0RPY*,>/Z8I6K5 ME("O&>!4_]$H2=+KP88(* STL,*"2'2-1CB?%SDVV\D7Z)3AAS%1 M.,OE1X!(L]1U%02FZ=UY'<2P"B(X$42([CA3*XDF+"6I!3\^CV^=P;L@2*-* ML%-E&)PE_%JP&Q0D5RCP L\2S^@">.AIN-^QI?-_WB?_[/V=&&%3(J'A"T_P M3;!@&5M*-"6BVG7T-)A))>"0_S[#'S7\D>&/3O /LJ/GYIEA?Z2D7DI)S3*.(DN=V"T[G6.AK)9QD)R4JMU(U3Y[1,VIO-8/9HI&G$(3(:N+>R $ M9DM"M4*S+=JWF^*M61[H2D)/WX 2?5&$RG-G.FD"2B[:.[1[+;X7= ;71W76 MZZ?CQ]M>H4'Z!QX['= 5F@J.3!=@V\'$4I2!=ZR@N_$-H#O"\[5;J(=-%UC_R]02P,$% @ 98']4)7Z M\E=? @ /P4 !D !X;"]W;W)K&ULC53=3]LP M$/]73A&30-I(&MJ.H312^9C& Q,J,!ZF/;C)M;%P[,R^M"#QQ^_LE*A"M-I+ MXH^[WX=]YVQM[).K$ F>:Z7=)*J(FK,X=D6%M7#'ID'-.PMC:T$\MI90U:B>-!HN+230=G)V/?'P(^"5Q[;;&X)W,C7GRD^MR M$B5>$"HLR",(_JWP I7R0"SC[P8SZBE]XO;X#?U[\,Y>YL+AA5&/LJ1J$IU& M4.)"M(IF9OT#-WZ"P,(H%[ZP[F)'WR(H6D>FWB2S@EKJ[B^>-^>PE9#N2D@W M"6G0W1$%E9>"1)Y9LP;KHQG-#X+5D,WBI/:76=R7G43Y#1[8MJ+52+^&B M$G:)#K[ 3V&M\ <&AY=(0BIW! <@-=Q7IG5"ERZ+B?D]2EQLN,X[KG0'UXUX M@73\&=(D31[N+N'PX.BJ;I1Y07R'%K.+WDK:6TD#_,E_66&),$,E"$N8^JN7 M)-G9[^FU73TT2'M MQSP]3I)/>[0->VW#O3A7SPT7/IO7;3U'"V8!C7'2:W2 2G(MA;-YA1UWT(GM M2$:!Q#?X*A^<#K)X]8&R4:]LM%?9O2&A8%J;5A/T,LG '.%:%ZVU0=;!1W(Z MY/&VG/%P.'HG*-[J!_^TW'!52[:M<,%YR?%7AK%=NW83,DUHD;DA;K@PK/B% M0^L#>']A#+U-?-?U;V;^#U!+ P04 " !E@?U0_A]'N(8# +#@ &0 M 'AL+W=O,X9#H^&9&\M MY \5 VCRDJ5<]:U8Z]6-;:M9#!E3UV(%'-\LA,R8QJ9MQP3 M$:0PTX:"X=\SC"!-#1/&\7]%:M6:!KC[O&&_*R:/DYDR!2.1_IO,==RW.A:9 MPX+EJ7X4Z[^AFE!@^&8B5<4O69=CP\@BLUQID55@C"!+>/G/7JI$[ "0IQG@ M5@#W$."? '@5P#M7P:\ _KD*004(#@'>"4!8 <(B]V6RBDR/F6:#GA1K(LUH M9#,/Q7(5:$QPPHVSGK3$MPGB]. 1E);Y3.QOG727 W21BZK82?T1EPSS%PVFV:SI^I M3_Y,_:X=?L]^$C=L$M]+I5?[R2OHO//\))0F:!*"W2"?@7S_C./)1PV9^J]% MS:_5_$+-/Z'V56B6DMM,Y%R3R#GOW<$$Q0!Q.T!K,1-%^'C@&_$ EPE>U8E>!:0=M2#X/CP/RHVZD#*^UX M/,K9'S$^BV?2QK.7@K!.0=B:@B\Z+TT&W9I=[%[5%) MG RMVIM?&;4_@6TEI^VE_ M&+0E32LP29E+YJC6V=9D&;V&-;1&D[57PMZT1 M'E=M)_1.9'9;,VET>6M$1Z'Y-#IT1ON@,GQ[YZR: 9XVS:U"X6ICLLIC1MU; MWUQNB_/Z0?^0WHQH0_^8WDS*>\F6OKPFW>/A-N&*I+! *>8[RM@30#\/U""+UI&('Z_C?X!5!+ P04 " !E@?U0L$E? M!HH$ "[%0 &0 'AL+W=O9(I.2+ L= ;&?8"G0-DG9[&/; 2+0E5"(]DHZ3;S]2DD7K1MM= M\F*+\KG\>7CT$\W9GO$?(B9$@I
  • )F$$NYO78<$<8DP^**;0E5OZP9S[!4 M0[YQQ)83'.5.6>H@UQT[&4[H8#[+[]WS^8SM9)I0DDTL]0UG/MOB#7DD\OOVGJN14T6)DHQ0D3 *.%G?#&[A]9WG:8?6+LAQ[\'MT,7*V(I"24.@167\]D2=)41U(Z_BV##JJU_(^6$1CI>R%*1?X)]:>L.0+@3 MDF6ELU*0);3XQB]E(8X<5)QN!U0ZH*:#W^/@E0[>N1G\TL$_-\.H=,BG[A1S MSPNWPA+/9YSM =?6*IJ^R*N?>ZMZ)50WRJ/DZM=$^@$3^0H2"NHV:D3X,P$?5T3B)!6?E/7WQQ7X^.$3^*#-O\5L)S"- MQ,R12J'.XX2EFD6A!O6H\< 71F4LP!V-2-3AO[+[CRW^CJI,51YT*,\"60-^ MWM$K@*:_ .0BMT//\@QWS]7N,.B:SO_+?O?3V6O%\*I>\?)XWEF]QN])L\ IIB$!6((GLDDHU=G8&FP)3UAG4Q3QQGD\ M3<;GN:K6$425A9)50GVE8/!5=[3QJ98;^))A6V8LF:5NY=8M583&RQ[FS MQ:G-P"^$:[>03A_Q2\()>ND MV3;U#$=O(?B>:('()$)O#)3 #7;Y8157:CA*;0#=:GV7ESM_&N86#)A9X1A)0S>DQ'(X [9<7LZBH-3Y&=IR<)@=KX'*(>,"$#4&0' MZ.5\0&U$6O80R" 2V1%Y,2-0&YE](@PND1V7ER "M4$Y14&S6^Q&=9F&I\C. MTZ\R)AS<"L'"1%4I.@D'9""))N\*!P,Y9(?<3\"AO6_L@X-A(;)O',^'0WM' MZ,-)<[7M1O4_BP:CGAVC)]'@M:DY[.DQSV#3LV/S&PO=V]R:W-H965TN<8" M+Z-(298FR4>FN- TS^+8QN:9:5$*#1M+7*L4M\\KD*9;TBD]#MR)?8UA@.59 MP_>P!;QO-M9';*240H%VPFABH5K2S]/KU3SDQX1? CIWTB>ADITQ#R&X+9!2<4E)" MQ5N)=Z;[!D,]B\ KC'3Q2[H^=S:CI&@=&C6(O0,E=-_RIV$?3@3I]!5!.@C2 MZ+M?*+I<<^1Y9DU';,CVM-")I4:U-R=T.)0M6C\KO [S;;MS\-B"1O+EX+^. M7*P!N9#N?<;0+Q#26#' 5CTL?07VO943DEY](&F2)O?;-;EX]X+"O+W18SIZ M3"-V_D:/9Y"S$3F+R-D;D>3/#Y]!;A&4^WN&/Q_Y\[.6U^(@2M"EWTZA26FD MY-:1!OQSJ+F%_^YM3[R,Q/"6#GDR21:+C!U.C;"3LP[/YB>W>Z$=D5!Y73+Y MM*#$]E>Q#] T\?AW!OUEBMW:OUZP(<'/5\;@,0@W:OP?Y/\ 4$L#!!0 ( M &6!_5#4:\9$< ( '@- - >&PO/[Z6R'4S2M@Q[,W9V>#QXN;S?AYE;B SD[H^ #HY:"?JW-]:.\P M]%YV+_QJ-_S/CU\]Q]%F]A_(]6[P[Y\]W":Q'SOIT_O!M MPXR@#>C*B&&P0#2 MXB2F21F58(8H4L;'II )*B00.E.U5)<$\F?;-JUGFGB MFL,(%[*J;2O8SUD]?2.Q\HQ 0FDC< AM(/0SI!26_$X[U>0JN)4"M3U=9EKA M7**E.QS#=D$UZ"(S(6,LFS(N7(5"G^+$R)%DGII1B>9#LP3Y8VI!=6FQ5C'\+LTR^YB1R_B@HPLA/I0 MZ.WPRC>=@N\E3DA9^672".BCN_UTE&5T^9Z2.6?8;O[@@J&/5NM *B1YTM5, MJT0Z@"4$"RP5B;J1[Q)E4URJ53N52;_FX0EJ_K?G/,<<2T2[HG7O'_,IOUCQ MZ.I_2:Y^538%[]18_VT?N\CQ*8CT3D'D2?3D]2F(G!R_R-%Q:G3J2T;G)K-V MCVFBP-P7 _C%W$QI6Q3,"D(5X;67DCC&?.LZH_$*S?1KT!I?SX]Q@@JJIDTR M@*W]&<>D8)-FUKTYB'I6:W\RVW.]JF#[KA7^!5!+ P04 " !E@?U0EXJ[ M', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6 M!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV M)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(= MI7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( M &6!_5#-/F];O04 -8S / >&PO=V]R:V)O;VLN>&ULQ9MO3]LZ%(>_ MBM577&F]I?F[33")#;:+M N(3NSE9!*WM4CBSDY@VZ>_Q\D*)\,]NF\.?46; MA/2I6_OY'=L]>C#V[M:8._&CKAIW/%FW[>;M;.:*M:JE^]ML5 -GEL;6LH6G M=C5S&ZMDZ=9*M74UBPX/LUDM=3-Y=[2]UY6=X2>F546K30,'_8$;K1[7DL .9YDAW##I;:N[:_H[R^!\5[!Q<.SKC4? M==4J>RI;]AM].VS_#HWXUOZ?9C3+I2[4J2FZ6C7MT(Y6 M51ZP<6N]<1/1R%H=3SZ8>V7%E5PI_Z;@5<[+X0VV0(::R[[5<,*>ESTC)T_C M3*5+>/52+#R$_PT-\H.I-P@R)B#C/4)^BQ!D0D F+PCY M7E:R*93HNXU#@"D!F.X-4!Q<2029$9#9_CYJZ=8(,B<@\WU >L;%6EH\_+PF M(%_O$7+4:=X0D&]X(1==74O[LZ?2JT;#OTF /"D*TS6MQ@/Y(362'_)B7H!Z MP<\-0!7#%Q*3D8YAELQ'J:VXD56GQ+]*NLX^QZ/L,N?6"_395WW/%6??.WTO M*T_W2LBF%.?-/<:D_#)G%@R@P 40FM2HY2B;S)EU\AD^S3$-I8XYLSL^&5,^ MZ*H2!Q>04MU?F(NRQ9Q9%^>0<9N5?U%QXMQ8M7/*$'-F17R5UL)(]E-J)/\= '76N[9T,&980YLQ*N%?1%&,ZN56' "/X\CLJ4 M!B)F#2Q:4]Q-WT/'+/MTK!K77R3.?OC'&)-R0L3LA!X3VF_3V6(-L%Y=*RMK MS$>6',Q2^")_C$:VB!KZ(^:A_ZO2JS5$I.D)5(]0.PX1;H1':2!BUL"U\AVT M:#L+9;7X &RK,1QEA8C9"HONUJGOG8^59_=_C"$1I86(60MDK!QEWXB21,0L MB1WA31Q\D0 R:DW*%Q%W)4&%N'%K4N*(F,6!0MRV!7%.B2ESQ,SF&-)<$(LR M1X:07Q*0\$C-[)!#Y M@HR44F)NI5#9;S0(QI128F:EG#>%J97H(U:P#2F1Q,PBV9&U KZ+*9'$[!5( M('.%&C.AE)(P*V57>)@.(R;&I!23[&>"2ARJ"(GY M&F-2$DJ8)83+A*E8P!W+#F(FE(K]&8Q)22AYP6IF*BY\VNQSW/-Q,Z4LE+Y, M81,@')DRI124,BOHD?%C!TX'#_G]$ETM^N/B"F-2"DJ9%?14C(4:D+).RKX\ M\JP:"R%2QDF9C1,LQZ8^O#4^O&%,<@F>V3B["K+?S8DQ*>.DS,;9@3D5EUT+ M4!B3,D[*;)R=F,.HCC$IXZ1[66_QK;E M]N-24^A*#TUJ,"9EH9Q]N0?/6@=JBYR23[Z?+0*!4CRGY)-SET [,*$*DE6! MTW!.R2=G7^P)S:X_3B!@3$H^.;-\=F'^WEJ ,[=T>E6NI&E1=P>P?'"_B*7UGA__0[V*(D];O8 MEEU5^6__9?/9R'+[LY3M3VK>_0=02P,$% @ 98']4+M)TM]B @ M"X M !H !X;"]?Q[VAVY8?)R.YV%=[<>Q^U'7PV9?3LWPT';E?+FR;?M3,UZ6_:[NFLU[LRNU M+)=1]_G^YF+U\^N_,_$=KL];,K/=O/[5,[C/P;7?]K^?=B7,E:+UZ;? ME7%=U1_'V^FAOA[2PV5RM7AY6U?]RUNJZKF#!()D_B"%()T_R"#(Y@]R"/+Y M@P*"8OZ@#$%Y_J 5!*WF#WJ$H,?Y@](295P2)$VP)M Z(=>)P.N$8"<"L1.2 MG0C,3HAV(E [(=N)P.V$<"<"N1/2G0CL3HAW(M!;4&\AT%M0;R'06R8OVP1Z M"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'HKZJT$>BOJK01Z M*^JM!'KK9+.$0&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]#O8U M;T.]C4!O0[V-0&]#O8U ;YML=A/H;:BW$>AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1 MZ.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CMDX^5!'H[ZNT$>COJ[01Z.^KM M!'H[ZNT$>@?J'01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>L?D9Q,"O0/U M#@*] _4. KT#]0X"O3/JG0GTSJAW)M [H]Z90.^,>F<"O3/JG0GTSJAW)M [ MH]Z90.\\^5F00.^,>F<"O3/JG;]3[V'\/);AUO.UAN>OOI/J\7)ON3W^NOPZ MB3BOKCC7]Q7#\U]02P,$% @ 98']4-TG:PL8 @ A2T !, !;0V]N M=&5N=%]4>7!E&ULS=K?3MLP% ;P5ZERBQK7_S=$N0%N-R[V EYRVD9- M8LLVK+S]G!20-K$*5*1]-XU:V^<[\9%^5[WZ\10H+0Y#/Z9UMO<:E375[>T<0]]7MP=RL^I M\^.ZBM2G:G%SW#AEK2L70M\U+I=U]CBV?Z4LGQ/JDW9=2!=E0\7>3)A6 M_AWP?.[[(\78M;2X=S%_>CK8]&+T\FYW# =/_G9^7.94X%EYWWT(96)1?IXW,M(IM/+4 I1S-WI M5WQ-+*7/?C^:IMU2^\[L,+2!]?0?K@*Y1&4$3E**1R%%,Y"JH<156.PBI'<96CP,I19!4H ML@H4606*K )%5H$BJT"15:#(*E!D%2BR"A19)8JL$D56B2*K1)%5HL@J4625 M*+)*%%DEBJP215:%(JM"D56AR*I09%4HLBH4616*K I%5H4BJT*15:/(JE%D MU2BR:A19-8JL&D56C2*K1I%5H\BJ460U*+(:%%D-BJP&15:#(JM!D=6@R&I0 M9#4HLAH462V*K!9%5HLBJT61U:+(:E%DM2BR6A19+8JL]G_*^M/[_2?'S\]Z M<-WXDL_F?U]?_P902P$"% ,4 " !E@?U0!T%-8H$ "Q $ M @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( &6!_5#H M+44"[P "L" 1 " :\ !D;V-0&UL4$L! A0#% @ 98']4"TX%S$5!0 MXQ0 !@ ("!#@@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4$"O)HW] @ U0@ !@ M ("!0Q@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 98']4*1O%ODT!P 8!X !@ ("!F24 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 98']4(K2D:+]"@ M'1\ !D ("!2SD 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4+SB"QO<"0 S!L !D M ("!HU4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 98']4"I0TY.^ P %0@ !D ("!8&D 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 98'] M4*/E"M&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4,&[G[B_ P PP@ M !D ("!GY 'AL+W=O&PO=V]R:W-H965TM[E MN , +L) 9 " @::; !X;"]W;W)K&UL4$L! A0#% @ 98']4&H7@?Y2!@ :0\ !D M ("!E9\ 'AL+W=OI@ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ 98']4%@S+Z-4! Y0D !D ("!X;8 'AL+W=O M&PO=V]R:W-H965T ( "(% 9 " @53" M !X;"]W;W)K&UL4$L! A0#% @ 98']4,+0 MH2*& @ -P4 !D ("! \4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4,>C56V) @ <04 !D M ("!@&PO M=V]R:W-H965TB@0 M 'D, 9 " @>76 !X;"]W;W)K&UL4$L! A0#% @ 98']4([8+V^?!0 +@X !D ("! MIML 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 98']4%; X?:K P MP@ !D ("!W>< 'AL+W=O,] M P K@H !D ("!'/8 'AL+W=OQ*C2H% !$&@ &0 M@(&0^0 >&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4$8M/0LD!@ RR0 !D M ("!?@4! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 98']4!1:*LET @ 1@8 !D ("!K10! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M98']4,^A/;6, @ ^08 !D ("!9!X! 'AL+W=O'Z(#D" /!0 &0 @('3 M+@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4$FWL4S) @ <0@ !D M ("!ES8! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 98']4(@Q18"! P +@T !D ("!9S\! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 98'] M4&#'. ) P ! D !D ("!;$D! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4.QN$^)N! M1$ M !D ("!*E8! 'AL+W=OAP# #Q"@ &0 @('/6@$ M>&PO=V]R:W-H965T 0!X;"]W;W)K&UL4$L! A0#% @ 98']4+'&RFJ, P 1 T !D M ("!ZV$! 'AL+W=OFTY>) # !*#0 &0 @(&N90$ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ 98']4#G]%\#*!0 AQD !D ("!I6T! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 98']4)7Z M\E=? @ /P4 !D ("!DGH! 'AL+W=O&PO=V]R:W-H965T6 0!X;"]W;W)K&UL4$L! A0#% @ 98']4)UN^I3K 0 &P0 !D M ("!IH4! 'AL+W=O&PO M&PO7W)E M;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !E@?U0W2=K"Q@" "% M+0 $P @ '0DP$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 1 5P!7 -@7 9E@$ ! end XML 92 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 93 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 94 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.2 html 216 410 1 false 72 0 false 12 false false R1.htm 0001001 - Document - Cover Page Sheet http://www.cognex.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1001002 - Statement - Consolidated Statements of Operations Sheet http://www.cognex.com/role/ConsolidatedStatementsofOperations Consolidated Statements of Operations Statements 2 false false R3.htm 1002003 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 3 false false R4.htm 1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical Consolidated Statements of Comprehensive Income (Parenthetical) Statements 4 false false R5.htm 1004005 - Statement - Consolidated Balance Sheets Sheet http://www.cognex.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 5 false false R6.htm 1005006 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 6 false false R7.htm 1006007 - Statement - Consolidated Statements of Cash Flows Sheet http://www.cognex.com/role/ConsolidatedStatementsofCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 1007008 - Statement - Consolidated Statement of Shareholders' Equity Sheet http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity Consolidated Statement of Shareholders' Equity Statements 8 false false R9.htm 1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical Consolidated Statement of Shareholders' Equity (Parenthetical) Statements 9 false false R10.htm 2101101 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.cognex.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 10 false false R11.htm 2103102 - Disclosure - New Pronouncements Sheet http://www.cognex.com/role/NewPronouncements New Pronouncements Notes 11 false false R12.htm 2104103 - Disclosure - Fair Value Measurements Sheet http://www.cognex.com/role/FairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 2108104 - Disclosure - Cash, Cash Equivalents, and Investments Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestments Cash, Cash Equivalents, and Investments Notes 13 false false R14.htm 2116105 - Disclosure - Inventories Sheet http://www.cognex.com/role/Inventories Inventories Notes 14 false false R15.htm 2120106 - Disclosure - Leases Sheet http://www.cognex.com/role/Leases Leases Notes 15 false false R16.htm 2124107 - Disclosure - Goodwill (Notes) Notes http://www.cognex.com/role/GoodwillNotes Goodwill (Notes) Notes 16 false false R17.htm 2127108 - Disclosure - Intangible Assets Sheet http://www.cognex.com/role/IntangibleAssets Intangible Assets Notes 17 false false R18.htm 2130109 - Disclosure - Warranty Obligations Sheet http://www.cognex.com/role/WarrantyObligations Warranty Obligations Notes 18 false false R19.htm 2133110 - Disclosure - Derivative Instruments Sheet http://www.cognex.com/role/DerivativeInstruments Derivative Instruments Notes 19 false false R20.htm 2140111 - Disclosure - Revenue Recognition Sheet http://www.cognex.com/role/RevenueRecognition Revenue Recognition Notes 20 false false R21.htm 2147112 - Disclosure - Stock-Based Compensation Expense Sheet http://www.cognex.com/role/StockBasedCompensationExpense Stock-Based Compensation Expense Notes 21 false false R22.htm 2154113 - Disclosure - Stock Repurchase Program Sheet http://www.cognex.com/role/StockRepurchaseProgram Stock Repurchase Program Notes 22 false false R23.htm 2156114 - Disclosure - Taxes Sheet http://www.cognex.com/role/Taxes Taxes Notes 23 false false R24.htm 2160115 - Disclosure - Weighted-Average Shares Sheet http://www.cognex.com/role/WeightedAverageShares Weighted-Average Shares Notes 24 false false R25.htm 2164116 - Disclosure - Restructuring Charges Sheet http://www.cognex.com/role/RestructuringCharges Restructuring Charges Notes 25 false false R26.htm 2169117 - Disclosure - Subsequent Events Sheet http://www.cognex.com/role/SubsequentEvents Subsequent Events Notes 26 false false R27.htm 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.cognex.com/role/SummaryofSignificantAccountingPolicies 27 false false R28.htm 2305301 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.cognex.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.cognex.com/role/FairValueMeasurements 28 false false R29.htm 2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables Cash, Cash Equivalents, and Investments (Tables) Tables http://www.cognex.com/role/CashCashEquivalentsandInvestments 29 false false R30.htm 2317303 - Disclosure - Inventories (Tables) Sheet http://www.cognex.com/role/InventoriesTables Inventories (Tables) Tables http://www.cognex.com/role/Inventories 30 false false R31.htm 2321304 - Disclosure - Leases (Tables) Sheet http://www.cognex.com/role/LeasesTables Leases (Tables) Tables http://www.cognex.com/role/Leases 31 false false R32.htm 2325305 - Disclosure - Goodwill (Tables) Sheet http://www.cognex.com/role/GoodwillTables Goodwill (Tables) Tables http://www.cognex.com/role/GoodwillNotes 32 false false R33.htm 2328306 - Disclosure - Intangible Assets (Tables) Sheet http://www.cognex.com/role/IntangibleAssetsTables Intangible Assets (Tables) Tables http://www.cognex.com/role/IntangibleAssets 33 false false R34.htm 2331307 - Disclosure - Warranty Obligations (Tables) Sheet http://www.cognex.com/role/WarrantyObligationsTables Warranty Obligations (Tables) Tables http://www.cognex.com/role/WarrantyObligations 34 false false R35.htm 2334308 - Disclosure - Derivative Instruments (Tables) Sheet http://www.cognex.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.cognex.com/role/DerivativeInstruments 35 false false R36.htm 2341309 - Disclosure - Revenue Recognition (Tables) Sheet http://www.cognex.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.cognex.com/role/RevenueRecognition 36 false false R37.htm 2348310 - Disclosure - Stock-Based Compensation Expense (Tables) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseTables Stock-Based Compensation Expense (Tables) Tables http://www.cognex.com/role/StockBasedCompensationExpense 37 false false R38.htm 2357311 - Disclosure - Income Taxes (Tables) Sheet http://www.cognex.com/role/IncomeTaxesTables Income Taxes (Tables) Tables 38 false false R39.htm 2361312 - Disclosure - Weighted-Average Shares (Tables) Sheet http://www.cognex.com/role/WeightedAverageSharesTables Weighted-Average Shares (Tables) Tables http://www.cognex.com/role/WeightedAverageShares 39 false false R40.htm 2365313 - Disclosure - Restructuring Charges (Tables) Sheet http://www.cognex.com/role/RestructuringChargesTables Restructuring Charges (Tables) Tables http://www.cognex.com/role/RestructuringCharges 40 false false R41.htm 2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Sheet http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Details 41 false false R42.htm 2407402 - Disclosure - Fair Value Measurements (Details) Sheet http://www.cognex.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.cognex.com/role/FairValueMeasurementsTables 42 false false R43.htm 2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails Cash, Cash Equivalents, and Investments (Details) Details http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables 43 false false R44.htm 2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) Details 44 false false R45.htm 2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) Details 45 false false R46.htm 2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) Details 46 false false R47.htm 2414407 - Disclosure - Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details) Details 47 false false R48.htm 2415408 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) Details 48 false false R49.htm 2418409 - Disclosure - Inventories - Schedule of Inventories (Details) Sheet http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails Inventories - Schedule of Inventories (Details) Details 49 false false R50.htm 2419410 - Disclosure - Inventories - Narrative (Details) Sheet http://www.cognex.com/role/InventoriesNarrativeDetails Inventories - Narrative (Details) Details 50 false false R51.htm 2422411 - Disclosure - Leases - Narrative (Details) Sheet http://www.cognex.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 51 false false R52.htm 2423412 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Sheet http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Details 52 false false R53.htm 2426413 - Disclosure - Goodwill (Details) Sheet http://www.cognex.com/role/GoodwillDetails Goodwill (Details) Details http://www.cognex.com/role/GoodwillTables 53 false false R54.htm 2429414 - Disclosure - Intangible Assets (Details) Sheet http://www.cognex.com/role/IntangibleAssetsDetails Intangible Assets (Details) Details http://www.cognex.com/role/IntangibleAssetsTables 54 false false R55.htm 2432415 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) Sheet http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail Warranty Obligations - Changes in Warranty Obligations (Detail) Details 55 false false R56.htm 2435416 - Disclosure - Derivative Instruments (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.cognex.com/role/DerivativeInstrumentsTables 56 false false R57.htm 2436417 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails Derivative Instruments - Outstanding Forward Contracts Table (Details) Details 57 false false R58.htm 2437418 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) Details 58 false false R59.htm 2438419 - Disclosure - Derivative Instruments - Offsetting Assets (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails Derivative Instruments - Offsetting Assets (Details) Details 59 false false R60.htm 2439420 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) Details 60 false false R61.htm 2442421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails Revenue Recognition - Revenue Disaggregated by Geography (Details) Details 61 false false R62.htm 2443422 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Details 62 false false R63.htm 2444423 - Disclosure - Revenue Recognition - Additional Information (Details) Sheet http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails Revenue Recognition - Additional Information (Details) Details 63 false false R64.htm 2445424 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details) Sheet http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails Revenue Recognition - Schedule of Allowance for Credit Loss (Details) Details 64 false false R65.htm 2446425 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) Sheet http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails Revenue Recognition - Deferred Revenue Activity (Details) Details 65 false false R66.htm 2449426 - Disclosure - Stock-Based Compensation Expense (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseDetails Stock-Based Compensation Expense (Details) Details http://www.cognex.com/role/StockBasedCompensationExpenseTables 66 false false R67.htm 2450427 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) Details 67 false false R68.htm 2451428 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) Details 68 false false R69.htm 2452429 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) Details 69 false false R70.htm 2453430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) Details 70 false false R71.htm 2455431 - Disclosure - Stock Repurchase Program (Details) Sheet http://www.cognex.com/role/StockRepurchaseProgramDetails Stock Repurchase Program (Details) Details http://www.cognex.com/role/StockRepurchaseProgram 71 false false R72.htm 2458432 - Disclosure - Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details) Sheet http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details) Details 72 false false R73.htm 2459433 - Disclosure - Income Taxes (Details) Sheet http://www.cognex.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.cognex.com/role/IncomeTaxesTables 73 false false R74.htm 2462434 - Disclosure - Weighted-Average Shares (Details) Sheet http://www.cognex.com/role/WeightedAverageSharesDetails Weighted-Average Shares (Details) Details http://www.cognex.com/role/WeightedAverageSharesTables 74 false false R75.htm 2463435 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) Sheet http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) Details 75 false false R76.htm 2466436 - Disclosure - Restructuring Charges - Narrative (Details) Sheet http://www.cognex.com/role/RestructuringChargesNarrativeDetails Restructuring Charges - Narrative (Details) Details 76 false false R77.htm 2467437 - Disclosure - Restructuring Charges - Summary (Details) Sheet http://www.cognex.com/role/RestructuringChargesSummaryDetails Restructuring Charges - Summary (Details) Details 77 false false R78.htm 2468438 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details) Sheet http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails Restructuring Charges - Activity in Restructuring Reserve (Details) Details 78 false false R79.htm 2470439 - Disclosure - Subsequent Events (Details) Sheet http://www.cognex.com/role/SubsequentEventsDetails Subsequent Events (Details) Details http://www.cognex.com/role/SubsequentEvents 79 false false All Reports Book All Reports cgnx-20200628.htm a6282020-10qxexhibit311.htm a6282020-10qxexhibit312.htm a6282020-10qxexhibit321.htm a6282020-10qxexhibit322.htm cgnx-20200628.xsd cgnx-20200628_cal.xml cgnx-20200628_def.xml cgnx-20200628_lab.xml cgnx-20200628_pre.xml http://xbrl.sec.gov/currency/2020-01-31 http://xbrl.sec.gov/country/2020-01-31 http://fasb.org/us-gaap/2020-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/srt/2020-01-31 true true JSON 97 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cgnx-20200628.htm": { "axisCustom": 0, "axisStandard": 22, "contextCount": 216, "dts": { "calculationLink": { "local": [ "cgnx-20200628_cal.xml" ] }, "definitionLink": { "local": [ "cgnx-20200628_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": [ "cgnx-20200628.htm" ] }, "labelLink": { "local": [ "cgnx-20200628_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": [ "cgnx-20200628_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": [ "cgnx-20200628.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/currency/2020/currency-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/deprecated-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" ] } }, "elementCount": 552, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 28, "http://xbrl.sec.gov/dei/2019-01-31": 6, "total": 34 }, "keyCustom": 32, "keyStandard": 378, "memberCustom": 16, "memberStandard": 55, "nsprefix": "cgnx", "nsuri": "http://www.cognex.com/20200628", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "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.cognex.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "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": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101101 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2103102 - Disclosure - New Pronouncements", "role": "http://www.cognex.com/role/NewPronouncements", "shortName": "New Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2104103 - Disclosure - Fair Value Measurements", "role": "http://www.cognex.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2108104 - Disclosure - Cash, Cash Equivalents, and Investments", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestments", "shortName": "Cash, Cash Equivalents, and Investments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116105 - Disclosure - Inventories", "role": "http://www.cognex.com/role/Inventories", "shortName": "Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2120106 - Disclosure - Leases", "role": "http://www.cognex.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2124107 - Disclosure - Goodwill (Notes)", "role": "http://www.cognex.com/role/GoodwillNotes", "shortName": "Goodwill (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2127108 - Disclosure - Intangible Assets", "role": "http://www.cognex.com/role/IntangibleAssets", "shortName": "Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2130109 - Disclosure - Warranty Obligations", "role": "http://www.cognex.com/role/WarrantyObligations", "shortName": "Warranty Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2133110 - Disclosure - Derivative Instruments", "role": "http://www.cognex.com/role/DerivativeInstruments", "shortName": "Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001002 - Statement - Consolidated Statements of Operations", "role": "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "shortName": "Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2140111 - Disclosure - Revenue Recognition", "role": "http://www.cognex.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2147112 - Disclosure - Stock-Based Compensation Expense", "role": "http://www.cognex.com/role/StockBasedCompensationExpense", "shortName": "Stock-Based Compensation Expense", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2154113 - Disclosure - Stock Repurchase Program", "role": "http://www.cognex.com/role/StockRepurchaseProgram", "shortName": "Stock Repurchase Program", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i2d208142e8254dfc8b1d676c24d255de_D20190101-20190630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2156114 - Disclosure - Taxes", "role": "http://www.cognex.com/role/Taxes", "shortName": "Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i2d208142e8254dfc8b1d676c24d255de_D20190101-20190630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2160115 - Disclosure - Weighted-Average Shares", "role": "http://www.cognex.com/role/WeightedAverageShares", "shortName": "Weighted-Average Shares", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2164116 - Disclosure - Restructuring Charges", "role": "http://www.cognex.com/role/RestructuringCharges", "shortName": "Restructuring Charges", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2169117 - Disclosure - Subsequent Events", "role": "http://www.cognex.com/role/SubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2305301 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.cognex.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables", "shortName": "Cash, Cash Equivalents, and Investments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002003 - Statement - Consolidated Statements of Comprehensive Income", "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2317303 - Disclosure - Inventories (Tables)", "role": "http://www.cognex.com/role/InventoriesTables", "shortName": "Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2321304 - Disclosure - Leases (Tables)", "role": "http://www.cognex.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2325305 - Disclosure - Goodwill (Tables)", "role": "http://www.cognex.com/role/GoodwillTables", "shortName": "Goodwill (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2328306 - Disclosure - Intangible Assets (Tables)", "role": "http://www.cognex.com/role/IntangibleAssetsTables", "shortName": "Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2331307 - Disclosure - Warranty Obligations (Tables)", "role": "http://www.cognex.com/role/WarrantyObligationsTables", "shortName": "Warranty Obligations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2334308 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.cognex.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2341309 - Disclosure - Revenue Recognition (Tables)", "role": "http://www.cognex.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2348310 - Disclosure - Stock-Based Compensation Expense (Tables)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseTables", "shortName": "Stock-Based Compensation Expense (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2357311 - Disclosure - Income Taxes (Tables)", "role": "http://www.cognex.com/role/IncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2361312 - Disclosure - Weighted-Average Shares (Tables)", "role": "http://www.cognex.com/role/WeightedAverageSharesTables", "shortName": "Weighted-Average Shares (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R4": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical", "shortName": "Consolidated Statements of Comprehensive Income (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R40": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2365313 - Disclosure - Restructuring Charges (Tables)", "role": "http://www.cognex.com/role/RestructuringChargesTables", "shortName": "Restructuring Charges (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "role": "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "shortName": "Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i9dc01e71d6314fe6884aa8e36895f63e_I20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407402 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.cognex.com/role/FairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "INF", "lang": "en-US", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesGrossRealizedGains", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2414407 - Disclosure - Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails", "shortName": "Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415408 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418409 - Disclosure - Inventories - Schedule of Inventories (Details)", "role": "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails", "shortName": "Inventories - Schedule of Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004005 - Statement - Consolidated Balance Sheets", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "cgnx:ExcessAndObsoleteInventoryCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419410 - Disclosure - Inventories - Narrative (Details)", "role": "http://www.cognex.com/role/InventoriesNarrativeDetails", "shortName": "Inventories - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R51": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422411 - Disclosure - Leases - Narrative (Details)", "role": "http://www.cognex.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OperatingLeaseLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2423412 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "role": "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails", "shortName": "Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426413 - Disclosure - Goodwill (Details)", "role": "http://www.cognex.com/role/GoodwillDetails", "shortName": "Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2429414 - Disclosure - Intangible Assets (Details)", "role": "http://www.cognex.com/role/IntangibleAssetsDetails", "shortName": "Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2432415 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)", "role": "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail", "shortName": "Warranty Obligations - Changes in Warranty Obligations (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i52434fd077654f68a8f6068def6a4808_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2435416 - Disclosure - Derivative Instruments (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i52434fd077654f68a8f6068def6a4808_D20200101-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ie5803dec173141819033849ca19c6690_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2436417 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "shortName": "Derivative Instruments - Outstanding Forward Contracts Table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ie5803dec173141819033849ca19c6690_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2437418 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails", "shortName": "Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i06aa76c6ba1f4c87b3a8d44c4b2e3844_I20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2438419 - Disclosure - Derivative Instruments - Offsetting Assets (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "shortName": "Derivative Instruments - Offsetting Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1005006 - Statement - Consolidated Balance Sheets (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R60": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "id0e2a9c3d94042afb732e0872efdfca6_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2439420 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "shortName": "Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "id0e2a9c3d94042afb732e0872efdfca6_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2442421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Geography (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ie3fd972f5b0b4967bf88d0e4de64b1e5_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2443422 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50380bb827a94448a6ac013d0bc30e84_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2444423 - Disclosure - Revenue Recognition - Additional Information (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails", "shortName": "Revenue Recognition - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2445424 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails", "shortName": "Revenue Recognition - Schedule of Allowance for Credit Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2446425 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails", "shortName": "Revenue Recognition - Deferred Revenue Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2449426 - Disclosure - Stock-Based Compensation Expense (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "shortName": "Stock-Based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2450427 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails", "shortName": "Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2451428 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails", "shortName": "Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i9e0c96315b424e56924808a79a15e591_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2452429 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "shortName": "Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i9e0c96315b424e56924808a79a15e591_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006007 - Statement - Consolidated Statements of Cash Flows", "role": "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:StockOptionPlanExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2453430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails", "shortName": "Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i06a9f689529d44ea9723e6cc0ac766fa_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "if2ca316ec02e481498b0cbcf89252fe1_I20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2455431 - Disclosure - Stock Repurchase Program (Details)", "role": "http://www.cognex.com/role/StockRepurchaseProgramDetails", "shortName": "Stock Repurchase Program (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i979d000c5483415184aa8b9629ee1c46_I20181029", "decimals": "INF", "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2458432 - Disclosure - Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details)", "role": "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails", "shortName": "Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "2", "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2459433 - Disclosure - Income Taxes (Details)", "role": "http://www.cognex.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i65e4f52b3f704a2c82c35ab608d31e1d_D20200101-20200628", "decimals": "-3", "lang": "en-US", "name": "cgnx:IncreaseDecreaseInterestAndPenalties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2462434 - Disclosure - Weighted-Average Shares (Details)", "role": "http://www.cognex.com/role/WeightedAverageSharesDetails", "shortName": "Weighted-Average Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i07bda74078784d8590fefad2ccda6876_D20200330-20200628", "decimals": "INF", "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2463435 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)", "role": "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails", "shortName": "Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ia5dfd58e2cc040f1998dc32f8d8d305f_D20200330-20200628", "decimals": "INF", "lang": "en-US", "name": "us-gaap:WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ic537b61975ca4beba7154e52aeb4ef46_I20200526", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2466436 - Disclosure - Restructuring Charges - Narrative (Details)", "role": "http://www.cognex.com/role/RestructuringChargesNarrativeDetails", "shortName": "Restructuring Charges - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ic537b61975ca4beba7154e52aeb4ef46_I20200526", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ic537b61975ca4beba7154e52aeb4ef46_I20200526", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostExpectedCost1", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2467437 - Disclosure - Restructuring Charges - Summary (Details)", "role": "http://www.cognex.com/role/RestructuringChargesSummaryDetails", "shortName": "Restructuring Charges - Summary (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ife0e92d165ae475ebc3a85b24bcf6df2_I20200526", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostExpectedCost1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2468438 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details)", "role": "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "shortName": "Restructuring Charges - Activity in Restructuring Reserve (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "i50c300c01cad466888f3adcd2745bef7_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "id52911d2174e4651aeb38a8ca2dabb70_D20200729-20200729", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:Dividends", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2470439 - Disclosure - Subsequent Events (Details)", "role": "http://www.cognex.com/role/SubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "id52911d2174e4651aeb38a8ca2dabb70_D20200729-20200729", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:Dividends", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ib8d6fc9c105641509da02b1704c72686_I20181231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1007008 - Statement - Consolidated Statement of Shareholders' Equity", "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "shortName": "Consolidated Statement of Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20200628.htm", "contextRef": "ib8d6fc9c105641509da02b1704c72686_I20181231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R9": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "shortName": "Consolidated Statement of Shareholders' Equity (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null } }, "segmentCount": 72, "tag": { "cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment", "label": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AccruedExpensesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Accrued expenses.", "label": "Accrued Expenses [Member]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccruedExpensesMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "cgnx_AgencyBondsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Agency bond.", "label": "Agency Bonds [Member]", "terseLabel": "Agency Bonds" } } }, "localname": "AgencyBondsMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "cgnx_ApplicationSpecificCustomerSolutionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Application-Specific Customer Solutions [Member]", "label": "Application-Specific Customer Solutions [Member]", "terseLabel": "Application-Specific Customer Solutions" } } }, "localname": "ApplicationSpecificCustomerSolutionsMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_AsiaExcludingChinaMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Asia, Excluding China [Member]", "label": "Asia, Excluding China [Member]", "terseLabel": "Other Asia" } } }, "localname": "AsiaExcludingChinaMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 5.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value", "terseLabel": "4-5 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.", "label": "Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value", "terseLabel": "1-2 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 4.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Available-for-sale securities, debt maturities after third year but before fourth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value", "terseLabel": "3-4 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Available-for-sale securities, debt maturities after second year but before third year, fair value.", "label": "Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value", "terseLabel": "2-3 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cash, cash equivalents, short term and long term investments.", "label": "Cash Cash Equivalents Short Term And Long Term Investments", "totalLabel": "Total" } } }, "localname": "CashCashEquivalentsShortTermAndLongTermInvestments", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_CashflowshedgesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cash flows hedges [Abstract]", "label": "Cash flows hedges [Abstract]", "terseLabel": "Cash flow hedges:" } } }, "localname": "CashflowshedgesAbstract", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "cgnx_CertificateOfDepositFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Certificate Of Deposit, Fair Value Disclosure", "label": "Certificate Of Deposit, Fair Value Disclosure", "terseLabel": "Certificate Of Deposit, Fair Value Disclosure" } } }, "localname": "CertificateOfDepositFairValueDisclosure", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ChiaroTechnologiesLLCMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Chiaro Technologies LLC [Member]", "label": "Chiaro Technologies LLC [Member]", "terseLabel": "Chiaro Technologies LLC [Member]" } } }, "localname": "ChiaroTechnologiesLLCMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Components of cash cash equivalents and investments.", "label": "Components Of Cash Cash Equivalents And Investments [Table Text Block]", "terseLabel": "Components of Cash, Cash Equivalents, and Investments" } } }, "localname": "ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_CurrencytranslationadjustmentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Currency translation adjustments [Abstract]", "label": "Currency translation adjustments [Abstract]", "terseLabel": "Foreign currency translation adjustments:" } } }, "localname": "CurrencytranslationadjustmentsAbstract", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "cgnx_CustomerContractsAndRelationshipsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer Contracts And Relationships [Member]", "label": "Customer Contracts And Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerContractsAndRelationshipsMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Deferred Revenue, Foreign Currency Exchange Adjustment", "label": "Deferred Revenue, Foreign Currency Exchange Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "DeferredRevenueForeignCurrencyExchangeAdjustment", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]", "label": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]", "terseLabel": "Indefinite-lived intangible asset excluding in-process technologies" } } }, "localname": "DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent", "label": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent", "terseLabel": "Effective tax rate excluding discrete items (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "cgnx_EffectiveIncomeTaxRateReconciliationTaxRateAdjustmentsPercent": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Tax Rate Adjustments, Percent", "label": "Effective Income Tax Rate Reconciliation, Tax Rate Adjustments, Percent", "terseLabel": "Tax rate adjustment", "verboseLabel": "Tax rate adjustment (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxRateAdjustmentsPercent", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Employee service share based compensation recognized period costs capitalized amount.", "label": "Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount", "terseLabel": "Recognized period costs capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period to be recognized" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "cgnx_EnShapeGmbHMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "EnShape GmbH", "label": "EnShape GmbH [Member]", "terseLabel": "EnShape GmbH [Member]" } } }, "localname": "EnShapeGmbHMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Estimated forfeiture rate for unvested options for all non-senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For All Non Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for all other employees" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Estimated forfeiture rate for unvested options for senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for senior management" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "cgnx_ExcessAndObsoleteInventoryCharges": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Excess and Obsolete Inventory Charges", "label": "Excess and Obsolete Inventory Charges", "terseLabel": "Excess and obsolete inventory charges" } } }, "localname": "ExcessAndObsoleteInventoryCharges", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/InventoriesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ExpirationPeriodOfStockOptionPlan": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Expiration period of stock option plan.", "label": "Expiration Period Of Stock Option Plan", "terseLabel": "Expiration period from grant day" } } }, "localname": "ExpirationPeriodOfStockOptionPlan", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "cgnx_GViVenturesInc.Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "GVi Ventures, Inc. [Member]", "label": "GVi Ventures, Inc. [Member]", "terseLabel": "GVi Ventures, Inc. [Member]" } } }, "localname": "GViVenturesInc.Member", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "cgnx_GeneralStockOptionPlanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "General stock option plan.", "label": "General Stock Option Plan [Member]", "terseLabel": "General Stock Option Plan" } } }, "localname": "GeneralStockOptionPlanMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The tax year(s) being audited in connection with the income tax examination for other entities.", "label": "Income Tax Examination Years Under Examination Other Entities", "terseLabel": "Tax years open to examination by various taxing authorities for other entities" } } }, "localname": "IncomeTaxExaminationYearsUnderExaminationOtherEntities", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "cgnx_IncreaseDecreaseInterestAndPenalties": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Increase decrease interest and penalties.", "label": "Increase Decrease Interest And Penalties", "terseLabel": "Interest and penalties included in reserve" } } }, "localname": "IncreaseDecreaseInterestAndPenalties", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Increase (decrease) in compensation expense due to revised estimated forfeiture rates.", "label": "Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates", "terseLabel": "Increase (decrease) to compensation expense" } } }, "localname": "IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Lessee, Operating Lease, Liability, Payments, Due Year Six", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Six", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearSix", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 7.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Lessee, Operating Lease, Liability, Payments, Due after Year Six", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Six", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LiabilityForUncertainTaxPositions": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Liability for uncertain tax positions, total.", "label": "Liability For Uncertain Tax Positions", "terseLabel": "Liability for uncertain tax positions" } } }, "localname": "LiabilityForUncertainTaxPositions", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LongTermInvestmentsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Long-term investments.", "label": "Long Term Investments [Member]", "terseLabel": "Long-Term Investments" } } }, "localname": "LongTermInvestmentsMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Maximum decrease in income tax expense due to release in reserves.", "label": "Maximum Decrease In Income Tax Expense Due To Release In Reserves", "terseLabel": "Maximum decrease in income tax expense due to release in reserves" } } }, "localname": "MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Minimum decrease in income tax expense due to release in reserves.", "label": "Minimum Decrease In Income Tax Expense Due To Release In Reserves", "terseLabel": "Minimum decrease in income tax expense due to release in reserves" } } }, "localname": "MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_NumberOfGroupsWithinEmployeePopulation": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of groups within employee population.", "label": "Number Of Groups Within Employee Population", "terseLabel": "Groups within the employee population" } } }, "localname": "NumberOfGroupsWithinEmployeePopulation", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "integerItemType" }, "cgnx_OperatingLeaseRightOfUseAssetCarryingValueOfImpairedAsset": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset", "label": "Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset", "terseLabel": "Carrying value operating lease right-of-use assets impaired" } } }, "localname": "OperatingLeaseRightOfUseAssetCarryingValueOfImpairedAsset", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_OutstandingForwardContractsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Outstanding forward contracts table.", "label": "Outstanding Forward Contracts [Table Text Block]", "terseLabel": "Outstanding Forward Contracts Table" } } }, "localname": "OutstandingForwardContractsTableTextBlock", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_RepurchaseProgramMarch2020Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Repurchase Program March 2020 [Member]", "label": "Repurchase Program March 2020 [Member]", "terseLabel": "Repurchase Program March 2020" } } }, "localname": "RepurchaseProgramMarch2020Member", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "cgnx_RepurchaseProgramOctober2018Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Repurchase Program October 2018 [Member]", "label": "Repurchase Program October 2018 [Member]", "terseLabel": "Repurchase Program October 2018" } } }, "localname": "RepurchaseProgramOctober2018Member", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "cgnx_SellingGeneralAndAdministrativeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Selling, general, and administrative.", "label": "Selling General And Administrative [Member]", "terseLabel": "Selling, General, and Administrative" } } }, "localname": "SellingGeneralAndAdministrativeMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]", "terseLabel": "Aggregate Intrinsic Value (in\u00a0thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value", "terseLabel": "Exercisable, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Share based compensation arrangement by share based payment award options vested fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value", "terseLabel": "Total fair values of stock options vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.", "label": "Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value", "terseLabel": "Total intrinsic value" } } }, "localname": "SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_StandardProductsandServicesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Standard Products and Services [Member]", "label": "Standard Products and Services [Member]", "terseLabel": "Standard Products and Services" } } }, "localname": "StandardProductsandServicesMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Stock Repurchase Program, Aggregate Number of Shares Repurchased", "label": "Stock Repurchase Program, Aggregate Number of Shares Repurchased", "terseLabel": "Share repurchased (in shares)" } } }, "localname": "StockRepurchaseProgramAggregateNumberofSharesRepurchased", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "sharesItemType" }, "cgnx_StockRepurchaseProgramValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Stock Repurchase Program, Value", "label": "Stock Repurchase Program, Value", "terseLabel": "Shares repurchased, value" } } }, "localname": "StockRepurchaseProgramValue", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_SualabMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Sualab", "label": "Sualab [Member]", "terseLabel": "Sualab [Member]" } } }, "localname": "SualabMember", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_TaxyearsopentoexaminationbyInternalRevenueService": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tax years open to examination by Internal Revenue Service", "label": "Tax years open to examination by Internal Revenue Service", "terseLabel": "Tax years open to examination by Internal Revenue Service" } } }, "localname": "TaxyearsopentoexaminationbyInternalRevenueService", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.", "label": "Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets", "terseLabel": "Reserve for income taxes classified an noncurrent deferred tax assets" } } }, "localname": "Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets", "nsuri": "http://www.cognex.com/20200628", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "CHINA", "terseLabel": "Greater China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_CAD": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Canada, Dollars", "terseLabel": "Canada, Dollars" } } }, "localname": "CAD", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_EUR": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Euro Member Countries, Euro", "terseLabel": "Euro Member Countries, Euro" } } }, "localname": "EUR", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_GBP": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "United Kingdom, Pounds", "terseLabel": "United Kingdom, Pounds" } } }, "localname": "GBP", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_HUF": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Hungary, Forint", "terseLabel": "Hungary, Forint" } } }, "localname": "HUF", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_JPY": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Japan, Yen", "terseLabel": "Japanese Yen" } } }, "localname": "JPY", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_KRW": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Korea (South), Won", "terseLabel": "Korean Won" } } }, "localname": "KRW", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_MXN": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Mexico, Pesos", "terseLabel": "Mexico, Pesos" } } }, "localname": "MXN", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_SGD": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Singapore, Dollars", "terseLabel": "Singapore, Dollars" } } }, "localname": "SGD", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_TWD": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Taiwan, New Dollars", "terseLabel": "Taiwanese Dollar" } } }, "localname": "TWD", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.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.cognex.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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r595" ], "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.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r596" ], "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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r597" ], "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.cognex.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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r597" ], "lang": { "en-US": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r597" ], "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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r598" ], "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.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r597" ], "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.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r597" ], "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.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r597" ], "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.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r597" ], "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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r593" ], "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.cognex.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r594" ], "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.cognex.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.cognex.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AmericasMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Americas [Member]", "terseLabel": "Americas" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Currency [Axis]", "terseLabel": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r311", "r313", "r485", "r486", "r487", "r488", "r489", "r490", "r510", "r549", "r552" ], "lang": { "en-US": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r311", "r313", "r485", "r486", "r487", "r488", "r489", "r490", "r510", "r549", "r552" ], "lang": { "en-US": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r152", "r284", "r287", "r511", "r548", "r550" ], "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.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r152", "r284", "r287", "r511", "r548", "r550" ], "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.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r301", "r311", "r313", "r485", "r486", "r487", "r488", "r489", "r490", "r510", "r549", "r552" ], "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.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r301", "r311", "r313", "r485", "r486", "r487", "r488", "r489", "r490", "r510", "r549", "r552" ], "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.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r153", "r154", "r284", "r288", "r551", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590" ], "lang": { "en-US": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r153", "r154", "r284", "r288", "r551", "r582", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r591" ], "lang": { "en-US": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "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_AccountsPayableCurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "auth_ref": [ "r201" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Schedule of Allowance for Credit Loss Activity" } } }, "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r3", "r15", "r157", "r158" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, less reserves of $2,235 and $1,821 in 2020 and 2019, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r90" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "negatedLabel": "Amortization of discounts or premiums on investments" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r11", "r12", "r371", "r522", "r536" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.", "label": "Accrued Income Taxes", "terseLabel": "Non-current accrued income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r11", "r522", "r537" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Accrued income taxes" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r37" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and 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", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r18", "r56", "r58", "r59", "r538", "r560", "r564" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss, net of tax" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r55", "r59", "r62", "r100", "r101", "r102", "r409", "r555", "r556" ], "lang": { "en-US": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r16" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r100", "r101", "r102", "r353", "r354", "r355" ], "lang": { "en-US": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r105", "r106", "r107", "r109", "r187", "r188", "r189", "r190", "r193", "r194", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r357", "r379", "r380", "r381", "r382", "r513", "r514", "r515", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564" ], "lang": { "en-US": { "role": { "documentation": "Information by amendment to accounting standards.", "label": "Accounting Standards Update [Axis]", "terseLabel": "Accounting Standards Update [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r314", "r316", "r360", "r361" ], "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", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "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]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r316", "r345", "r359" ], "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.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r160", "r195", "r197", "r200" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "periodEndLabel": "Balance as of June 28, 2020", "periodStartLabel": "Balance as of December 31, 2019" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r22", "r160", "r195" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Reserves for accounts receivable" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "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": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "auth_ref": [ "r199" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "negatedTerseLabel": "Write-offs" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r89", "r229", "r234" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r128" ], "lang": { "en-US": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive securities excluded from computation of earnings per share (shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r128" ], "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.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r128" ], "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.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetBackedSecuritiesMember": { "auth_ref": [ "r177", "r302" ], "lang": { "en-US": { "role": { "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans.", "label": "Asset-backed Securities [Member]", "terseLabel": "Asset-Backed Securities" } } }, "localname": "AssetBackedSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r96", "r141", "r144", "r150", "r186", "r406", "r410", "r445", "r521", "r535" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r43", "r96", "r186", "r406", "r410", "r445" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r171" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Gross unrealized gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r172" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax", "negatedTerseLabel": "Gross unrealized losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r168", "r206" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Amortized Cost", "totalLabel": "Amortized cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r173", "r175", "r532" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing 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": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "1 year or less" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r165", "r169", "r206", "r524" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale", "terseLabel": "Financial assets at fair value", "totalLabel": "Fair value", "verboseLabel": "Fair value" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "auth_ref": [ "r166", "r206" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 2.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-sale, Current", "terseLabel": "Current investments, amortized cost of $141,874 and $235,610 in 2020 and 2019, respectively, allowance for expected credit losses of $0 in 2020 and 2019" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": { "auth_ref": [ "r166", "r206" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-sale, Noncurrent", "terseLabel": "Long-term investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedGains": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "This item represents the gross profit realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Gross Realized Gains", "terseLabel": "Gross realized gains on sale of investments" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedGains", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the gross loss realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Gross Realized Losses", "terseLabel": "Gross realized losses on sale of investments" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedLosses", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r317", "r347" ], "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.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r420", "r424" ], "lang": { "en-US": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r310", "r312" ], "lang": { "en-US": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r310", "r312", "r394", "r395" ], "lang": { "en-US": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r88", "r403" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Revaluation of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow": { "auth_ref": [ "r402" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low", "terseLabel": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r399", "r400", "r401" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Contingent consideration liabilities" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "auth_ref": [ "r396" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Intangible assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostGross": { "auth_ref": [ "r222" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Gross", "terseLabel": "Costs to fulfill contract" } } }, "localname": "CapitalizedContractCostGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r32", "r565", "r566" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "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. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash and Cash Equivalents [Abstract]" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r1", "r32", "r91" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 1.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "totalLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "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.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r8", "r92", "r94" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash, Cash Equivalents, and Investments" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r86", "r91", "r93" ], "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 and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r86", "r452" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "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 change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CertificatesOfDepositMember": { "auth_ref": [ "r534" ], "lang": { "en-US": { "role": { "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured.", "label": "Certificates of Deposit [Member]", "terseLabel": "Certificate of deposit" } } }, "localname": "CertificatesOfDepositMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfTreasuryStockTable": { "auth_ref": [ "r268", "r269", "r270", "r271" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "Class of Treasury Stock [Table]", "terseLabel": "Class of Treasury Stock [Table]" } } }, "localname": "ClassOfTreasuryStockTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r267" ], "lang": { "en-US": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Cash dividends per common share (usd per share)" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r100", "r101" ], "lang": { "en-US": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r14" ], "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" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r14" ], "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" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r14" ], "lang": { "en-US": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "Ending Balance (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValueOutstanding": { "auth_ref": [ "r14" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.", "label": "Common Stock, Value, Outstanding", "terseLabel": "Common stock, $.002 par value \u2013 Authorized: 300,000 shares in 2020 and 2019, respectively, issued and outstanding: 173,047 and 172,440 shares in 2020 and 2019, respectively" } } }, "localname": "CommonStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationRelatedCostsGeneralTextBlock": { "auth_ref": [ "r299", "r300" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.", "label": "Compensation Related Costs, General [Text Block]", "terseLabel": "Stock-Based Compensation Expense" } } }, "localname": "CompensationRelatedCostsGeneralTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpense" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r65", "r67", "r68", "r71", "r527", "r545" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income, net of tax:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ContractTerminationMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Contract Termination [Member]", "terseLabel": "Contract termination costs", "verboseLabel": "Contract Termination Costs" } } }, "localname": "ContractTerminationMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r273", "r274", "r285" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.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 and customer deposits" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "terseLabel": "Corporate Bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r75", "r511" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsTotalMember": { "auth_ref": [ "r137" ], "lang": { "en-US": { "role": { "documentation": "Cost of product sold and service rendered, when it serves as benchmark in concentration of risk calculation.", "label": "Cost of Goods and Service Benchmark [Member]", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfGoodsTotalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": { "auth_ref": [ "r170", "r206", "r214", "r217" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss", "periodEndLabel": "Balance as of June 28, 2020", "periodStartLabel": "Balance as of December 31, 2019" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossRecovery": { "auth_ref": [ "r216" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), from recovery.", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss, Recovery", "negatedLabel": "Decreases to the allowance for credit losses", "terseLabel": "Gross recoveries" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossRecovery", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossRollForward": { "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": "Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossTableTextBlock": { "auth_ref": [ "r218" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Schedule of Allowance for Credit Loss Activity" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff": { "auth_ref": [ "r215" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of writeoff of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss, Writeoff", "terseLabel": "Write-offs" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleChangeInPresentValueExpenseReversal": { "auth_ref": [ "r207", "r213" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), from change in present value of expected cash flows.", "label": "Debt Securities, Available-for-sale, Change in Present Value, Expense (Reversal)", "terseLabel": "Increases to the allowance for credit losses", "verboseLabel": "Gross credit losses recorded" } } }, "localname": "DebtSecuritiesAvailableForSaleChangeInPresentValueExpenseReversal", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": { "auth_ref": [ "r182", "r211", "r219" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer", "terseLabel": "Fair value, 12 months or greater" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "auth_ref": [ "r182", "r211" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "negatedLabel": "Unrealized losses, 12 months or greater" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": { "auth_ref": [ "r182", "r211", "r219" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months", "terseLabel": "Fair value, less than 12 months" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "auth_ref": [ "r182", "r211" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "negatedLabel": "Unrealized losses, less than 12 months" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": { "auth_ref": [ "r179", "r208", "r219" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss.", "label": "Debt Securities, Available-for-sale, Unrealized Loss Position", "totalLabel": "Total fair value" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": { "auth_ref": [ "r180", "r209" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Unrealized Loss Position, Accumulated Loss", "totalLabel": "Total unrealized losses" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r364", "r365" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r364", "r365" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [ "r23" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Deferred Revenue", "periodEndLabel": "Balance as of June 28, 2020", "periodStartLabel": "Balance as of December 31, 2019" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueAdditions": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.", "label": "Deferred Revenue, Additions", "terseLabel": "Increases to deferred revenue and customer deposits" } } }, "localname": "DeferredRevenueAdditions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": { "auth_ref": [ "r6" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.", "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]", "terseLabel": "Deferred Revenue, by Arrangement, Disclosure" } } }, "localname": "DeferredRevenueByArrangementDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "negatedTerseLabel": "Recognition of revenue" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments": { "auth_ref": [ "r376", "r377" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from severance costs.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Severance Payments", "terseLabel": "Credits related to grants cancelled" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r89", "r239" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 21.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", "terseLabel": "Depreciation of property, plant, and equipment" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset": { "auth_ref": [ "r45", "r412" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DerivativeAssets", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.", "label": "Derivative Asset, Collateral, Obligation to Return Cash, Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeAssetCollateralObligationToReturnCashOffset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetNotionalAmount": { "auth_ref": [ "r414", "r415", "r417" ], "lang": { "en-US": { "role": { "documentation": "Nominal or face amount used to calculate payments on the derivative asset.", "label": "Derivative Asset, Notional Amount", "terseLabel": "Outstanding forward contracts" } } }, "localname": "DerivativeAssetNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r46", "r49", "r444" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Asset", "terseLabel": "Derivative asset", "totalLabel": "Net amount of assets presented" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "auth_ref": [ "r44", "r50", "r423", "r492" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DerivativeAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.", "label": "Derivative Asset, Fair Value, Gross Asset", "verboseLabel": "Gross amounts of recognized assets" } } }, "localname": "DerivativeFairValueOfDerivativeAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeLiability": { "auth_ref": [ "r44", "r50", "r423", "r492" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.", "label": "Derivative Liability, Fair Value, Gross Liability", "verboseLabel": "Gross amounts of recognized liabilities" } } }, "localname": "DerivativeFairValueOfDerivativeLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r422" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "Derivative, Gain (Loss) on Derivative, Net", "terseLabel": "Gains (losses) recognized in current operations" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r434" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Line Items]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about derivatives and hedging activities.", "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r418", "r421", "r426", "r428", "r429", "r432", "r433" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table]", "terseLabel": "Derivative Instruments, Gain (Loss) [Table]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments, Gain (Loss) [Line Items]", "terseLabel": "Derivative Instruments, Gain (Loss) [Line Items]" } } }, "localname": "DerivativeInstrumentsGainLossLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r46", "r49", "r444" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Liability", "terseLabel": "Derivative liability", "totalLabel": "Net amount of liabilities presented" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset": { "auth_ref": [ "r45", "r412" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.", "label": "Derivative Liability, Collateral, Right to Reclaim Cash, Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeLiabilityCollateralRightToReclaimCashOffset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r413", "r416", "r417", "r418", "r419", "r425", "r426", "r430", "r431", "r433" ], "lang": { "en-US": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativesFairValueLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivatives, Fair Value [Line Items]", "terseLabel": "Derivatives, Fair Value [Line Items]" } } }, "localname": "DerivativesFairValueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r398" ], "lang": { "en-US": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Completed technologies" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "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.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r284", "r287", "r288", "r289", "r290", "r291", "r292", "r293" ], "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.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "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_DistributionRightsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Legal rights, generally of a limited duration, to distribute a product or products, often within specific geographic areas or supply channels.", "label": "Distribution Rights [Member]", "terseLabel": "Distribution networks" } } }, "localname": "DistributionRightsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Dividends": { "auth_ref": [ "r267", "r533" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.", "label": "Dividends", "terseLabel": "Dividends (in dollars per share)" } } }, "localname": "Dividends", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DividendsCash": { "auth_ref": [ "r267", "r533" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.", "label": "Dividends, Cash", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "DividendsCash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]", "terseLabel": "Domestic Tax Authority" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "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_EarningsPerShareDiluted": { "auth_ref": [ "r72", "r110", "r111", "r112", "r113", "r114", "r123", "r125", "r126", "r127", "r132", "r133", "r528", "r546" ], "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": "Diluted (usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Net income (loss) per weighted-average common and common-equivalent share:" } } }, "localname": "EarningsPerShareDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r128", "r130", "r131", "r134" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Weighted-Average Shares" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageShares" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r452" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r367" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-US": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "totalLabel": "Income tax expense" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r367", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Income tax expense (benefit) at U.S. federal statutory corporate tax rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": { "auth_ref": [ "r367", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.", "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent", "negatedTerseLabel": "Discrete tax expense related to tax return filings", "terseLabel": "Discrete tax expense related to tax return filings (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r367", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "negatedLabel": "Decrease in effective tax rate", "terseLabel": "Foreign tax rate differential" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "auth_ref": [ "r367", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "terseLabel": "Other" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": { "auth_ref": [ "r362", "r367" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent", "negatedTerseLabel": "Discrete tax benefit related to stock options", "terseLabel": "Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r367", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State income taxes, net of federal benefit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": { "auth_ref": [ "r367", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent", "negatedTerseLabel": "Tax credit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "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 Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r346" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r345" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Expense, Tax Benefit", "terseLabel": "Tax benefit from compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r343" ], "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]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue from External Customer [Line Items]", "terseLabel": "Revenue from External Customer [Line Items]" } } }, "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "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_EquityClassOfTreasuryStockLineItems": { "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": "Equity, Class of Treasury Stock [Line Items]", "terseLabel": "Equity, Class of Treasury Stock [Line Items]" } } }, "localname": "EquityClassOfTreasuryStockLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r100", "r101", "r102", "r106", "r115", "r117", "r136", "r190", "r266", "r267", "r353", "r354", "r355", "r381", "r382", "r453", "r454", "r455", "r456", "r457", "r459", "r555", "r556", "r557" ], "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.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "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.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r435", "r436", "r437", "r442" ], "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, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r436", "r482", "r483", "r484" ], "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.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r435", "r436", "r438", "r439", "r443" ], "lang": { "en-US": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.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_FairValueDisclosuresTextBlock": { "auth_ref": [ "r441" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r302", "r303", "r308", "r309", "r436", "r482" ], "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": "Quoted Prices in Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r302", "r303", "r308", "r309", "r436", "r483" ], "lang": { "en-US": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Significant Other Observable Inputs (Level 2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r436", "r484" ], "lang": { "en-US": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Fair Value, Inputs, Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r440", "r442" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r440" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "terseLabel": "Business Combination, Contingent Consideration, Liability" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r482", "r483", "r484" ], "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 Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r441", "r443" ], "lang": { "en-US": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Measurements, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "auth_ref": [ "r420", "r425", "r432" ], "lang": { "en-US": { "role": { "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.", "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "terseLabel": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]" } } }, "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r177", "r178", "r196", "r201", "r202", "r203", "r204", "r210", "r212", "r218", "r219", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509" ], "lang": { "en-US": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]", "terseLabel": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery": { "auth_ref": [ "r201", "r205" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after recovery, of writeoff of financing receivable, charged against allowance for credit loss.", "label": "Financing Receivable, Allowance for Credit Loss, Writeoff, after Recovery", "terseLabel": "Credit loss on investments" } } }, "localname": "FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r233" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 7.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "verboseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r235" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "verboseLabel": "Remainder of fiscal 2020" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r235" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r235" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r235" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r235" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r230", "r231", "r233", "r236", "r512", "r519" ], "lang": { "en-US": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r233", "r519" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r230", "r232" ], "lang": { "en-US": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r233", "r512" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net", "totalLabel": "Net Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCountryMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.", "label": "Foreign Tax Authority [Member]", "terseLabel": "Foreign Tax Authority" } } }, "localname": "ForeignCountryMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.", "label": "Foreign Currency Contract, Asset, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractAssetFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyGainLossMember": { "auth_ref": [ "r427" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing foreign currency gain (loss).", "label": "Foreign Currency Gain (Loss) [Member]", "terseLabel": "Foreign Currency Gain (Loss)" } } }, "localname": "ForeignCurrencyGainLossMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r446", "r448", "r449", "r451" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign currency gain (loss)" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfInvestments": { "auth_ref": [ "r89" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.", "label": "Gain (Loss) on Sale of Investments", "negatedLabel": "Realized gain on sale of investments" } } }, "localname": "GainLossOnSaleOfInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r223", "r224", "r520" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Balance as of December 31, 2019", "periodStartLabel": "Balance as of December 31, 2019", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillDisclosureTextBlock": { "auth_ref": [ "r228" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for goodwill.", "label": "Goodwill Disclosure [Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r225" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillRollForward": { "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": "Goodwill [Roll Forward]", "terseLabel": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r74", "r96", "r141", "r143", "r146", "r149", "r151", "r186", "r445" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross margin" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r418", "r429" ], "lang": { "en-US": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r418" ], "lang": { "en-US": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": { "auth_ref": [ "r89", "r237" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 5.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.", "label": "Impairment of Intangible Assets (Excluding Goodwill)", "terseLabel": "Intangible asset impairment charges (Note 8)", "verboseLabel": "Intangible asset impairment charges" } } }, "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InProcessResearchAndDevelopmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.", "label": "In Process Research and Development [Member]", "terseLabel": "In-process technologies" } } }, "localname": "InProcessResearchAndDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r98", "r141", "r143", "r146", "r149", "r151" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "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 tax expense (benefit)" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": { "auth_ref": [ "r69", "r72", "r105", "r110", "r111", "r112", "r113", "r123", "r125", "r126", "r127", "r528", "r542", "r544", "r546" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) derived from continuing operations during 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": "Income (Loss) from Continuing Operations, Per Diluted Share", "terseLabel": "Basic (usd per share)" } } }, "localname": "IncomeLossFromContinuingOperationsPerDilutedShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "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": [ "r241" ], "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.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "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.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r370" ], "lang": { "en-US": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]", "terseLabel": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityNameAxis": { "auth_ref": [ "r370" ], "lang": { "en-US": { "role": { "documentation": "Information by name of taxing authority.", "label": "Income Tax Authority, Name [Axis]", "terseLabel": "Income Tax Authority, Name [Axis]" } } }, "localname": "IncomeTaxAuthorityNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority, Name [Domain]", "terseLabel": "Income Tax Authority, Name [Domain]" } } }, "localname": "IncomeTaxAuthorityNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxContingencyLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Income Tax Contingency [Line Items]", "terseLabel": "Income Tax Contingency [Line Items]" } } }, "localname": "IncomeTaxContingencyLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxContingencyTable": { "auth_ref": [ "r371", "r372", "r374", "r378" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.", "label": "Income Tax Contingency [Table]", "terseLabel": "Income Tax Contingency [Table]" } } }, "localname": "IncomeTaxContingencyTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r368", "r373", "r375", "r386", "r389", "r391", "r392", "r393" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/Taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear": { "auth_ref": [ "r372" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount the liability recorded for the income tax examination increased or decreased in the current year/accounting period.", "label": "Income Tax Examination, Increase (Decrease) in Liability from Prior Year", "terseLabel": "Increase in reserves for income taxes, net of deferred tax benefit" } } }, "localname": "IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r97", "r116", "r117", "r140", "r366", "r387", "r390", "r547" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense (benefit)" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 14.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", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 8.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", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "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 expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.", "label": "Increase (Decrease) in Accrued Taxes Payable", "terseLabel": "Accrued income taxes" } } }, "localname": "IncreaseDecreaseInAccruedTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 10.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", "terseLabel": "Unbilled revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.", "label": "Increase (Decrease) in Deferred Income Taxes", "negatedLabel": "Change in deferred income taxes" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 20.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Deferred Revenue", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 19.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedTerseLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "negatedTerseLabel": "Other" } } }, "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 16.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", "negatedTerseLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r238" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_InterestReceivable": { "auth_ref": [ "r42" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.", "label": "Interest Receivable", "terseLabel": "Accrued interest receivable" } } }, "localname": "InterestReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r221" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/Inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r24", "r220" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r2", "r41" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories", "totalLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r26", "r220" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r25", "r220" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeNonoperating": { "auth_ref": [ "r77" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.", "label": "Investment Income, Nonoperating", "terseLabel": "Investment income" } } }, "localname": "InvestmentIncomeNonoperating", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTypeAxis": { "auth_ref": [ "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581" ], "lang": { "en-US": { "role": { "documentation": "Information by type of investments.", "label": "Investment Type [Axis]", "terseLabel": "Investment Type [Axis]" } } }, "localname": "InvestmentTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InvestmentTypeCategorizationMember": { "auth_ref": [ "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581" ], "lang": { "en-US": { "role": { "documentation": "Asset obtained to generate income or appreciate in value.", "label": "Investments [Domain]", "terseLabel": "Investments [Domain]" } } }, "localname": "InvestmentTypeCategorizationMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "terseLabel": "Effective Maturity Dates of Available-for-Sale Investments" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.", "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]", "terseLabel": "Cash, Cash Equivalents, and Investments" } } }, "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestments" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r469", "r471" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "terseLabel": "Lease, cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r470" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Lessee, Operating Lease, Liability, Maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r470" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r470" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r470" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 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": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r470" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 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": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r470" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 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": "2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r470" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 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": "Remainder of fiscal 2019" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r472" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock": { "auth_ref": [ "r474" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received by lessor on annual basis for operating lease.", "label": "Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity [Table Text Block]", "terseLabel": "Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity [Table Text Block]" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r36", "r96", "r145", "r186", "r407", "r410", "r411", "r445" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r21", "r96", "r186", "r445", "r523", "r540" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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 shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r38", "r96", "r186", "r407", "r410", "r411", "r445" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueAdjustment": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of addition (reduction) to the amount at which a liability could be incurred (settled) in a current transaction between willing parties.", "label": "Liabilities, Fair Value Adjustment", "terseLabel": "Fair value adjustment" } } }, "localname": "LiabilitiesFairValueAdjustment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.", "label": "Liability for Uncertainty in Income Taxes, Noncurrent", "terseLabel": "Reserve for income taxes", "verboseLabel": "Reserve for income taxes classified as a noncurrent iability" } } }, "localname": "LiabilityForUncertainTaxPositionsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermInvestments": { "auth_ref": [ "r33" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 3.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).", "label": "Long-term Investments", "terseLabel": "Non-current investments, amortized cost of $461,948 and $431,633 in 2020 and 2019, respectively, allowance for expected credit losses of $75 and $0 in 2020 and 2019, respectively" } } }, "localname": "LongTermInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Maximum Remaining Maturity of Foreign Currency Derivatives", "terseLabel": "Remaining maturity of foreign currency derivatives (up to)" } } }, "localname": "MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money Market Funds, at Carrying Value", "terseLabel": "Money market instruments" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MovementInDeferredRevenueRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Deferred Revenue [Roll Forward]", "terseLabel": "Movement in Deferred Revenue [Roll Forward]" } } }, "localname": "MovementInDeferredRevenueRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInStandardProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_MunicipalBondsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Long-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.", "label": "Municipal Bonds [Member]", "terseLabel": "Municipal Bonds" } } }, "localname": "MunicipalBondsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r86" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "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.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r86" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "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 provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r86", "r87", "r90" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "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 provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r0", "r63", "r66", "r70", "r90", "r96", "r105", "r110", "r111", "r112", "r113", "r116", "r117", "r124", "r141", "r143", "r146", "r149", "r151", "r186", "r445", "r526", "r543" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "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", "terseLabel": "Net income", "totalLabel": "Net Income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r103", "r104", "r107", "r108", "r118", "r119", "r120", "r191", "r192", "r294", "r295", "r296", "r297", "r356", "r383", "r384", "r385", "r516", "r517", "r518", "r559", "r560", "r561", "r562", "r564" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.", "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/NewPronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r418" ], "lang": { "en-US": { "role": { "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Not Designated as Hedging Instrument [Member]", "terseLabel": "Not Designated as Hedging Instrument" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OffsettingAssetsTableTextBlock": { "auth_ref": [ "r47", "r48" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.", "label": "Offsetting Assets [Table Text Block]", "terseLabel": "Offsetting Assets" } } }, "localname": "OffsettingAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OneTimeTerminationBenefitsMember": { "auth_ref": [ "r242" ], "lang": { "en-US": { "role": { "documentation": "A lump sum payment to an involuntarily terminated employee in conjunction with exit or disposal activities.", "label": "One-time Termination Benefits [Member]", "terseLabel": "One-time termination benefits", "verboseLabel": "One-time Termination Benefits" } } }, "localname": "OneTimeTerminationBenefitsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r141", "r143", "r146", "r149", "r151" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "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": "Operating income (loss)" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r465", "r471" ], "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.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseImpairmentLoss": { "auth_ref": [ "r461" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of loss from impairment of right-of-use asset from operating lease.", "label": "Operating Lease, Impairment Loss", "terseLabel": "Operating lease asset impairment charges" } } }, "localname": "OperatingLeaseImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLeaseIncome": { "auth_ref": [ "r135", "r473", "r475" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of operating lease income from lease payments and variable lease payments paid and payable to lessor. Includes, but is not limited to, variable lease payments not included in measurement of lease receivable.", "label": "Operating Lease, Lease Income", "terseLabel": "Rental income" } } }, "localname": "OperatingLeaseLeaseIncome", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r463" ], "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": "Operating Lease, Liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r463" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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 operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities", "verboseLabel": "Operating lease, liability, current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r463" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating Lease, Liability, Noncurrent", "verboseLabel": "Operating lease, liability, noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r464", "r466" ], "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 lease, payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r462" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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": "Operating lease assets", "verboseLabel": "Operating lease, right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r468", "r471" ], "lang": { "en-US": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r467", "r471" ], "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" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "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_OtherAssetsNoncurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r404", "r405", "r408" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "totalLabel": "Net change related to available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax": { "auth_ref": [ "r51", "r57", "r447", "r450", "r458" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of tax expense (benefit), before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "OCI, Foreign Currency Transaction and Translation Gain (Loss), Arising During Period, Tax", "terseLabel": "Tax effect of foreign currency translation adjustment" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax": { "auth_ref": [ "r52", "r57" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax", "terseLabel": "Tax effect on cash flow hedges" } } }, "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r51" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustment", "verboseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Available-for-sale investments:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r64", "r67", "r404", "r405", "r408" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive income, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r56", "r60", "r61", "r185" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "negatedLabel": "Reclassification of net realized (gain) loss into current operations", "negatedTerseLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r53", "r56" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Net unrealized gain (loss), net of tax of ($836) and $239 in the three-month periods and net of tax of ($1,788) and $507 in the six-month periods, respectively", "verboseLabel": "Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82)" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": { "auth_ref": [ "r54", "r57" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax", "terseLabel": "Tax effect of unrealized gain (loss) on available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsMember": { "auth_ref": [ "r420", "r432" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other current assets.", "label": "Other Current Assets [Member]", "terseLabel": "Other Current Assets" } } }, "localname": "OtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.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", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r78" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 4.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 income (expense)" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other Nonoperating Income (Expense) [Member]", "terseLabel": "Other Income (Expense)" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherRestructuringMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Restructuring and related activities classified as other.", "label": "Other Restructuring [Member]", "terseLabel": "Other associated costs", "verboseLabel": "Other Associated Costs" } } }, "localname": "OtherRestructuringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale": { "auth_ref": [ "r167" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 3.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of other-than-temporary impairment (OTTI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), recognized in earnings and other comprehensive loss (OCI).", "label": "Other-than-temporary Impairment Loss, Debt Securities, Available-for-sale", "negatedLabel": "Reclassification of credit (recovery) loss on investments", "negatedTerseLabel": "Reclassification of credit loss on investments", "terseLabel": "Reclassification of credit loss on investments" } } }, "localname": "OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r84" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "Payment for Contingent Consideration Liability, Financing Activities", "negatedTerseLabel": "Payment of contingent consideration", "terseLabel": "Payment of contingent consideration" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r83" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchase of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRestructuring": { "auth_ref": [ "r85", "r245" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.", "label": "Payments for Restructuring", "negatedTerseLabel": "Cash payments" } } }, "localname": "PaymentsForRestructuring", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r83" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireInvestments": { "auth_ref": [ "r81" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.", "label": "Payments to Acquire Investments", "negatedLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r80" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets 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": "Purchases of property, plant, and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "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" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r317", "r347" ], "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.cognex.com/role/StockBasedCompensationExpenseDetails" ], "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.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockValueOutstanding": { "auth_ref": [ "r13" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by shareholders, which is net of related treasury stock. May be all or a portion of the number of preferred shares authorized. These shares represent the ownership interest of the preferred shareholders.", "label": "Preferred Stock, Value, Outstanding", "terseLabel": "Preferred Stock, Value, Outstanding" } } }, "localname": "PreferredStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r4", "r30", "r31" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.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", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.", "label": "Prepaid Expenses and Other Current Assets [Member]", "terseLabel": "Prepaid Expenses and Other Current Assets" } } }, "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r82", "r348" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds, Issuance of Shares, Share-based Payment Arrangement, Including Option Exercised", "terseLabel": "Issuance of common stock under stock plans" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.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": "Maturities and sales of investments" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Product Warranties Disclosures [Abstract]", "terseLabel": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r262", "r263", "r525" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r260" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Fulfillment of warranty obligations" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r261" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "verboseLabel": "Provisions for warranties issued during the period" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r265" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Warranty Obligations" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r9", "r10", "r240", "r541" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, plant, and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r73", "r198" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Increases to the allowance for credit losses", "verboseLabel": "Credit losses on accounts receivable" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails", "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesPolicyTextBlock": { "auth_ref": [ "r94", "r159", "r162", "r163", "r164" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.", "label": "Receivable [Policy Text Block]", "terseLabel": "Accounts Receivable" } } }, "localname": "ReceivablesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r363", "r592" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research, development, and engineering expenses" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "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]", "terseLabel": "Research, Development, and Engineering Expenses" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r128" ], "lang": { "en-US": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]", "terseLabel": "Restricted Stock" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "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": "Restricted Stock Units (RSUs)" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restructuring and Related Activities [Abstract]" } } }, "localname": "RestructuringAndRelatedActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "auth_ref": [ "r259" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.", "label": "Restructuring and Related Activities Disclosure [Text Block]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringCharges" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestructuringAndRelatedCostExpectedCost1": { "auth_ref": [ "r244", "r247", "r254", "r258" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount expected to be recognized in earnings for the specified restructuring cost.", "label": "Restructuring and Related Cost, Expected Cost", "terseLabel": "Total Amount Expected to be Incurred" } } }, "localname": "RestructuringAndRelatedCostExpectedCost1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesNarrativeDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringAndRelatedCostExpectedNumberOfPositionsEliminated": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The expected number of positions to be eliminated as a result of restructuring activities.", "label": "Restructuring and Related Cost, Expected Number of Positions Eliminated", "terseLabel": "Expected number of positions eliminated" } } }, "localname": "RestructuringAndRelatedCostExpectedNumberOfPositionsEliminated", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "integerItemType" }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of the total number of positions eliminated as of the balance sheet date since inception of the restructuring plan(s).", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Inception to Date Percent", "terseLabel": "Workforce reduction (as a percent)" } } }, "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RestructuringCharges": { "auth_ref": [ "r89", "r243", "r250", "r256" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.", "label": "Restructuring Charges", "netLabel": "Restructuring charges", "terseLabel": "Restructuring charges (Note 16)", "verboseLabel": "Incurred in the Three-months Ended June 28, 2020" } } }, "localname": "RestructuringCharges", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringChargesMember": { "auth_ref": [ "r246", "r250", "r257" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption in which the reported facts about restructuring charges have been included.", "label": "Restructuring Charges [Member]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringChargesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of restructuring cost.", "label": "Restructuring Type [Axis]", "terseLabel": "Restructuring Type [Axis]" } } }, "localname": "RestructuringCostAndReserveAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringCostAndReserveLineItems": { "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": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring Cost and Reserve [Line Items]" } } }, "localname": "RestructuringCostAndReserveLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserve": { "auth_ref": [ "r245", "r252" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.", "label": "Restructuring Reserve", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "RestructuringReserve", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringReserveRollForward": { "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": "Restructuring Reserve [Roll Forward]", "terseLabel": "Restructuring Reserve [Roll Forward]" } } }, "localname": "RestructuringReserveRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserveSettledWithoutCash2": { "auth_ref": [ "r243", "r251" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in the reserve for full or partial settlement through consideration other than cash.", "label": "Restructuring Reserve, Settled without Cash", "negatedTerseLabel": "Non-cash restructuring charges" } } }, "localname": "RestructuringReserveSettledWithoutCash2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringReserveTranslationAdjustment": { "auth_ref": [ "r245", "r255" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the restructuring reserve.", "label": "Restructuring Reserve, Foreign Currency Translation Gain (Loss)", "negatedTerseLabel": "Foreign exchange rate changes" } } }, "localname": "RestructuringReserveTranslationAdjustment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r17", "r267", "r357", "r539", "r559", "r564" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r100", "r101", "r102", "r106", "r115", "r117", "r190", "r353", "r354", "r355", "r381", "r382", "r555", "r557" ], "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueCommissionersIrelandMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax department of the government of Ireland.", "label": "Revenue Commissioners, Ireland [Member]", "terseLabel": "Revenue Commissioners, Ireland" } } }, "localname": "RevenueCommissionersIrelandMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "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": [ "r138", "r139", "r142", "r147", "r148", "r152", "r153", "r156", "r283", "r284", "r511" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "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": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r286", "r298" ], "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.cognex.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r155" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Revenue from External Customers by Geographic Areas" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Securities, Available-for-sale [Line Items]", "terseLabel": "Debt Securities, Available-for-sale [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.", "label": "Schedule of Available-for-sale Securities Reconciliation [Table Text Block]", "terseLabel": "Summary of Available-for-Sale Investments" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": { "auth_ref": [ "r174", "r176", "r181", "r182", "r183", "r184", "r530", "r531" ], "lang": { "en-US": { "role": { "documentation": "Schedule of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.", "label": "Schedule of Available-for-sale Securities [Table]", "terseLabel": "Schedule of Available-for-sale Securities [Table]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "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.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r421", "r426", "r429" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Derivative Instruments, Gain (Loss)" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": { "auth_ref": [ "r425" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.", "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value" } } }, "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r367" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r316", "r344", "r359" ], "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", "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r316", "r344", "r359" ], "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 Employee Service Share-based Compensation, Allocation of Recognized Period Costs" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": { "auth_ref": [ "r152" ], "lang": { "en-US": { "role": { "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table]", "terseLabel": "Revenue from External Customers by Products and Services [Table]" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "auth_ref": [ "r152" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "terseLabel": "Revenue from External Customers by Products and Services" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r435", "r436" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, 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": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Assets and Liabilities Measured at Fair Value on a Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r230", "r232", "r512" ], "lang": { "en-US": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r230", "r232" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r226", "r227" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r7", "r27", "r28", "r29" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventories" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [ "r328" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.", "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of Nonvested Restricted Stock Units Activity" } } }, "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r264" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Changes in Warranty Obligations" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r248", "r249", "r253" ], "lang": { "en-US": { "role": { "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.", "label": "Schedule of Restructuring and Related Costs [Table]", "terseLabel": "Schedule of Restructuring and Related Costs [Table]" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "auth_ref": [ "r248", "r249", "r253" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.", "label": "Restructuring and Related Costs [Table Text Block]", "terseLabel": "Schedule of Restructuring Charges" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "auth_ref": [ "r245", "r255" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "terseLabel": "Schedule of Activity in Restructuring Reserve" } } }, "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r317", "r347" ], "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.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r320", "r333", "r335" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Summary of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r338" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock": { "auth_ref": [ "r181" ], "lang": { "en-US": { "role": { "documentation": "For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).", "label": "Schedule of Unrealized Loss on Investments [Table Text Block]", "terseLabel": "Gross Unrealized Losses and Fair Values for Available-for-Sale Investments" } } }, "localname": "ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r129" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Calculation of Weighted-Average Shares" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r232" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Intangible Assets, Future Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r76" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "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 expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r318" ], "lang": { "en-US": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period for stock option plans" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r326" ], "lang": { "en-US": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedTerseLabel": "Forfeited or expired (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r332" ], "lang": { "en-US": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited or expired (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r330" ], "lang": { "en-US": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r330" ], "lang": { "en-US": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r329" ], "lang": { "en-US": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Nonvested as of March 29, 2020 (in shares)", "periodStartLabel": "Nonvested as of December 31, 2019 (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares (in thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r329" ], "lang": { "en-US": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Nonvested as of March 29, 2020 (in dollars per share)", "periodStartLabel": "Nonvested as of December 31, 2019 (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted-Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r331" ], "lang": { "en-US": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "terseLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r331" ], "lang": { "en-US": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r341" ], "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.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r340" ], "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" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r342" ], "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 rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "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]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r347" ], "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": "Shares available for grant under stock option plans" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Weighted- Average Remaining Contractual Term\u00a0(in\u00a0years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r323" ], "lang": { "en-US": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r323" ], "lang": { "en-US": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "auth_ref": [ "r327" ], "lang": { "en-US": { "role": { "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period", "negatedLabel": "Forfeited or expired, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r327" ], "lang": { "en-US": { "role": { "documentation": "Weighted average price of options that were either forfeited or expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price", "terseLabel": "Forfeited or expired, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": { "auth_ref": [ "r324" ], "lang": { "en-US": { "role": { "documentation": "Net 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, Net of Forfeitures", "terseLabel": "Granted, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r334" ], "lang": { "en-US": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average grant-date fair values, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r347" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Outstanding, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r322", "r347" ], "lang": { "en-US": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding, shares", "periodStartLabel": "Outstanding, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Shares (in\u00a0thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r321" ], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding, shares", "periodStartLabel": "Outstanding, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted- Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "auth_ref": [ "r337" ], "lang": { "en-US": { "role": { "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "terseLabel": "Options vested or expected to vest as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r335" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Options vested or expected to vest, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r336" ], "lang": { "en-US": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Weighted- Average Remaining Contractual Term\u00a0(in\u00a0years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r347" ], "lang": { "en-US": { "role": { "documentation": "Number of shares issued under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period", "terseLabel": "Issuance of common stock under stock plans (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r315", "r319" ], "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.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Exercised, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r339", "r358" ], "lang": { "en-US": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r347" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r336" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r336" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options vested or expected to vest, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShortTermInvestmentsMember": { "auth_ref": [ "r578", "r579", "r580", "r581" ], "lang": { "en-US": { "role": { "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet.", "label": "Short-term Investments [Member]", "terseLabel": "Short-Term Investments" } } }, "localname": "ShortTermInvestmentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r99" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SovereignDebtMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Debt securities that are issued or guaranteed by a national government.", "label": "Sovereign Debt [Member]", "terseLabel": "Sovereign bonds" } } }, "localname": "SovereignDebtMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SovereignDebtSecuritiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Debt security issued by foreign government (not within the country of domicile of the entity).", "label": "Sovereign Debt Securities [Member]", "terseLabel": "Sovereign Bonds" } } }, "localname": "SovereignDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StateAdministrationOfTaxationChinaMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax department of the government of China.", "label": "State Administration of Taxation, China [Member]", "terseLabel": "State Administration of Taxation, China" } } }, "localname": "StateAdministrationOfTaxationChinaMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r40", "r100", "r101", "r102", "r106", "r115", "r117", "r136", "r190", "r266", "r267", "r353", "r354", "r355", "r381", "r382", "r453", "r454", "r455", "r456", "r457", "r459", "r555", "r556", "r557" ], "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.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "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.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "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_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Comprehensive Income [Abstract]", "terseLabel": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "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": [ "r100", "r101", "r102", "r136", "r511" ], "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.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r13", "r14", "r266", "r267", "r325" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Exercised, shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r40", "r266", "r267" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Issuance of common stock under stock plans" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r89" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncash expense for option under share-based payment arrangement.", "label": "Stock or Unit Option Plan Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Authorized common stock to be repurchased" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Remaining authorized repurchase amount" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r13", "r14", "r266", "r267" ], "lang": { "en-US": { "role": { "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Repurchase of common stock (in shares)", "verboseLabel": "Repurchase of common stock (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r13", "r14", "r266", "r267" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased During Period, Value", "negatedLabel": "Repurchase of common stock", "terseLabel": "Stock repurchased during period, value" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r14", "r19", "r20", "r96", "r161", "r186", "r445" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "totalLabel": "Total shareholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Shareholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r95", "r267", "r272" ], "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": "Stock Repurchase Program" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgram" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r460", "r477" ], "lang": { "en-US": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r460", "r477" ], "lang": { "en-US": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]", "terseLabel": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r460", "r477" ], "lang": { "en-US": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]", "terseLabel": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r460", "r477" ], "lang": { "en-US": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Subsequent Events [Abstract]", "terseLabel": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r476", "r478" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r397" ], "lang": { "en-US": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r177", "r178", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509" ], "lang": { "en-US": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]", "terseLabel": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [ "r105", "r106", "r107", "r109", "r187", "r188", "r189", "r190", "r193", "r194", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r357", "r379", "r380", "r381", "r382", "r513", "r514", "r515", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564" ], "lang": { "en-US": { "role": { "documentation": "Amendment to accounting standards.", "label": "Accounting Standards Update [Domain]", "terseLabel": "Accounting Standards Update [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identification of the types of restructuring costs.", "label": "Type of Restructuring [Domain]", "terseLabel": "Type of Restructuring [Domain]" } } }, "localname": "TypeOfRestructuringDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesSummaryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r302", "r309", "r529" ], "lang": { "en-US": { "role": { "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).", "label": "US Treasury Securities [Member]", "terseLabel": "Treasury Bills" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r369" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Interest and penalties, gross" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adjustment to the weighted average number of basic shares outstanding to convert this to a pro forma presentation.", "label": "Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma", "terseLabel": "Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma" } } }, "localname": "WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r127" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": 2.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 equity awards" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r122", "r127" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "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": "Diluted (shares)", "totalLabel": "Weighted-average common and common-equivalent shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common and common-equivalent shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r121", "r127" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (shares)", "verboseLabel": "Basic weighted-average common shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 12 } }, "std_ref": { "r0": { "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" }, "r1": { "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" }, "r10": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "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", "Subparagraph": "(b)(1)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r109": { "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" }, "r11": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=112272810&loc=d3e31137-122693" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=112272810&loc=SL108384541-122693" }, "r12": { "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" }, "r120": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "http://asc.fasb.org/topic&trid=2122394" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r13": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=121640914&loc=SL77927221-108306" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r14": { "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" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r15": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5033-111524" }, "r16": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26610-111562" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26626-111562" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "8A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=SL6284422-111562" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r17": { "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" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27337-111563" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27340-111563" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r19": { "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" }, "r190": { "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" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r198": { "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" }, "r199": { "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" }, "r2": { "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" }, "r20": { "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" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r201": { "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" }, "r202": { "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" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447" }, "r204": { "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" }, "r205": { "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" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121558606&loc=SL82898722-210454" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121558606&loc=SL82922868-210454" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455" }, "r21": { "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" }, "r210": { "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" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922890-210455" }, "r212": { "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" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922897-210455" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(g)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(h)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(i)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r221": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r226": { "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" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r228": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/subtopic&trid=2144439" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(5))", "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": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275" }, "r238": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r239": { "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" }, "r24": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r247": { "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" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.3)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747" }, "r25": { "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" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.3)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(c))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r258": { "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" }, "r259": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "420", "URI": "http://asc.fasb.org/topic&trid=2175745" }, "r26": { "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" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r265": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "460", "URI": "http://asc.fasb.org/topic&trid=2155896" }, "r266": { "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" }, "r267": { "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" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23285-112656" }, "r27": { "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" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23309-112656" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r272": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r29": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r298": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "710", "URI": "http://asc.fasb.org/extlink&oid=6409950&loc=d3e20396-108366" }, "r3": { "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" }, "r30": { "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" }, "r300": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r31": { "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" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r311": { "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" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "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" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r325": { "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" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)-(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r34": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r35": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r357": { "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" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r359": { "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" }, "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": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r361": { "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" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "740", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120384911&loc=d3e23163-113944" }, "r363": { "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" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r366": { "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" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "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": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r373": { "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" }, "r374": { "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" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121610041&loc=d3e36027-109320" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740" }, "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": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "740" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "740" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "740" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r387": { "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" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r39": { "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" }, "r390": { "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" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r393": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476" }, "r4": { "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" }, "r40": { "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" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683" }, "r406": { "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" }, "r407": { "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" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r41": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=117331979&loc=d3e41228-113958" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579240-113959" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5580258-113959" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41620-113959" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41638-113959" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.8)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624181-113959" }, "r43": { "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" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41641-113959" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41678-113959" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121582272&loc=SL5629052-113961" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986" }, "r434": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r442": { "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" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13433-108611" }, "r445": { "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" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28228-110885" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28129-110885" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=121605123&loc=d3e30226-110892" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30755-110894" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32262-110900" }, "r459": { "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" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121593497&loc=SL77918431-209957" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r470": { "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" }, "r471": { "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" }, "r472": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121561866&loc=SL77919311-209978" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121576215&loc=SL77919396-209981" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121576215&loc=SL77919372-209981" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r478": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313" }, "r490": { "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" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=SL51823488-111719" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r5": { "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" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r510": { "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" }, "r511": { "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" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(1)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(2)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(3)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r520": { "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" }, "r521": { "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" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r523": { "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" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r525": { "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" }, "r526": { "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" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r528": { "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" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62586-112803" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "405", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "405", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116652737&loc=d3e64164-112818" }, "r535": { "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" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r539": { "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" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r540": { "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" }, "r541": { "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" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r543": { "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" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e640-108580" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "5D", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "5D", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column A))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column B))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column C))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column D))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r594": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r595": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r596": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r597": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r598": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e689-108580" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724391-108580" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r63": { "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" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r66": { "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" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(13))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868656-224227" }, "r7": { "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" }, "r70": { "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" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r72": { "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" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r75": { "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" }, "r76": { "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" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r78": { "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" }, "r79": { "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" }, "r8": { "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" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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" }, "r9": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" } }, "version": "2.1" } ZIP 98 0000851205-20-000011-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000851205-20-000011-xbrl.zip M4$L#!!0 ( &6!_5!8)D*YC@@ & Z ; 838R.#(P,C M,3!Q>&5X M:&EB:70S,3$N:'1M[5MM<]LV$O[>7X'*M=OG5^?DIZM??R&]((S(E::Y$5:HG,IV M^^*W!FF,K2T&[?9T.@VFW4#I4?OJ8QM%]=I2*<,#9EGCY!COP">G[.2[X^]; M+7*NDC+CN26)YM1R1DHC\A'YQ+BY)JU6U>M,%3,M1F-+.F$G))^4OA83ZMNM ML)*?U'*.V_[ZN.TF.8X5FYT<,S$A@KUMB$X8]P_2*#Q@AZRWO]\YVC^(CO;# M/F5=FC(>_B\")=O0W8\Q=B;YVT8F\M:8X_R#7BA3O M=OK]9OV?A$&X-_1M.Z'[-T0!K91F0LX&/YQJ0>4/30->:AFN1>J;C?B3@\J@ MO;N<^A4=P&@I'EV>G7Y_K<'U[T!JVR<7#;) M1Q5S;?^7AH;9Q$;W:B_7!X M2<9TPHGF$\&G0"QV+ SYHZ0:8"IG<+]08!J5DQ^5SD@4MOY-5 I,,\KY#?S1 M184/,-+1RS-2QQOI'35@&C!"-B/7N9I*SD:\Z6U568@I;DBN@*%!*A4YH?D, M0L;JDL.2@+,=?8/I*,G@"G4C*4W@EB8J P:QRO=;ZI#SA!M#]0R[9/2:P[QS M,@W<8Z ,3"D=]\,NN4PW 24$%Y )(R$I M8'Z9"CN&!9J")TY!E%N :HK!,B1"!KXGLF0@$WPW9\0F^%U@\!5@>D0-HDG*.UA4'C'WI@;D M,5=N-+%'*:$#8$&!P]QTQNF34#,FJ5134P-%\Y$P%FH52RC>]'J#ELTY?YM: MF25M7Z;+>][E5POV>;-SV(D.AJ9R:I4C,%!4F@JXW#5[SGB7A&KNW 1F%['D M:$[" 1NQ%&:,([!;!CR!7('73)A$*E/".&00K:3W5Z%5PAG<-F07W,,X^-O[ MX.(F&=-\Q,DI!.?'4D*/J$M;47^7>RVB/O-7_E)@Y9%[G*!\@A$\!Q_O3M1E M[8G2A8E2F C7>1]4T -SS&>GT:\*C/WU<.%A\?@J!'!M;@>MZ!!D%I0AE;8D M3^V@'_FR^%LO=MTHV*5[]5*?FW*+=@T.#AV3G',#1@78NASW=$PU,?TFM#3K M#\$\&'.(CVHFGUE5J4$ <.5$&,? T(OG3@Z6D'?"*WA'/H6R2$!W0P@L, M.^P"!;V/ A/44 F?%TQD&Q&#.P'W9Z+@8L)E:7C3 0(3U.HFL4$7&M65+^W MU=T:.1A(/"W\65WK$K[L ;K9"EZVYOCGB)]>B=&XGJWXJ*8>TO4 M&W6[TIQV(9R=QJ"!R5Y>:O7GM=J3,UMR80< M[.*&,Y>4*TNU\ZUV%.IGJ[2YK1#<#1"99<):SA]) ;&" M&@3;F0#]G)!=@!XPKD%&A[]8Q=?QPO\H!:CO8J/,$W?8LK?=[FY>IMBT[>ZI MA.H6S"H@ZO"H!0]M$L$A1JH:Y7;;.>7T&HL.7^VZLL/5Z>[XN3XA_*S(JW:( M_J!K!1U3!@,-OV7C!Z.TJNYAB,:G34 2KO(Q4/:8,LM@F_LG=XNILN#*L]37 M5]5LVG[T%(J75 ,%-P$YW"4.P)Y[X%"!M.ESO\@G2DXX%@ Y'57/3725:WA6 M2#7CT#H=*Y]=Z$(( &3_+]51L,Y3301,=1DK:U7F[@!>K-O4UCX!4'.-_I"T M,'Q0?QE"7BPDG0U$[FSH!@TGF$VA8JI "--43]&/CH*#\, ]2+=065A6RZ\> ML@?^(7O;LN7&;G"XWW^X^=&QCPL.@\->[V\.#H/HL9%'1T=_>^PCLW:"3K_S M3V@XY@FF6J2U-=_G$K)\YZCI7CMZ3C;T K_(C(=?S8KW:NUG8+X-@N"[V;,+X"WX7@OXWNST MH+9TG\OODBW8](GD_ V ]XBKGY!?KZ-RF23VEEFB[9Z;K'A04RC_Z\N!?\]V MPN=_CGCOAXJ-U2-I#+5N:?FP7[E>@)W\!4$L# M!!0 ( &6!_5#Y1 ]$F0@ (,Z ; 838R.#(P,C M,3!Q>&5X:&EB M:70S,3(N:'1M[5MM<]NX$?[>7X&3ISE[1F^4++](CF<2VYFZ<[VXJ=M,/W5 M $K6_?KN J0M6;*M)+W$+\I,9)$ %HO=9Y]=@-313Z)*F9:C%/+>MU>EWU6^DI,N&^WPDHX MKN4<=?SU4<=-'9\%(L)$_';A@C[^X.] ?3Y ?1V#Y,#'A[R[D$_[)+< M/0C^$Z"2'>SNQQ@[D_"VD8F\E0+-/]SMM?<'A1U-16S38=#M_GG4<'V/CQ*5 M6YQ0HP#_U74 MKV@?1TN10[W"H.?6=':=BE!8U@_:O<4%K5Y*A,8'/,A0&]#4#;4].?MT>?[A_.3=Y?G'7]=9]W]+8T4RFU_XWM-< M=^/XO,DN>"G9:9M=JGB<\JS)(M"D/[,IMV^V!@>CKUST4_5VXSAXLQ7L=4?G M+.438!HF J9(-#85AOU689YW"-?W11 MX06-=/CRC-3S1GK/#9H&C9#-V%6NIA+B,32]K2H+Q0H,RQ4R-DKE(F<\GV$( M65T"+@DYW-$YFHZS#*](-Y;P"&]IIC)D%*M\OZ4..41@#-C,CBE=+D YZ .D=#(_=@MQ^$^F-DT%5'*3$D?M^.GH*$20@O(A)&8)"C? M3(5-<8&F@,@I2'(+5$W%N,P)#HM9.)LWP\M$0?\1% !+1(YV)I?=VK6)$,#N MV*SGVD6>8""YD,'OD2QCE(F^FS-B$_TN*/@*-#VAAM DY2TL*H^8.U,C\F)7 M?C2I1RFQ V)!HJ&5SSM^F5F9) MVY?I\EWO\LL%^[S9.N@%^R-3.;7*$10H*DD$7FZ;'6>\<\8U.#>AV44H@"@;;X+4(!K&_\I>"*I'M&P3;?J9?ZU)1;M&M[_\ QR2D8-"K"UN6XQV.J2>DWXJ59?PCE MP1 P/JJ9?&95I48!R)4381P#8R_(G1PJ(6^Y>Y[_-4CN JY*K;=!TZQR S4* MY''4Q2@I8K<7-&5H1"RX%K0 X0L EY%RDE0:2LJ.HHS+X(ZO<;.)"N$NT TJ ML+X342DYI1E"BGLC.J55=-2>#KL M.ECZR%KH.E?JNC1\72VH*''W8C"BJ;Z*<.,;.P5N*@>AYQ,!>N[_K8N!LPF7I.), DF"5;.8H&O-BNKWIKI; M(P?XR]4%L8,\#D3^-K[L#E5I[]=@G2S%;WH#[2F2QW=B+*QW*RZ*P5NBWJC3 M!*\&M?'S0.TM)^. M,U&6B5!0=4C$MN\9DF <()/>Z5TICMM0<*3VB[LV[P#+YQ'^P.%^,: MT,U;5B*2G ?5+4$1++Z@7%FJG6^TXU@_6Z7-387@;J#(+!/6 CR0 D*%-0BU MQP+USW7U^F>*Y;7??2:QN MT:P"HXZ.6NC0)A* ,5+5*#?;SBGP*RHZ?+7KR@Y7I[OCY_J$\(LBK]HA^H.N M%73,8QQHX(:-[XW2JKK'(9J>/B%)N,K'8-ECRBS#;>[OX!939<&59ZFOKZIY M;OO1=UB\)!HIN(G( 9F^@JUT!62#4# M;)VFRF<7OA ""-G_2W74OA=(<^?7!)CJ,E36JLS=0;Q8MZFM?8*@!DW^D+PP M,*R_C# O%I+/AB)W-G2#1A/*IE@Q52#$::JGZH>'[?WNOGNP;K&RL'$MOWKH MWO8/W3LV7FX'G[UV =F[;5[@]X? MH7&W/>CW_PB-D9L&O74'=QPX/$ 0::;@^=M&OU&/J(.3X-LKKF^"M<(OW5J3 M0^:8DB)]%7 7F""8HUSMV6+YZ<\C7/,(4RW2VIKKP T7$M!BN599>6._M>SW MUQ*S?.^PZ5Y#>DHV] *_R8P'W\V*=VKM)V"^9P3!][,G%\ ;\+T6\+W9VL7: MTGW>?9-LP:*/I.8? +L''/VTM-E$[3=%[<:9+\B9W]M\U?[5O;!5H(GH1016 M+^^94/2&EC>1_/0B>>/,%^3,YV2^[\B\_X!<*,W^)2)@%QJ,B*L7X3^X0U=_ MM'^2"JCOT#'L1_\<<4/3&VU>ES8;$EE)(ML7_HT[I(8EDMA99HF.>Y2RXME- MH?P/-(?^U=L)S/]B\U;BW>[S_:/!N,/QT.8 MJAF'X_=[[PX&4*K8]FEU8-O[XWUX,_[C'=0LQX6Q)''*%!,QX;8]/"Q!::I4 MTK;M^7QNS:N6D!-[?&)K4C6;"Y%2*U1AJ=?53_!*2=C[K?NL4H%]$60S&BL( M)"6*AI"E+)[ :4C3,ZA4BE4#D2PDFTP5>([GP*F09^R])9VNG=]W M;;-)UQ?AHM<-V3FP\%6)-3RG%0;U1BN,FK4Z;?G^;D1HS0FK-&@UJK6_7632 MQN4Y3JH6G+XJS5AJ KA;!*WC4R:@$98PGT2G$VDR.*P$@@N9%M._&VO7B\O_\"QG)U. M#MMRS$]'$ZA$9,;XHOVB+QGA+\HI6JF24LFB')RR?RBRC-R;VWDN40.Q.8OI M4D+7,S(-+Z;,9PJJGN6^_%*BFV4)4/M4=F9$3E!=2B1(*?G1PM5N%FXP/!D? MO#X8],<'1X?H[">C]_W#,8R/_H.@CU(PMPGOK9$UL,"MUIWR4Q>G/X+^_M'Q M>+C_,QEI-!P8OVLYNW#T&L9OAC#JG^SU#X>CRM%?[X8?H#\8:XCG.-XZPG[, M4L6BQ=.(O?&4 K) 98JL8\(74<0"*O$3TSP^N< /F0A)]/D"VPJ7/]]J>I[3 M&8A90N*%N7,[.S"EDOH+0&24GM$4E( I2^$L%G-.PPD%-24*-(4KJ&ZCD\*G MC$CT#[X 27$O!;C5:R%GX#J5/R$2TF!]7I6@L"($BGR'\#:+Z?,M=]?I>,UR M?B)=9?/$4%QR60:20L20'Y@S-35T1S3())Z?R#*)0QA>!%,23PR7,Y:F6F[\ MU2M#/!.-G"(J0Y1Q9"5 4;A&O20GZ:>,2:J/OU2K$4LNM5ML@,HD%O? M#G-N2(($ N)S6M;+KW%TR4T_4!KLMJJU'&UFQ"\;GB\URV+4UBPW5H#6)TP; ME>7LYZJ B#"C1$E3S6-9@PGG@&A4>Q1*D";(-$(T5L1B$@?Z.1(,39UA]L15 M&<]%%&@0LV>ZE*"PL+42+P\: ]YZ,9";YM;0OA+'NM8H;GVAE)B9)QC82MOO M4BHA,:"T1)PD*6TOOW1"EB:<+-HL-EP8I,ZY#IB \")[X#9%.=-J6I97JW\/7=1=RZVOBVP;&^9V1(=(,3Q>E:JE)49"PA!+;>-E7G+16=X7;J8? MK1DL5TXB3B-UDW\MB6MXVT4/7CZ0>5BL'E;W'"SWA.27\;NF'*7>/B:DYUOU MYN?0++2\T=]:^GN;89KW6OFA^)ATF!/\)C4V'TR+UTZ'1Z"^)^2">XM- '^+ MZ]6P/#97.!$^R@%O+3AEG%.EOM#I/:?+#PC;.TS]N+C99+UORGJ_MC&+4M_\ MCY^@P01G(2R5_42RS":S_"3.N,DL&V,^=/(XEC1EH6X9Z7="@RFC$0PO:) I M=D[A*'^;N$DHOYX/;A+*3V3,!TPHV\>2Q0%+"%_-(SNKB<0V+U&?Y@OF6YO4 M&]@&]@O"GG+#Q;5:!>K_W&1HU2RGUM@T&;[7>?-RC<)AH[=5O8UU;[]H]@=Y MPSF=ZC9R+!3X%$)*9S1<=N%-R[UHPIN&?I+)1*3TA@YY<^TN.)(1N%#.68JI M(/,_(AT]=:"1.2,^XTPM0>*''!_10G)F:N,[H9_ZJ(%:@-XEAK5'37/JAR.?\VI)RH@NCJX-O MUT;B2C=C$C\5/%.T4_BNLSH[=^_\SJUC=<4UG_(S\X:]?P%02P,$% @ M98']4'_270'0!0 KR@ !L !A-C(X,C R,"TQ,'%X97AH:6)I=#,R,BYH M=&WM&FMS&C?P>W_%!D\3.P/WA("!>(8 GCB3VJZY-,VGCCCI0/%QNNATQO37 M=Z4['-OX09/&B5,\&#BM=K5O">UVGPR.^L&'XR%,U2R&XW>OWA[TH5*S[?=^ MW[8'P0!>![^]A;KEN!!(DF1<<9&0V+:'AQ6H3)5*V[8]G\^MN6\).;&#$UN3 MJMNQ$!FSJ**5O:X>P7=&Z-XOW2>U&@Q$F,]8HB"4C"A&(<]X,H'WE&6G4*N5 ML_HB74@^F2KP',^!]T*>\C-2P!57,=M;TNG:Q7/7-HMTQX(N]KJ4GP&G+RN< M-JCC>ZY/(H_6&\TQ&4?,=[W0=:GO-6GK+Q>9M'%Z@9.I15F8\J4V97K]= M]ZQF(U6=.:=JVG8=Y]=.Q@BCWLFKWN%P5#OZ\^WP _3Z@89XCN.M(^S'/%,\6CR.V NF#) %)C-D'1.^ MB"(>,HF?F.9QY!P_9"HDT?L+;"N<_G2KY7E.IR]F*4D6YLGM[,"4239> "*C M])QEH 1,>0:GB9C'C$X8J"E1H"E<0G6;G0P^Y42B?\0+D S74H!+[0LY ]>I M_0Z1D ;K\ZP4A144&/)-X4V>L*=;[@NGX[6JQ8YTFD%.LD\YETQO?YE6(Y+7NBM8=/UML@,HD-O8I@4W)$4"(1G'K*JG7^/H@IM> MJ#38W?7K!=K,B%\U/%]HEB>HK5EAK!"M3[@V*B_8+U0!$>%&B9)EFL>J!I,X M!D1CVJ-0@BQ%IA&BL2*>D"34XTB0FG.&61-GY7$AHD"#F#6SI02EA:V5>'G0 M&/#6BX'"-+>&]J4XUF>-\G$LE!(S,X*!K;3]+J02$@-*2Q23-&/MY9<.Y5D: MDT6;)X8+@]0YTP$3DKC,'KA,>9S9W;5:#=^<:!0>8Q1=TB]/.U9QVK$5706^ ML/QZXW;PG;AW KVFU?3<+T1VK#LP/U^(>^>JON4UOU3<.X$-S_*].UB^ M@FP;&Q9V1(?(,#Q>5OS*$B,EE.)1VWB9EYYWEL^EF^FA-8/ETDX4LTC=Y%]+ MXAK>=M&#EP.R"(O5S>J>C>6>D+P:OVO*4=D;8$)ZNM5H?0[-4LL;_:VEOS&S>X9CD,0PL M" 2=3,GLBD;OV5N^0]#>8>@?BYM-SONJG/?_-F9YT#>_\%,TF(@YA:6R'TF. MV>25G\(5-WEE8\R'3ATCEG AX0\>,CB6+.-4EXY$!/OFRHB9:Z+^E+/EB+Y$ M.BHN&#=YYO_GFIL\\Q,9\P'SS/:QY)@\4LP>*WED9S61V.9>]1O>.0=\QC(X M9',X$3.2?)O;YULKV!O8!O:(88^YJN):NR7J?UQ)V*U;3KVYJ21\JQWD^1I' M@8W>5O46Z )^6=$/BZIR-M6UXD0H&#.@C,T879;:35V]K+2;JGV:RU1D[(8R M>&OM4C>2$3A1SGF&J2 ??T0ZNK5 (\>@> =WY9EHCKC/ZF3\?Q KT)C&L-4XI M%WXHBF:^MF0QJOR,7>YNN];W5KD9DXPS$>>*=4K?=58;Y.YMTKFU=ZY\+UKY M3%/AWC]02P,$% @ 98']4$$._\F800( V%P@ !$ !C9VYX+3(P,C P M-C(X+FAT;>R]:5<;2;8N_/W^"KWT/>=4K>7$,0^N*M]%&4SA8PD;A&GIBU>, M*$$#K<$,O_[=(8G18(,MD%).=]LE*:?(>)[84^S8\>?_.^VT*U]"?Y#WNG^M MX%6T4OE_K__\_[+LWW_OO*^L]]RH$[K#RIM^,,/@*R?YL%79]V%P5(G]7J>R MW^L?Y5],EHVO>=,[/NOG!ZUAA2"";AWLOT*$(:D$S; Q(F/>T\Q2XC+CF79! MH$HXSK":3K83 O%L^ H-T0)AB)[X5_!5XP\]YAASJ3&QIF M: B!6BMI$.FQK2&\';QA=_#JM)UWC_Y::0V'QZ]>OCPY.5D]H:N]_L%+K+5^ M.3ZZ,CW5'71/;YSI>@?=< K_Z;Q,+X8$41?G^I!?GGIJ^^W507"K![TO+^$ MG(QUAG!&\<7I^>DP@S-NW/WBBKP+C0BIWU\.^Z8[B+U^QPP!EW0?GB%U[3YN MU.^'KCN[^]D71\>MO=V &\\>7Y9Z 1Y!K[7@XO3307Y7GT$?X)?_KK[?=:W0 M,5G>'0Q-UX6+JT:#[,"8X\LKHQG8\773 W>TR_5&W6'_OO>9'+SK=08]1K"\ M[YT0O-/DC.D%]Q,@4>4:2G??\7L0D8R(RZZ#B_PMGP]8,)J>_:IONP5\KH9OM[:[ X G&O_ZS$X:F MDJ[/PG]&^9>_5M[TND,0"5G][!@NQBS/SY:S?W]\X;G2U:)7OD/:VU&^?'\+=Z6MW\B)OK&ZA:WT.U\Z/3QGZMU:RO MG3?W/[6KY%U>.Z^U:VV%WI/F66/?B>;FIW;ML'I6K3MY/#-;31>7?4 M7'_7@;:>U<[;G6:ZY_[%-9_@6;S;K!\?U@X_GF_7C\ZAC2?-S2U4/?1YH[-S M5.TT3M-]MO>;G>KYUFGSDSI]7]\:5G<1_'?M,S+2!!%TYA#%&4,!9]IHG&%A M?=0B*,T!6@1_%,<$\3]?WL#S*>%],Y:*P[?YP)EV(YC^1M>O@U8K$?X>PF?7 M$58V..2QRSRR-F-!A\RH0#(4N/:>,"V)7'F=99B V'I&>"]LE2M\W\(O@Q+= M[Z%[?AU=HP7R"H=,>P?CUP+$!GF6F<@=)=@$Z\3*Z]3_7=^"1?ZULU=ZN M5"86,MSC=/BJ.^KXWG!ZPAV&5Z_3Z75WASUWM#MNQ?9HF(Q9GW>!&6GDP^FH MY,CW.$*NT%CPCT81(%=WRU/6R%/K#EN!]:H3O(OX2M+OCFX7UO,%@'>G\!E^Q+&'P MSX ]:X-_@C\(@[HYO202G2^13K=W=<=UWG:W.QNHN?Z1-=>W>/7P(]H&\M0. M?:MQV.PTSM?.:X=')\UZXZQ*FNWW=*?5Z)RVMP_?=> 9Y\W.QDFC[N&Y'UDB M!!#CK-I)]W! Q(\G5:#3Q37PK%&3[ GX#=ZGUFG4_V[5R*?#VOK!68V\.VH< M;IVE=M3.MZ M:V?-3BU.2+21R'3RF1*KJ<$4!(T28-E;FEGO4!9"])0*P;GP M*Z__^U^*8/+'S[!(8N.M9EQA$IG26',"6@M)KZW"5HK$(JR!8$FCP =!4B6+(A7,1)(Y*73&(@%9)#G+@L/" .I"&383%LW +AKD!UWX M]%#B['7[ ;AR'OP_O78RH#=-WDULVN[N!C?JY\,\#-;Z^0 .K"P6GFMJ)BS=512:,$H=&4> M,4]% ",H WL%+.V(2695,I2PL1(1$"$$7'I"]9Q-HTMQ]%W_OJ39PM#LRGXR M/!"5K"9B)<\8T3(#48(S:HRR4B'K-%CA^(54:L[64TFB!2/1E?D4F>",*90) M@4W&+(X9@ TZ3VAJ<8B*N[#RFB-9X)#2VUX_@*A[,TVHJ*=)__9XQO^"826K M?IY59]>,*&UB-%B%# N-,^:MS(P/\ F,*!HY!HK990@SE26<_#K"MSR@D2L'8T(W(\K^I]9BUH M) ^*"7&B*8]D&<)1);.>AUE7-E9P5@*,*M-8Q(QQ C96X#R3W&A/@IF>&\3ZIL>X%J[W3M)N8E H_7>R [CJ+WFQKF=@YW@0O[%V':89FDM"F7. M:A>4.?2'-;)UUN@T3JJ'!_!W)V\>[G& _KRY_G>G6F_@!MGI-/>;G2O*-,X; M];>'UAN?NP%^?5^'WZOK;'*[%\)DWZK7\-F5JA[56=;]ZTB!;;'L? M*+/Y:?S\VF'UI+J?:+,'G]LM:.O->;J(?3"(N(QZ"<(HAI!I04D6G*3&8DHE MIBNOR0M"^<\0AB-'$7((.^.9$$JI2(UWGDC&;8@R$09K3%+J:DF8Q2/,E5VD M'(QVQ&D6K0.[2(%X,8K)S&&A0*LARKA,P0"0,8\B#(C_<1['[)));M+C6K[( M!]/?[N\.TQ*%3Z8]"E>/7HRTD6*0XGHL.UCB"$$BXU:+C"4[V48E005Q82EU M.C"0(F@5H<=EC-Q#BA^3)B4IGH,4Y]&A MF90>G&$?DRL$8_T%4.8G2?(30J,DR?.3Y$J.:!Z '1JL4V/3] -RF09G)@L2 M/-N :'0LS(HDS^#8?,61K<%@5/+C4?RHO;DF1 SGD05!@1H,@PMC4I!.Q4Q8 M0640V!*I+I-6YR)$2GX\/S^NY(<14F$.=HB@ N0']C+3::TP5E0K,% B5R'Q M@[Q@[!'RHTSK/5@-^;G8_ HRUHQ\9IL]/ MM_FTO7YT4JU7X;P],N;.^LY1K?,V\;+37 <>':;(W=M.\_#3+6?'\>BM=9D+ M!F6,!9Y9CV/F6&342$(9XF7B3DFAKRAT=DDA@<$SPM%F.*1<0B9#9I#!F8B6 MQ2"%]HR4B3LES7Z(9E>:CRL9A70ZDSR.+:.068UL1A7S(6A!+"%EXDY)HCM( MA*[%]HP&/ST :ZS)F 3+>IP,QH07QE!KK)0_G;@3N!=$NJ3S1"K/8H5SUA : MK /+6JH9V-5_CX 683 7MF\.YZ'3,4I@"2A.X1/@]R'_OCG][FQ>3L?GBU* M[ ]=SD0>'IPU]G=:S<.W1\WZ'@'[N=/LO .[&^[1@6=UJJQQOH8:9 .>L],. M_^P J?RQ)0P(\*[5W'S;J>[OM&OU)MC/0)/.9"UA8W_OK''>.JRN[QPVZLU8 M.]_Z+"+R7(.9$[4%W]MZD2FA0J8Q#HP9%P&F)#PPI]]RO.]+[JTEE_.,^/:YAZNDH^D";@VZQ]QC>SQVGJ5 M;-=;AXW]!B#>.FJNMXYNH]N 9P CP/,:7]FNK>_19OT(5<\;?'L3GGO8/-S> MW#F"O[%Z?D0^.T!5^J@RPCCH!D%"RF^)&4+*<&-DC-BMO/[ &H]9WOU#N%X; MP:G:T2L_ZI_T^GX0NDN,^=6(_OMHN[[!0(33[?'H2WD"1ZQ9]T?5S@:O'E9Q M]?P GE,[O(TY/(M7ZRT0X8[5 ..4)P \:=<(C.CZT5GU?.\\X^ M!R8E,E)GA!+PA)'$F3)I2*LHK?+@;1"Q\CKV1OW*63#]P<^M _])L^!VY'7, M#9#PL^;&QG]&(.JWNH-A?UPV8C"V/NHMT]T^3K<8)-X$O]6=$&=1=,+S,^AP M#WV6VBN4RJ5QT-'@N&"9&>-5%J)W@AAE=-0KK[N]K[7!RYM%F?HAAI06% 9W MU))*=:9>#<;5PH!*E7&YM5?#LV/H]4'>.6ZG E3CWUK]Q+0;9:-63\&X@,?= MO,?D^5\$UQ]QGRYN%,8E"BZ^@6$!WV,>^I5Q@\*= M!=W>;/WOS5)'MR]^??'3S;L?CVEY\6TP-/UAJE/T^J(:&,(7UUT=NVRFOW:J MR%+1K9M'+KY?/.3EC8ZZN$^2 ^-.F\J!B]\[P0Q&_?!Z^OCQP8M;7!R[^)[N M<2<.CPC)S[_[)P75AG?TZ,611_;H:,SFFUTV+5+W:F]W_=&]^2,QROEWZVU6 MTXRB)V?UC7[[D7C<8O5;*B[)'B8-TJGB6A?_1+_]B!&P>/WV0"GZ<_UV?.C3(S[/5_4#Q\=7WZ<3UT>YWD'7]]VX<*\1NW>'FS]=^3 M3H^87IL_2:YD/> ^K5_W([+^1@\@BR02%AQMH5A4U!C.A(>Q0JD#M]N.>T M M7@^HF?6 $9&!J+4.G!3FH0-,M&!Z(<]Y!&-L&@I:$$%Q@P,WQOY/]( &_>L1 MX=%'R:R)VD4?,)8VT "F)YU:/)3HI^Z!Z9@/!\DQFGSU\+#3XW;N\F$U="P\ MPN>=%*1-%:$OG;&41Y>NF3A7R2/K=9-OM7::@WEXQU3WY%Y_OKSS$9>]=MF2 M1YMB-"-Z!M (3[UV/F*$ M.,Z("0%A%SIR+'3BT--&O>Y\EQ,^T/)@?G]XTY MSH>F71"8-%5&$$V),(A1;0P#-4*Y\\8I#J)C:6#:"4.3=X/?,/UNWCT8% 0? M''0D5@20:88)&6$8!>U!XUGK@])A:?!9#;)Y]8"SP3LNJ:9(,XL(B!9L(X\2NL)@&N;@.A=9 M/\_?IU=&!QRBD)(AQD($KQZ!M1FHH)1(ZI8/T&?3ZO,'UX1@&57($B3 >11& MRL@T%2X2<"LE63YPG]X6F#^JH'PL FL;G"+)F-+:.?"5*/P6P"ZW8OE0G8L% M,7^@4^EQT+"!>HX9)U8K$QE/*X=H,A#M\T7]BZQC9S4=<V6 I\Y*Z59#BDPN:4E1$7$ ;T WW$$Q*@P6FKRC)#- MJP>PP)PY%ARGDDFD-?8B;2M(&,')@YQ#;DZ1]?/\DX8\UEP%QYP%-2X8T5Z@ MX"R3F(* ,G3Y )U+8'8^X$(O1ZT=TSA@)BC8;,IS% SUR"N#]?*!^[R!V3FA MRAWF&AF.95I'H*Q-5K<0UK$4L+/+A^K< [/S 5IY*@4)-DH$T IM/0872RFM MO @@L9\O/:O(.O9)\L8F9E=*L\&$:[ 4%?28H848K(Q&7'DG-J:8LVJ7!9_Y*:5:0"9E&CK,. M/"9FP"A'GGFOO..*,$?5'!80%UD[S65E\TW_2D0.,%F,'&=*1NTPEMPQH9#5 M$LGE W1N^:+/#RYV@E&,":8T,HZM,0A[Q93EPF :[RQ=4FQPGS]?= ZH"AU] MU JG66>*C,81N<"IDBF_,,ZCB,,RZL_Y VV5%]&!1$9<,,R1]@:!TRX1R3+.@E#EMLB*$*3%?LE+5(&P7F4'1IOL MI0E$,HRY-=H+R6$ "<^DQ4L#T[-Z@+/#)U5&B P,3A,XHS8HQ:*6W@HDG?7B M&2L#+*,&>Q+(J ^!$4Z=PYJA$+1R*B@>A=(&A)^:0_&3(FNGN51EN;4JQ7.- MC2>.4A:I,H@;R70DA$MB.%D^0.>6F/+\X&K.;#34,>,9DT1:XFD(Q,-O.@AE MEP_7Y4QS-YB@=JE&$\6"NP)LC@B)423,VC -4RZL_Y ZV]0SA([ 7% M+,* 5IJW)N^/]Y[[^^SRXS]P1]-WK;/WX4MHWP3Z\J2M M[O%H.!B?@;\#[8\TICJI\I7>YFT__&>4=O.]IR773DV;;H[ZJ0A[05;W1+"G M30S("Q,9V-@6_@@O&1>$"DD*L.3T^3![5DZ3@A!(]R;SBVP3-M MM4HA!J-B*J+AJ?*6$^V*( &_1^"]W7I_3)>SDKU+QEZDC=6.1!J(8@Y1[7G$ M3GIC@Q,LF"5@[]I@$(9_&W<42N&[;/357#OL-8W8&\:4-6"(!H^H)99R$I>! MOKN]+Z$?\H/N>K##DL!+1F!I*%5I6[$@$'.IG!KU@F,DD90L%*%DS[T$3CM, MO%H[2"Q*AF_)V.5@++C[A!,5+766$4L4%]%C(Q4#NX'Y I1@^:[(K8ZZ<(=C MTRYYNSR\Y4YJ*Z/R7&+F<-IKBSOG%;(.(1Q5 7B[G 2B!2&0M)Y8K8FP"(.L M8QHY@QQ#A@H9!"&+GTU^L9OCFOO/*!^,IRBOJ>HWK=ST>_7@6MU>NW< -N;[ M]V\*DC8>M0,(N/8D;87IA>+<4QC51EH2JC=.TB=MRUK:TW'FL&97CG7&"U3SM[4$O-3_@E:"CI@ "Q9+8BTQ9%SRK76 M2AA&A=.6$J6"/V(KZ06%LS2.YVJ T:AM4,(A13SC M:?6RM\RF+4L8EE&(Q1?73S*/L"ARFQ,68TS[8:4%Y0R#"#>>4IH"YE(35(#Q MO7#PS'#T..\QD1K^PQBS-&TKS817/DH%8T<7P-AYHB2(11D_H 8I83$F@%'SLW)M$+,F@4CY% 5PED//.1VLABB,Q0I[W%EBW!H'DV M6&:I:9@WX"XS"9J?62M!NR@CB4/61H'B,FB:1\U_+LIPD8PH2Y10CF$F!+;> M!HXIL>#>1!.70<<\'RXS'"]I*9A1Q$J!%2,^?8Z4&&Q3M?6 ER+!._33,QP8 MSX/MN!Z.>X.\*%K&I-W!)-%I=1>C*"B4[&B!,'-<.5F 66HX<2Y;$, M,3(8/49KJ2@76'NFM+6TR-DVC\P/6Y0!PQS301ENB1Q7YC"$K+? 8^;DDX$49,A8A!F,E;20+ MH\1J$[0/R J/+&'(\0(/F3D"-,M"IHQY!3K?>"D9]EICAW30*:F&"JD+L#OE MWZ8- (7=5@C?2IEY,^KW$W9IKJ HHRA^Y:%"J!BS!!BA ME=E% V>&(R=P:C$!MT:3 /A(Y4FP""P$2J2R'"W^R-GJ?@F#8;JH?G8<;DFU M5J\_K(=^Y^JDV:5#+]R$WDR7Q0>!G9;"&L.0(4IBHU1 PK"@'/MU)_3F1 'R)!967A1X?HPBL(<]N/,$["_ 2SN0 M'TQZ+R+C')>L*)1A/LM@@S'*1$\Y*$@6=O!).&LEMD$1P MQL#OY"A8$PD-+(3H"B 8YETO93FT!=B^$T9T1ZDMEV!W)NMA7D_O 1\O;G!Q MY.)[NL/=$5%%'>B<& P#%S8$2X*G#&0/,^-IH$)0+!^&]_F7X+>ZT*D'N6V' M253Z[[.J.>SUW[3-X%8!V?4;NL&_<<+#6]3NA/9Y/&K3RXZ)@AUW@(HE&S#1C M)&I"1314:,PE<;$86OCQ0VZK^Z'?7Q#P!& 50<,% MZ@WCW%AK56#>$*X1IKH ,WX_!-YXAO;VZ06!#"M'?0J&8"+!**%IEW<:7$K7 M@O\7I,CEXR&K]XT/'=,_*@I.CF(9K ;QZ"-SW%OGN;,!>>*<-MHL?J9# 4S' M62Z%"%1Q[1!(0LN\MRK:B(6-C"'C>"C -M7%,1UG"!LV\+\@!>$1,62M(9%P M82+UP2NB"[ M,]N.LXROX\IBP1&6"G/D'/*6 P6HQWO M38Z%6U+(GL=TG.6^\=@2@A26+&TRA[BRRDCN,#8:6X1P@0H ?KMNV.[(M(V= MX?S&0ML_\Z\["&):8FU ;$O%E';6X>BCQ4A0)5/I@I)8Q=7R\Z<7MJEV-K'8 M,\PTF'*12HDE8@;SXB8A7?"F(DA/ M90$RR4JR?)\LL]HWBG*'& V1:,DT=8DL*@J'4W649=);ORIKYJ^\ O)8$>1T MD(9)'*UVJ8J8EJGF?G#%*$OU2*"_G@JXU]GZ+B?N#+O 286;%N*$@4_OD92" MLRB4 4&#A/(A"L,44@4J.OU/\ =Y]V ]#/*#[AWK8&N]KI\>"_[I!_6S%)J^ MS#4[ZI]\E6B6#WJ,8/GJ?W?V+RY_<*89]9A:S:Q@CC$:E8I$:/4T"L_'$N("",YHA3I6/%%.JI S8.+[ MA8I^&;1_+IY[*2?"Z.N$U LYL;&W\V@Y$;A"U >')<4,*ZS!+%4,K FLW47U MT<+)B$2$TWY(N^A_0VT_]E[NT1HSU)O^U1$$GNBC6?,6QU\4%1( M,-LXHZZ8]OURH3W+O"ZE&1?*A: 4 W@M2K$]R37B05"RP+5=OX'VYM\?E@CM M6=:MD%RBZ'E(LXI&<.V"#M9*Q4T _;W A6)_&;1GY+L/3_R]OGM]?_W1OCNV MD@:?)H1T9%8S$Y!TA .-+,$X%"!Y898(_PQ=+WM_@>4$!4]=!AX) EM FV@( M8E(P8A2@;M "VP"_#-HSDA/.W"\GWJP]7DY8 FH%:0?&8F#8<.6TQL( D\"% M\'Z!EUY_ \3+CE@*#3/+!:4$U !'E$B#&37(V$@-!>^!V!AE0><"E@OM&.4T9%MIJF[9@@?9BX)%:X+F 1=,PE[V_P'+"* #8 M:&,],2S-#E/'K05(B,""\P+L';;T:,]TOQACI'#"IBVOG)*6FK3AL@-7(5#% M"E"AZOL;*GSHAV.3^XW38[@VI+2_1V^Q4#Q=,D.) .8A6(E $RL"XT(J'*V* M0CD7G2*^ $MU2XX\^=I@"ZAAPZPPC"')+)>6"P%2)!C,1:%WS9G4MW2N/PJ7 M!%DZ+LPRX7YP+L\PU0($8[:C7##%B MHI44_% E28@^.B,*M#9FJ^MZG; [A-Y/5]ZM1][VQO56+RS"39-WW_<&RT*1 M^2^$H18AHAVG%!,FE5):&,^YB0&K8 )-?,(:L?'Z!_@@*"KY5 @^@=!![&%K M,-*IXAKU?H)/'-Q"+'$ M!X9E1,P3KXW$/%B'F)34,#V53[B43T7C4Q(Z#^33#.53H-%K22*WR+)4B3HJ M!385\T$PBP,O@/V4(F27+-H,O8.^.6[ESK0G4*;#:QWH$6>6T*()I(Q'YG7 MR.I(7) 60+-4G!CU.\=AV74@JG,KJ+!,!D=BX(::5(AZXA0T"A(N1Q: M\#GPFX\.Q!QIQD$3I@(#DG K,;48<0R"-1+"ED,'/M?X>WX-*#!WR# $AJ=B MR$GKI$81OA@>-?-\.33@;^59N%U'Q((<*%0II0PQ3X#C*E4X')@DTR8'SQ-=_3(SAU-2)M0&T&DT,77><\SYIY?VQ$,??\>@Y9*9$0T49G&(Y*<1ZXHX9B4'J8J"70<^,,@D%N-DY= M>^3S[L&;5MXUR^CT*4=H6DB@(H\,#!5+F(C("B:Y8TR3)5!]\P!S/MHPDF!$ M,(AZ81E.VR4'S TE07A+P8M? FTXKY$Y!W=0,X:X3[(VIN5C&L:@" S\P;1K MIB%+H"#G-3+G$!M%5"%K%9%FO ^2$<8A3#U*V]<&Q0JB,S_T>W[DAMO]W=#_ MDKOK^TD#SEUO^GYZR@"^34]:RBE#;!!S6@N-X(.52 DM.(H*&R(X=Z8@>G,1 M 9U3EA&/W"MIP( U+#JN0(5Z)#PFFE"M7$%TYR(".A_]:3S8/S$0ZC5F7AN- M@DE[/J92NQ+\S8+HST4$=#XZU!(NK TD>&J88%HK:B,B1$CL6"1%B:]^ ]"U MXW3A.(=J]S@X>(B[*)N^VVN/JZPOIS)E1-J40J6P9D%;*["U/ECBG,=>+($R MG3^R\]&JQ%G!%6>1:<>DTMJ 'T,%MZ!4<=JDI?!:=?[(SD>]NL 084$2'!&+ MEB<;F%FG<.#&2^>+KU[GC^R<\EDU\I(BAPWWS II3&" -"#H0 9[OOCK!-=. MP"JJGQV'FYG(&YWC=N\LA-UASQUM'R< "[)((2.R.P- X+ M'91#!1&C.Z9[$*Y2 :IY-^^,.K-*1/_0-MV:Z5P?PINA&_JF?0WP=-(RBF.J ML:+((A*M8*!9K0M!>&D4<9RG(@&+SY!9X_A#E#2G#Z!D(1DB590.I#@0Q#&C M0*1(!()>BK3G,+:B0 R9IWQ? ""M)^ A>1559,(YG=9LAR@8\D&""59\(#^$ M?NSU.Y/UW::_G/$I'9#3@J9M/\"ZXD*3M#F8D=I@T/-Z@8M^?P>]G9 VA7/# MX,<#<:^;#P<[NWL%60VO61"1$2*)08Q9K5C0CBM#C-9@==GBCZYGPV?^8TR% M(&W 1@076?!2P=#R0D?IC6,$G-2BNC)S&&.SW/-(660C,5(JREQ0BDOL/<)1 M41"*D\FS!8_D+@H^\P_>UEJQQUF"&AQP->Z:"-L#R8(DS5+#"F M1^E9AQ%*X,3V'+-0 YS[I9-GX+=%4S?M=:@ MRR;;RJ=SIR7]EE&Y!DZ(4H@I$17SDFMN&06_50L2C/-BV93K' &>UQ)M&+^$ M61/2,GN#+&8>4%Z%,25$ GH_:M5:( -+98R*8Q-A$'UDDW!!B(O5% M6-56%(#GE,@?D?>!QTBH99)112,,4JR8PYAC6H0DQ UVWCV8SKX" MQFN^DW?SP; /9WY92A6,K/,&*9#11#%FB**:&6,"\H@&[9>F>.G\\9U30F*D MTL2(*9*&&:MMX("V!O?(*$S\TOBZ\\=W3@HX("NY$P0QQT30%FN+I&<:Q0@0 M%RD:O>#XSD?_:JD]]+;C3%$&&E>!=%86'"0= @;$Q[/F"B.B%Q76<4;#3C@> M@=ED!N%#/RV+[%Q#]:MCVV[8@YNE%WO227258;!:] PF^+CS@7#&)#@[S'"C MD<%62HMXU(Y'O/CSK@N+T@RG81'2,BHEF<"4<<*4HL19*GP$X8DO9\=I.99^ M""4ZH[&4-G5C"EL/:BQ$IB.G-$@.;^ T*+@+E#!9'I2JR:=,K_7T&&$R XS2 MJFXM D+!I%WWJ.71&":,15H'3(I7HKYN3M=&PU:O#TV[RL6]\OJ_A.XHO.EU M.OD@71[Z@ZU^:)ON3^_5=G\S[BYJ/JFQLXR6+-,>>T]X=,0R3XVU7$FB%5&8 M)NMVR3@UMG.OVZ^][G:$2\:?'E(7HJ36P\45J'Q'0=E++1F+7&DB W JL$B5 ML+30U+H)YCH<'0QSM\1H(FF]D0Q))17SBH.K&Z+Q:?&L$4H6:?^F-;B#S]/: MNB]A-[@1X)F'P:0\3/!O^[T.Z)SCT7 J'C9,OPO^[^!#Z(]MC+_/[K[! BP3 M>/Y(II>*2"HDTRHR*JV-5B*C?%#1,\E]@0;Y\M)B#G7VHP4)0:E #FA!J(F! M1FP1^'LJ2H,+%.!>3EK,)RXN!'4J1"?2QL(>$46YT*E^I)2JE2R5[FL#5@ M9#*I:5#$:L)*NV+>E)A#+1 .]J7 6J;R!#;8M*$>"YR88%/$4DQ#E)R(IV;" MHP. /"-B!@' &%#0Q&/!30#C.EA'C>*6I)Q;X2-YOA[XT;$PING(#8'#W8.4 M3;O6]2F[I__E5J!FNQOJ<'D]]#OY9+^_OT,WQ/R[FZ__=+!V1E@A'P)BAD$W M@M=,G0&7B 0%?Z+70<<"Z;2%!&W^*@H1C#V1+@A041$18YBG(F =B/16AB4: MC6_@O?O&#:\A6Y!AJ+$+7$ID>" ,!VX9 .6"Y,)A$W21PE:+A=;\QU^:^Z)< M(QG3,FNO+7>:$@G>9$0HTJ72AL-6Z-\XNR##CW%*B? NPZPYC+Z+M?PAFE88G#W.MZ+J,7@XCX/7LNK&58\LA@ /?#ZM*4. M61D%CIYZA,ZZ?^3!3>&"LLLU0QRX2+FM!H<8 7 MBZD"10&JO"RDC?DDI5^$"$0CKB3SG#GB3)1<8[ ;)>/ ";=$6#VSV3A#D)"2 M3AI$-+6*T6@TU99P@[EF4AFQ5 /J66V+&6(4-(@VRP,/ L92-$:#[K!12D*5 MQ206*$2XD-)O_A$_$K /+&+$$(P[PY7##/QMHQ11PN@B);PMELRCL$<$H60Y(02[3T/# NI2& N1"6T9M8@ MNOA9^0LIC9^F1)KE,G"I#3CI3!MPL2RCE&&3Y*Y'=HFPFD,(-<,\+(??K6]X;#7 M>94>!\\8&ML.%[>PO3Z\7N9Z[;8Y'H17%Q_^\/G@N&W.8"2T\V[(QA?]\27T MAVD[Q>E#X3'3]FNY2@@9O\(0.FOH+^X_?;W5R>N]'/H[#JI5A+YU_)L7EW=^ MDCN_',,X@1(XD6CXUPKF*Q>73%E,@5+6N*-4K['K$XUZ_5?] _L;X?S%Q=\* M6D6__W&-K.T0A[>Y-.'H'U,^3AD+MZ_XWBCQ]5]H_.>/8^/3QIU9NL0@7;.X^3P(#\/KW#JY/'7DPD+)%P] MEA)35H >2DS:JVW5-]8KN_6U^L;N35'VS7=;R)?9W7BSM[-5W]K8K:S5UBL; M_W[SSUIM. MG%@:)6*&.$4KYQTES_=%2M?SRMU3_2[?K;5H.\;5?7:^WF M_MYYH[-%JV2/O*>U=N/\&/Y63ZN;'W%S?0-5ZWNH=GYTVMBOM9KUM?/F_J=V ME;S+:^>U=JVM3M^3YEECWXD:^738A/M7SW=:S0-OU M+5S=K'4:9 O5.GNL45\[:\+SMM>WZ&PZ\?Q^;>%0JOGY_Y7W'FQYA_33=@\MS*03WL%7ZKFOY19;L;?G_(:_!G MM67UJN+TQVS99 :SIS#>E%J54OR,\79E@%Q83*EGR?'II04U[=KTTU<<^5<< M_[ENQ8T-KKNZ\6$FVG5*7A/^=PV!K\E7V>OFKN=#I;I[@X?6HW.1UKK[+1JFSN=9KUUV%Q?P_!< E*9-/>WSJK[%]=\@F?Q;K/> MX\UZK5/;?YLWUQUI;FZ@YF:Z?^VHNKX'[]A@U<-FNW&X=0K2_>1]?6U8W46G M\-_/C B"I949 XF>,8=#I@@6&?(>L(K4,>R2V-22B3_ND_/?,-E_9,3\D!?T ML\/G+NG['=']@T/FDK"5"6,KQZ/^8&2ZP\JP5]D-+D55)WH*TTJO7\'\-_][ MI1$S/N\_EP^91&PJH>N#K[P;=4.% MJ!>5-.#@YC<0_+8G52J54JG\,DJEWH>7R--(++Q6J=8WSD%SG%8/:_EV?>.T MMN[AW"U<.SPBU7J#5\]]WCQLP[5;M[7*:;5>!DNK4$I\5$1F$DD#K@,5F='&9D$)2JV45*,+K<)*K3(3 MK7+%V*=4*\.KITSU2NSW.I7/EW_2PZZ^/4"]/*>'I5?YPT(+E6M_%C5,\N"7 MN:K]5'F;@WJ&<99FK9XPB)]73SUPAYJ0C&7+$94Q@ MEAG.2!80HY@H%(3 :?819Y01K&X+P86E'98/8]V3TVLG'(S+3W6'J4+5KT>Q ML\^1>:0(4EGDGF6,89MI$UBF@N>>1\.",##\P0W<^'?ES?;.A]LDV]Y9JS\N M_#XO)X 2NDHN[G^W%W!S^NK&44KPY=7WF>O7CCZ!O?Y=XV/:O]^"MF$%E# M"E@@R7O]_1'NZ>)P5=!5BMB/.:Q,K$JB?] I1:OX_H-DE;(?O?:[3:8/O7CA MAM8L1X]\LM'SY [Q()5T/.[WOJ0!&KI?:]M4O*\/;L4XYV]< '):IN\-N/V% M5+X3[[A1?W<$'BX&K_:LUJD24+XY*-O3:@>>N?ZN73T$9=S9((W.QBWO^+A5 M[7P\J]8_Y;7Z%FF<-U!C_]UA [QE: ."Z\^J^SN=1KV9-S[=](Z-T<19H3+B M.3@_=F@!\YNXK M1='W[?JZ.=V:9F!.=E$HL _YW#)FZU+&0-=2ZQ7/4FIKQC@XHB!Q4.:MH0YZ M'@>'P/UD&9&82OF5__FUY;5(6GL9#.*Q$DV!N%[*UZXZL[JY6I@4,^F,FWY3HE5IO]>=\ MNY7[<[T7*%2&%B14MN9]/PP&T_^\AQ;@0JK3GXJ7G7^.3%@,JC"SROF,(4LR MK6G(O!,*M"41D8'=O=T-E4_Y.%R^WL^_A.)$9A>,;F_@XW:_WCOI_GID0Y\] M4X@)3#)#.$O9D_ )1YDYCZCRR$O'@6PUD(?NZ#;%7LQ^"-5),3_^GD,2?-9+448HS+0R(#6) ; 0/WCM6/'CLHG+Q.^[ZTT^V3>'Z MT -@V\W\N+!AF9]*6N:?@_&1!JDS&8C(F)]R773A_ML3,BT)]+5^,+\DMZHGGQWB45"G,Z' :F TADQ%QC+!G(P&<[ J MV,IKCKYRIG]_RO&?-IML?VCUNK_J9/L6^TRU,BY:F:4=V#)F?%JJ8'#FL##: M@I=$$2 C.,HHC+J?L>CF-:G$Q'35ZP]-@#*!+J]>T G0[Z]LG+U3_'S96;]- M]?.+"EA1[5%J8.4\/ZZDI,D7%=/UE6%HA^,TBBO=\3"^?J8!H3L]M1+:Q1!F]7S8'F=Q!'!X*JX-GL]"!E,+TIM],Q;R MNV<=VVO_-IA;7'\)^K(V32\:$S-<)#*#\#YIY?#+E91?[.FM8G3V$_HT4\U\ MAHD="YM"^C23R=_F)CP[+;4XWZ/5_2JM@2=9!;^FMO[VJ-%YUZF=?^2-^@&# MMMV>_#UJUM.2C<9YK>Y.&^<.5<_73AK['U%U?R=O=!IPKW9K>_W@O/E)G5Y/ M,(E6>$.QRE 'Y41C#/-O^F/8H5/[O M*D(DI?=7!FGKG$5)/2E'S+=&S%2+3)1(.5P>,%PV+H=+"-1KY%6F)%59V@L\ M4S3"F$'&4PEC!IL(PV6S]N]R+"SN6+@]PY'4_]>3&Q>:Y6*54V'7#CSW<+F> M6A2]\2GN*;7)6-0R4UC%#."(+F+-$5=@UH*77%O;75_[.-$PE52V(@PK[]^_ M^7ZNT8."%H1=QK0>&:2X=>5"!26VNCYE282*/:NX5H".ZZ1Z'R>M,$X32L&' M:\GSO^'?)]DL+3.HQ+P=?,6TVW!&6@&8PAK_&>4IJ#'L56R8G@ W_MGE@'Y< M5G)\ZG$_N#!V8#"I@#TQ; TJO\']THK!P0B,[D&KEW+Y+]8+#EMF>/LM3LS- MIJ9V3BZ>OLCODQC9;^3:VUH8V7"2/81W21>-SX0>7:Q>/S6!8 MT:CBS=E@=7*?AY>#>=Y@KR(_L=I%B\&_\ M='WRE/W->3';_;C%7 O%DT?,P3QRS#]=L]6C:/*=6,H7A_1(U5H1^-\@]<.=PZKFUNH4=^BJ21L%RZ3$(F/4\4S+\6[L3"**$.-&KKQNA.=:>?5L!7UN MYQ$]2T&?R_IAW^V[4D$LOH2[TWQ6Z/GJ'M?SZW9&<"9#/ 66=\+!J#U9'KB;U2N_)2+)/P@EJ],3AJU\7!GF M.%6&>>H0]*2]ET'E,/A]M0A9PF7@N%@!P4(&8,O <1DX+@/'I0%8.I'%"AQ? M,]22G3:-(QKRYWFPU#O_NU,[_;C4[#6AGJP/7Y?!>A[7ZNW:MOG76./]X5KL5 M.+8$(\$*&R$H(2UU?ADX7GBU M4 :.EV00%$0ME('CQP2.\T'%5-JF?Q JQKG0!L\C17]3++6?LGGO_+4"]G)V MYX%!Q[3AXS0A.,5Z7:\#/73V(B4OP^T"6-D'Z7?HIY-AZ^+P:F4WA'';?(AY M=[QUR2!%D__[7XH0>,][6C@^C/^X..V[)]S?OHL34P+SRCVM7$F%S\?!<$QL M1B[2L&_D7O_V9MSGO6[X_?ZEYPL4BF9DE:,?#45C\H2QT2>-NY(GC*$7]-Y/ M.:V@]=/%1A\7=YW'*N([3;I"Z?ZG7P8V#GV-97927@>]_ME=Y>[2G&7_S?2$ M H?$FNO-P\9A@S7J#5*M[W1JZQ])@VR@M"]HXW#MK-JI'5;7UTX;7]>:/JJE M>QZV6K7#QFDM/2_=J[YS5#MOYM7UK3.XXTEU_>U7]>PU=Y9)&C.N!,X8$32S M*JA,12H\Z#Z#I5EY_?YN35N&R9XU3%9Z( 7V0,K6+(3#77RMNW8EA2>DGXKB M4O3.)!15FH(_%@N]P_>?ETI;$OXQG3KY. MXY6E5%[\P,>]>]Q/ AYCE/\>#?)N&!1Y\>@S!3Q.W]?=U09^WD>CL<^\C3%C MWHI,&THRJK#D GXTF#YL>_M"93V6K2E;4_S6E%K_3GVT#0\MM(-)RF=K1^^ MY(-Q!+QKNB[9)\8YZ*]Q7ME@:+K>]/V@DK;OR_VM)=67VY70W\SO=R627:YC MGA\D]^Q=5GG"EMUGX7W'5+RCE;?#Z0])Y[R6A"<6=3P\/KMST KM]L60J?P& M V&<8PF$_&XVX^\W"K!>_[<0FW&5R^R+M7RZD,O5RV7VY3+[I7=0NJZSNMVN$&;4"[&QUHX^'.8:.^A9N;[SJU M0W?>.#_"V^N-TRI.2=K5RW@FHI$+B4-&O$I[0FF:68I-YC2S$6%%0GQ@/+/4 M'$45?87.9"HA+8V!;>[# MO=8WSFN;;X^:AQ]1L]Y VV G5S=KG0;90K7.'FO4U\Z:\+S:^1;Y['S$&".5 M":I3=2\6,AT0R2@C-F!E,8YAY?6[43=4B'I127U]VTQ^D>+<_5 Y2?],,7T[ MKKC6ZU9&W7R"Z'A7U<'*390C<89B$1PB@2G,M++(61>5)IS$@#]O78'K@\L[ MICWX:V6K]O8FUMU1Q_>&TQ/NV#IDO.7K>#^^W7$KMD?#\7P2C#@8WS ZX73T MRZ'_\?1SRNH(5/F,.Q8SY@C*M!8\(]&$2!77.+*5UUC2%XC)%T23"^PO\'T] MV2UW/)QO[JP[W4_W%K<@WCYYSXT'*5$/)? MWYCW^*_[XY *^N%;Q[]Y<7GG)[GSG>%@S&]G&]!99QM,^3AE+-R^XGNCQ-<+ M/?O3IMX%L6&(AL4Y]=LVS'%ODB7PJA]2)?0OX8^+V1J ; H%(Y>S%'==:>R@ MUQX-PQ_3KD77;S&YYOZB1-?_33>\PP9U)CXTQ -(1 K94TB,]R MY>*:5O_*T#X(F>T'Z]&M_>8$\;-:?%^Y M8O>D.6R!8OKW5[+]65M*'IKJL)#;HVJ]JCC],2TD5SD63R%V%1!8TJ>X,UV5 M&/^,/"^F_WOG<'H:!_C#VDY]PO6M)8ND/6,GOMVJK=7>;*V]KX!7LKU37:MO M;=<6J3L?'FJ[6Z=,XG?S52E?">JIHC2+U)YQGX$/VNN/MW-Y59F80)56/[FZ M__J^18'1RFOZYTMS6^$_/)M^Y@;KK/)VRX;=%]E; *WU* E1RH%GD0-;P]"9 MZ&:\>H](* QK?FH*9R8Z^C*A/&T:'%+<=U#Y+4^^4MZ9YJ8/*J.N&?E\&/SO MI?HNA^VSJN_%4HV+R>V2P4_/8+KR^DVO.^BUNB:[A2],Z?N*7H M+45O@1DLOBEZ4_)O/[1"=Y"VF]WJNEXGE$*X%,*+1F%6"N%2"!>6P83<$L)_ MF[;INE#9;84 @MB,9?'78G0]N-"QH5^AN!2E)1%G0T1>BM)2E!:7P>K;]JP9 MM"IOV[V3JU!":;66HG9.1!6EJ"U%;6$93/$W1>TXX[W5:_O0'Z1-^;#\H[+Q MGU$^/"L#"*4H7C0BRU(4EZ*XN R6:6WM, Q22;H;,OFN%(127I9L^UFVW:=T MRWS!Y6M8F2]8RH&[$X]N) R2PB<,EK1Y-MI43=<7A DCLLF&ECBL- MWEE)*DR*4$^I9,YB,N=].##MB?\=$A"E UZRZN=917]P>><"J-JR8:5Q4@J# MF0D#?L,X62NMDY(ZCZ!.2E>HO#5NV.N7ADE)J)\G5&F8_$(-*PV34AC<*PQ4 M$1:5E,Q93.;L=2>[NX5^*DA@VI,=XJ9U!W:#&_7S81XFN0U[@Y .3D,LI1E3 M\N_G^4=_L*;+ BCELF&E&5,*@UD) X*+L("D9,YB,F<]1#->W[IWG':V#=V\ MU[]FOBPFF4I3I5 <*TV57ZAAI:E2"H-[A0$KPEJ1DCF+R9PJW+:R:V(8GEU? MW;J8)"I-E$)QJS11?J&&E29**0SN%0;RNHG"2Q.E9,XCF+,];(5^9:L;>_W. M^#Z+29_2."D4JTKCY!=J6&FA?X'8ZS]M_^6M^UV[[K@W&!>??]4/[7$EUS].'/7W8"3C%I-;O7_MW_0N MN?]KY2'U7%8N+FKUKP;]0F?6+.!BLO;_12)^]FM[K^JQZ] M']S+ABY6T9Y)UZ;22)6M5Y6W6[6UVINMM?^ M!K]MU.J[7X^R!W*%KLQP2,]YD#VT(]]L;]8V_EUYL[WS87OG;OP+]T:UW>WW M6^M A_5KK*ALOZUL?]B8O.,='%G0E[Q'./ZVU:T,6[T1W,0/7E3"J0O'P[2O M9660-L:LF ZT<#CX?;Z#F3SL92:1K7LAZ9C^ WCC(V*HF^O[CW[SXVP?1JL0_>F>TBK]UD-,?O;9L\D(TF;"'7WR' M.W0Q0"8V_.@LI$V:KZW,[_#WY\^=1%"725AOD>8W8OMO>=-EQ\1HHM L2<6 MZ4M L1L[Q3^ 7[\ZJE-#?/H :&%EO'5TY:+C9XGZTZGR,>H4)=2Q+E$OQ_(O MB>JO.99+A^@7<(BFU$X/G"VO;_?NTTFSWT9=,_+Y,/C?2S>II%&1:?1<(O=? MSH40X_?XV,F];X>?PN_.H/[3 +@3OH3N*-P&;W[=]/!.>3I6_]^G[8Y):L:W M^V/"DDG\=>[]\6=^FD;7V[YQXQWO1]U\N).R(T8#OP+#JYM>;OQ#;KB/GJM MG$,,1:RU\HZ2J+SR%/'X>3V9SXA2E(T_"*)6*CZXO&/:@[]6,ABBDV4Q<*_3 MX:ONJ.-[P^GQE4K7=$)Z:G9@S/&K*7??]GN=\29QT+K]?-AZ,QH &J&_<>K: MH]29:X-!@/_[NCD% 0!='L:B8#S)Z^FG,[O>^_*>['QIT.K('VY\:6[JP^W. MI\/J^<9)<_W34;7^\;16_TBWZV];#?*V75VOM9O[>^>-SA:MDCWRGM;:C?-C M^%L]K6Y^Q,WU#52M[Z':^=%I8[_6:M;7SIO[G]I5\BZOG=?:M;8ZK9[ICNN\ M[6X?;IQNKV^<-L[7>..P>51;_\AJFWN\MMG S<-VN['_D6ROM]JU\X_T/=UI M-3JG[>U.LU4]W#EJP&_PG+/M^DY[>_V U>H-7B.?\BJIPG.W3JKGUPRNQ;7#(]K8V%?H&T_//E3<;<8\S- M:U@MBISYCHG[#4OI@4+VAVRC(LC^IU.(Q93]3],*D\B4QIH3 M3S227EN%K11)]F,-:@%GXP^"HO^?O6]M;NM&MOTK+-ZI>S-5; _>CV2*51I; MR6@JEAQ;F1SGBPM/BXE$ZI"4;?G77X"B1,J/6)3(+7 3.6=D2GQAH[%7KUYH M=%?L+Q?[/]Y@O],"H^34(?ER DPY =9@ <0C%YCEBE&?L%\G[&?MPOY'DS_^CSL0+V"QY8Y,32*!$SQ"GB*#=6H$3[<B4Q5Y(X1),I$_T8<[[<>7]6X']] ;[O1#.6\Q FN" 16/!,L=!1RQ= M()(HDPN/2-+C%+<*^PO@_8UM:\39?^W:UG@ZFDQS,XWQE[S1E/&X?W^]U-K:'V=\/AAZ4[;"W>%4%T MFQ2X*]ZM"^\6.C;G46LJ,0A-$MZQY)<49P*,PIY3@XF59(9W6C0A8S>'=P70 MV8IWV\?OFA1U*]ZM"^^6M%MN(C7$ O'< /."@@W"@W4&"6<33=XQRN_ MJWA7^5V30F;%NW7AW4*OM,)&'A/ B01HP#!"H*W.>J7E-)AD4)/XG99I?30A M5^X4OZM9V ^8Y9_&H\FD7262FP-!@T53PKEQ$L$1J4B#PXK@4C.1L9JYZ4Y66DW>GF:@WOW6#* M0LNQL0A2W*3H6;'QWMBXI'(:)B7/V_0ZAH2-.7?+6@;$"$^Y"T2S%/5CIGI( M-1'V%X*-!7#DBHTMXXU-"J05&^^-C0M%-&*"J:82D LR8:-&H"0W8'QD7&/L MO!3=/F&LE]S=[F!CY8W%F*\UO+%),;5BX[VQ<:&>4L.R_A%!14LS;T1@%5,@ M%+54.FYCQ D;95H1E3>V4UMM8RKHRS )9NQ.>@ENGV*>K21(A UHZ!F%!1-@ILMB5 A;VV0 MMY!3+6')>!Z!9 GMF+$8K!,.I*7&8^Y"=)D6JQZ2NE605P#QK9"W?2ROV4H M%?+6!GD+E53QH(A5"I3".4\^:#"6"] D:$*XB$+S;E^('F6T59!76=ZV05X1 M+*_9 _ 5\M8&>4NIHS$RYQ@![@4&1F)(:.<52&&)4(9)XF.WSU6/DIHZNJWR M9AM31U^%T],TJE[G;1B&L3F]4C:-/QL,!Y/I>-8<=N/"YOT*,[2&\C8I;,[M M_=.5M9,7V+MEZNH([N$(ENO<6AR)L($"H?F,*/(6E"41#$*&5^&T;^!5!_)H4/2OX;0+\Z%)S%\R$]@8+DI_T\.,!?B,Y)XGD$L#$ M<6!>.M!$(,#>.1.%#T2B?$"T)[5JU5Y7D4QWK5!2RGP4,()K6[3- 11!_M>L M^GX,XY$WDY.*_>O'_H]+V$_?6,I%XO,(3+)93NW*,H=E8(/!B77CX)#)<*8( M)C^T"OP+8/I%@?\&<>3Q1]!6\"^"_3>RG"^Q__N&-)]@K M8AP0QQTP:WS"?HX@$H6$2VZ=Y6:.E?UOM\[?QC3G@^'4#-\.[&GHF,DD3#N# MLW,S&.>S#Y^H_FICHO^.9[LT*?H?W%CW*"Y,GYLZ3B2\U[V?F\EX:D M[XJ &T3 VYHX<41QIW'>"N6YQ;D#)5V$X)AV&&/""2IRS+RJ3'#;]=$-%-1Y]%D^ M.@_Y+,3P;6*0@F 9J" I0IAEVBI47N7PRB0K2&X-DVRR%D4%R36 Y())$H&( M$"$FPYB92=9TU0?,\H^C3$M:@NMX&^KD-G\Y->#Q.5W,UC)^2,3/N_RLDKQ&. MS8?J %9R /O+2BO2"CM+"4C++##%/=BH#4CLC4A.(08ANWU*VU5WJ$@67%,. M2B>Z:Y!,*\@U!G(+ENN\XS%H#RSF)'M/&"BD-"AN0C 1L6!$E@+*ZZM;)K^J M(+=M3&Z5#?0U:)ZK;Z!7)-P<$BZ)HB(RXSP/0'3N($L%!9N/H'(LF>;4$JI, MMT]Z0GS>0':M&^N5ZU48;-YQK0*#:U U;V"P8EUC6+=@?5$YIHU*K$])=_5# M\R# ",6MYPY[9Q/K0Y_76=E2I"N \!661;I=LN7!\%V83&>'ZJ_22,O(']T. MAEOJ4?H;FUYM6!V.AJ/K+:P*[BN!^\&R;AFM]H$Z#H;'!.Y:1+#4,"!!L&AQ M(!SK;I\VU"ZBEM%JU_[]=K#90I,]*^2M$_(6?%8ABJEG#IRA A@6%FP@"+SC M6-EHB"2^VT]+A)2W55\FX:J0UV*6U^@Q^0IYZX.\);DR.F-B^C_P*N $>5* M9I9"X"Q$HS4WFG3[JL=)$ULWE>55R"N:Y369B%DA;YV0MV!YW!H1&2& ;0(Z MQHP%8Q4#19",08GH),ZJ90^3=A6(+H#FU:3+AYR!GYZ$\>SO>!]"?+RN5+@9*A:$@%$^ ;KT"$U,4CYD(@G%A+++= M/FDDO[[NNM==][)WW=<@5'YEU[TBW'H1;D%9)7$$Z^1JI$0QG[34H!0R()51 MC!,1*':8:8.Y1)6^5L%=9:R=F:51TKK&T2UI:8FL8FSS^0P'-E89FWD*. %*-*+YS7 M,:185*IVQ:(%T+6:%_F@O,BEFIH=.\N-OA8:I^9#9ZXU=KZS81CB8%KK;NY, MW M*FM%B#H?.Z*XUO.L^_M;!\!%T/!F4SPK[!8+NPNZ;P,Q,G@!F.?3GD1KL,I0 M,!I+ZT.P$I-NGXN>EKRX7((V5W>JX+L-[+?89-,*OJ6"[Y*$+!4V4;D(V&(# MS"$'UD8#5B.GA- HD) EY)Y0GY/>UH)O9;[%F*\US+?9M-<*OL6"[U+%I\"L MI;EW" D4&,\I"5IS\!0AXB-R,N!N7Y.>1+5"?BN%\#:FV!X\@N;=QIR-+9&U MD_>8[WG^Z\K(U2.LY!%^79:@M<'*F:C!Q=QF.MD1$CF7@"1.7(&+&%1NK]K# M\O.DCBU-4RN2:]=\CM+I=/-"<@6Z!P/=@OHRHYUAB@%VN4P $QX4(1J8Y]%P MR0*F+)^9):1=-9T+(+<5[0HA>$4KMQ7M'HIV2RHK(D%&1B1(GDL[(Y_0SJ=' MV I!*=->8Y1I'66?%S3=9K2KW&[;T*X(;M>\5%K1[L%HM]2NB _#]*8TP!?;,#4V8:MMC97@ MD/^V%3L1A3#_XJ7=="?4UH7W](6O;W6N0LX1Y",XF3P@(S/F;W,3;&0%UTS* MN:#+:DYQ&S,KMMYC;,[;MM!C%!$]-:F,5S_Q(#^QI(=CYF60*5*BB@%#%H&A MA ''QBCEO(G,=_M,]23;H3[@!014U5N4X=Y;Z"UV;F>A>HN'>(OE!FG4*FF( M!!:, I9,!\9Y H98G?Q\I)*8%%7H'J4[=&2FQA9;YBUJ;%'$9!6Z,U.]Q8.\ MQ=(!2V2T$]&!< H#HU2 YT'U.(MR@@MKC/9LW)U>@Q M3Y?S.'O;&QG+DIEI,K,?7=C3<-?#0(V.M*2QU%FKL]:26;L[%A+6Q,[U2A9X M=)?SV':6")X9^OE#"/][,7B7B-4PN=83,P[? MW]=MU9=N[U$R5>RZ_I>9#-QFDX%625LI08M8:VC[D-RH0K3.O\RE>!'&KS*L MK3>G@GRU?/NW#UZG$3T;G%XD5)X/;![7HAK7WB&N_7,YMT))3"-FR;WI$( % M+D%+3X$9BS7'GOL,0>&%,$E"$!)!.146(<,3CC>R,MYG8JB[R"?*7S!:8N M? 7D'YC"4$&^<9!?/AK)G);2:K F)A+/)(=\-!PT]B:8$!72(H,\_IS$;S/( M5R9?'LA7)E\PDW]@YD$%^>9!?L'DM1,A>LW )]*>0)YH4 &3A/D2(V:337-' M%_2$529?0(I!T^=!R]U^F-__]1CH+B?>[W] ML;>\0<&2@:*3!KAD')A&#!13'!21S*FHM+&TB0V*0C+NBHQY:G[VU@=$9;B) MHJ*E=>][5.>P)N>PB(FHB%(PK I;X!1+<$BXL H:0*WSJK8W.Y&(1ZB@("I M>H@R7'H+/42K-TVJAUB/AU@^Y6F2JZ8" >9$ 3,J@E(,@^.:6Z2(2$%$8ULC MA7B(&D-LF8>H,401DU7 CDOU$&OR$$L94DJY%,U9X"*%#\Q& IHZ#(8:[''R M[4+//$0C984+\1 %Q! /.-ZES P;:V3G@$>>_J5E]_P>@[ MU^BY1J:]*V ZO#BS87P49_'=Y&B!0#.3UQH^*T5ZSY=3"0+1F&%L@&KB@.%9 M'6G*(8BH%./"(A:Z?2Q)CZAV-54H4O&K/63*4K&^"(1-%D*N0+A1(%SJF8V, M458[H,+I!(22@XV4Y.[9Q"@ML(ZYE9;$/8IK-G$%PLH(FZWQ6X%PDT!XN-PJ M&F$7-(?$_ RP&#CHP%&BA<(P3@T)QEPQ0LJ:* )<&6$%PM(989/E:RL0;A0( MEUIG$.2X9!0LLQQ8P HT0KG=( ]:NB"CL%>,D* F>F?L%".LY\LV<+YL78!_ M[QWYU3>$MI(7%Z"4+I\P7O8*U2&LY!!^N:651LFU\!2P" B8#Q$LQ>F1TRQ0 M09GUN$FM=!.W86MX\P9S)]L.HZ6PZ@)TU@JCZX+1)5ZMHU8$!8C")/ ,.:]0 M&@I"Z>"LC5Z&F&&4]U@C=1M*@=$"6'>%T1:RT0)4V@JC:X+1Y0)GR8Z$1 I> M"0J,&PS*!P%4(\JMU\;H:QC51;?VK&RTPN@6L-$"--X*H^N"T24V:I)73/$[ M>$9R$S-CP BE0$>#L8O:,&*O8)27?6*^?6ST(6W,6#DY]>L82T.MI>JLU5FK MLU;BK&W#?EBQVV%/S>2DXP?O!CX,_636PFQ^TF7&]!Z[#./\ ^^R;$H(@Q[_ M?/RW)VP[Y)J-56,\./SQTY#BZ6S!OYJ.W)_/KN^$ZR_/]\<+,ZA'YE>+(U[? MJLD8O=7)6$ Y8\""-?;80N]18X]MCCT>N$U>O4=#WF.YV*..1@D"U.6T=IS; MX4HO@&LFK=4!2S=3KC#:,>]10.SQ]6V??TQ-NL[TKQ^\Z_\S_;A^R]+,N9!N MS/'U%??_:E)F.0J@,-9V5PS#;X3!T,S=&DDZ<+2'\[2Q4Z>?'5:SD>3078, MWX_#J9D.WH4?W@_\]"2--PUG/C1&GDA^!<1?>J>QZ8F"[_>W/ZWEQ.NO^X-4MG@R%\,O6?S>C7[]SB5[[\\JP_/?KIKEW?'!TN#7W\E>OZ/#5T<\'S_:.]Y]U7AVG?Y[O'QZ_ZAS]F*[R M^8N7^__>/WQU\-_]SL%A^GU_:R[W*[?-=P?#A$>CB_0A?O+WSZYF"WW&F1F_ M3?=BIL/Y)IS_.H>Y.2+.6-W-55VQVS3J4W,^"=]?/_CAFA8.AK-1S-[T*4-. M7S._S[5^0H2>W>KS9*'YY\]AX,D5#'S"WJ^>S(@A\=>?_\LW__63^ E#Y)YO M3M'(7SW)J;CG>[\U9(SDM@UY&V<9WW55;2 %;@<*/W\C_M2;G;^YUUG_#'Y* MR#8G_QZ?C$. L_39)Y/._M#_1:V-3=>,?H3U6Q?,R@OFU>!#T\OE&]!8PKK9 M,%"W8-W\YV(8.D3U.GFK]3[;33MFU=N"\!TZCCW ZIOSSS.K4Y2MCG6U>KV7 M=]*J;;^7:^S2LMAEM5Z7*TRO:@RCOKL8F@L_F ;_]QK1U&6T'YT-)E\9IO'F[ 2\_'W/_[UY_./KS\\/WYY]OS9 MR]GA\>OZ>O?7K/7Y%?Z?#D%[(_T^Q^.'/[T*SDDOW[\_=DOY.CX9/#\ M^#]IS+__^?KL]N\O#CZ_1[^FS?S\^_//PV6M^]-/! MA^=GSS\>GKT<_/['X1^''_\S^/WL/_'FZ,DK]/X-)L@HP@0H$QTPA2A8'@UX MJV1 U' L<@^H'F;DLP2P#4/(W>^94D"DS%+_VP#L6Y+WVQBP/TY:[R/68*UP M_@ X_[B \X!5LH6"R')+/R\CV( B!,$QX=1&A$BWSU1/LH+:%JP!U O(UZV@ M7MEZ@2?]'K$B; 7U!X ZO@%UGFBXH5: <=$G4,J%).26<0G36CT3U* M"VK*59EZ*T&],O4"F7J3]6DKJ#\ U.D-J'MKTTJP#&A(5F'(:LB=9 GUTR] M3U:BK-M7N*=X0;VWMXVI/UZ5Q.W:'3B:GEP51CP?AY,PG S>A?EN0:\S#%?G M@\R'[TL[\UZ_OW[_SG[_-[!M,_OSN_32.L%U@K?[I76"'W>"KX\(Y@-^I=0[ MKV.I8ZECV;:QU$#V;H'LWCLS.,U'HB&.QC QISF.?16NHN?$%XLKN7TW8OA.*3Q?PR^\]8,AO,\WF6!+O_SW=\4%7_OF*'O_(U0 MG> OE_9)_[LYM9R;H Q&?C)[S:=OQCVIU/SM',GKMT^NS[!>O[G7&8?)>7"Y MT,_IY5=Q]8&-">\G2V]I!]>-9-;>>5]G)@$_75: K[9Y?KU9=?\>G>;9_"FM MO;SW# =A$F:G$EZZEGZ=?CVQ6R%I!5[%(_-A[I%M,H6T=7VT'5Y M1DVYEUPB\$@[8-'E' GP6-KA;*"6*:[?4QZC.-6;1+MVL[_]N-E$?O@36:L M5KPL!2^7RME*1Y#-C9BDP,!\8*"X<^!YQ-$+$UG$W3[I4=PNN-RU[-?MA\LB MZ&63N: 5+@N!R^7>$8H:$@0%89 $)A$!E:@E,&8B9TXXAE2WKWI<-U']N[++ M"I=%L\LFLRPK7)8"ETN-VC"*C&@*CN/!S.SD=C M,[X\.#LW@W&V;O8&SX*=+OF#ZTW1'T?C5PG]JQ-8R0D<+$NR$4D4@A7 O<2) M,UL,1G(&3GID$H^FA/O$F3\_B+76:@GWNZ%:PY6;V!'=6L@K@BNO68G]&,8C M;R8G%0-POL<5P>2'S)W 45PXB+IW=B_'\'Q9-F7(>V&H!(EX8LG* M)I9LO &,D\$]0Q1IT>UKOF'=M.88U!R#YMW/*G"X!N&TPF&A<+A03WU(JRTA M'VBG";#D T$)Q #Q@(+41$NJNGVJ6E-TNTC1M,)A\>RPA!35BI1-(^5RCJK4 M62_BP&R(Z04Z*)4@:%X&WEM\68KS7\MH0B"!5O'PEO M%_Q6!L,82X261,N $<_ !F. $ZP0)@)K'W,M!,QV"&]+4JIKR?0ZECJ6.I8R MRW2W<4OLQ]$X?<5P?G3 77:FX_29IU<'#LP-,:E-".KWU^\OYOOK,:KU(UP] M*M7:O?R<^C5?!D_GJ^ X+X*KT>\-_?%B27P>C->(>Z6(VRUOX5L3K4C6!8FB M!(:\@+3((MAH5>#80#1^GN@'%RB6W M"R^7=LL1L59;),%2KH%QFO!26 226X60T93EXZ>\Q[Y0R7I+$;/2R&U#S#)H MY!KVNRN-+!H6+Y=@T>#$(B4$Y0@PKS H9RF((+VRAB=OZ+M]QEISTK2D#>NZ MC_271ZOB(VNOA>9$56&V>HWFO<;;96&6!Q^4P11XR!4*'')@M,0@50JU4K E MH[?-";.%I$(52;=KZNEV<_$JZ;8=59<23)%71O ().#$Q14)D)9OA! -X4(Z MJCQO0-(M!$Z+U'LKG);'6JL87)'V+DB[) 9[9@F.T@%ATB3^:@P8GC W4FJH M)RFD4;P1,;@0K*W4M1CSM8>Z5AFY[8"ZH*Y,L""C88!0%,"8IV"%BR"UI4($ MS UR#M3EJ=M'H0ZQY^8<:(T@PM4:+.8,:) M>K.N+Z/8F9H/96R4;8>JL(5[8?7\_YHY[A][RYM>QC 2F=" OCV,>U1S(K;]:KJ0.GJP'8( %M6%K#"XH9@<1'Z8Z)H\)P#D\A# M\G^Y*S:E$+&+/FBLJ&,Y%X (T2I4K/M3VX:*19#%->Q 5>A[3.A;VD9B@M-D M-@'<> S,"@$Z*@&!8XRTP!8;W>U3K5H%?)4.;AOP%4$'2ZBB5S%Q0YBXH(,\ M&8\E_P84:05,$ 9*)DX8F!8\RDA9S&W^>D)_OA>TS:A8TI[/FHY@;+\L>CR: MFM,ORJ*;/;QR7V5\_N3\VVAZWH\N$C!]73HOP6W_[?%. JUG-K/Z" M-ZV)$_=RE_O+HK+RWDE,0SYU9X %9T$'HB%2$0-'RGF;1672P_+S5+3'KG&S MSKNO%# K\VAS^]W3YDC +KJG(B*^)C< JGM:HWM:1',N!>M*BP@FQ>G)/=GT MB!L.EGECN)26.=/M<]1#N(EP;EO<4Y%[ ]4]U>BI$/=41/349!NEZI[6YYZ6 M6R )PY01#J03%IBU#A0.#A@*(@0L%-8^14^Z)VEY%4)K]%3=4XV>2G1/141/ M3>Z75?>T1O>T5*/5:Z60HJ Q0L \(F T08!-BH6Y=Q;G4U&*]SAK(D5@6]Q3 M\UMI_YAM_Z9__>!=_Y_IQ_4HE^;*A71SCG\X,^.W@^'5M)#%9?7_:]U5>^V4HNHU?WP"[;T#EZ6 8X/KL%ID1G>.3T#$N[WN; MX66"X' S-T*61 MI M+?YC5V7ORU6DY'TT&V6E]/ZO>ESC$#^\'?GJ2QIN&,Q\:(T\DOUKP7WJG ML>G++Z;AA[E/0[_3^?IT\?ZS MSK_V?MX[?+K?>?7O_?WC5UMS:5^Y1;X[&";L&5VD#_&3OW]V-8T.F=QMR)\P MR$\G?LF[YQMN_NLW_).K6_Z3*.+J2<&?4*:__OQ?OOFO MGZ1/D+KOF]$3_%=/Z^3\CXS0'/T67] M28*?.MG-29;_N1B&#E&]3A;Y[Z-<5JO>VZJ;B_2?!1?.;!AW*,Z6Q7K3^;.; M7P6//:5WUO:;7Y-K*#?QV##TW<707/A!BKT^JXBTFR"TV>HB!=Y,CY?4GWGD M=MPE>Z]>+<<]A>PO[O3W/UZ)GG4OV\W=[5?5"*<=,YF$V@V]K.\O"795L0O8 M3$XZ9IAF*#\(_WLQ>&=.O]1[Y?%.H!7@G1XQ5^+NV0[-3<<*R0Z1.$.Q" Z1 MP!1F6EGDK(M*$TYBP&\.'IZ"EU;NWM#G?_87ZW=O^M2,QWF/Y+_F]"*4DNUP M^?PFV^%??QX]>YM>FU_W]OU1^JZC9R]/CIX]QX?'^Q]__^.7R]?'O[#G/_WG MCT6V@R.'OQW@W\]^^?C[\:_D]V>_T.?'AR?/?]J_?/[;<_SZMP/V^_')GX?/ MWK+/LAT^OL:O__COV>_I&@Z/?T^O<1^>D_WWKX\//KS^^-^3UW^G82#Y_.,QU>H?=O')*(*Z'!42V!&6+ .AY >LF%QQ(S*KI]HD0/$5Q$L9Q9HJ0 8EA,=(@\HEO](J#EY*[X++3;\D[J77M0GAMUX%NF\X M76XX,H^G!\-W8=X$LM0YVTRRVOY&V:XIR2;12Y_(Y3W!$;I3;.M MGMD?,^;T.N,P.0\NYZV<7J;/.3T=O3=#%S+R=,*'_%3^T''P@VGG=)1B^,GL MTS__J*TOL+NKP<'>.S,XS5OL/X[&KY)[>!7)^;J0 N5T]_XLQ7Y#GQ:(*_09TWQ7[O%^A5 M]GMW%S!?#B]O5L-AF%:\OP?>#Y:H;JY]+ICF@(2U"?2= >MU .Y32,JTXU;K M1'4Q[@G9*KVD2*K;1/K%MN+<0[3$FVX1S6\]K6Z<+_SJT@]/3X!,M?1>&%Y]5^=UZ46++&>EM M.+ZVU@*.J\AP'S"^7"*=GG$IA:4@1"# K Q@*&$0G*5"4:Z8I]V^EEO=DF(K M"&?55BOAK BW+H1;T$VO%)>:&-">)X2C7(+EDD,4'J. $A5%L=MG/:F:*)A= M1=2=%5$/AHEC3D?C0?@L"WKK%8$MYYEW!NAK&UX>A@K)JT#RT:W<7QDB8T0 M1L8",T& 8D*E'P@'ZX-0 G?[G/0T+Z\,9]MX9Q4Z*^^LL'9_6%LP39>P2UJ, M@$6>?S +FM&$;3I@*RUG 9-N7Z >$:W:O]EZJMDZ7?/%.)R;@9\EHPYS^FG> M@!_E)H<==^MH:14\MY2(SBV\?V7@O:&?M;#OJF545NN\)W<^/]Y;[P7I$'&*&@O0X M.>@\8J-SC2'!$>D+6\]VV5?D[' W!W;$R 1.XIYFZ.ES%*.X)2M=7F4#.3VU] MJ]A!E8NWE&__/!J^/0[CLX/%,JL.9B4'L[_,NEVZ':,-&J3&$I@T!A+=]H X MM3)8JXD6W3X3LH=4$T<8JD)<.+&N"O&&N7,%N#4 W%(G2A&0IEI M@LP1 ,H MIC4H1ZUP440N;0(X2GN,U[39DDCRXU1PWV0JP^@\C3VQV?-3,YSV9LPT%Q0^ MSS=YKS,,TS(DXLI*[[&M=V7;%]FR>T._?VW6FH:V*GH?+--3&8-3T3+ ABE@ M%ME$3Z.'8*G6!B,J(NKV%>UI*HJ3/]K&3ELG^U9V6H'N48%N05.Q#C9*+2%2 MPH&IA''*&@XZH9^BV'F;2V0IW6.L50<)MIZEMDW*/4JWMYFF875.@YF$FEV[ MW<3TQIP_9VN^S-=^%'^=A-D.707LE0#[^3(SC5P['+4"(O)^G"4X 780(*CU M(3)$4"8U_6>:= MB"GCM=0@, Z0;C8.)@@)CB,LN)98!IMK:9,>JY)HE42K)+IQXEE1[;ZHMN"8 M1$<=#5%@+8W L!>@TK(%X8705 CLO,RHEBNIEI?\7R1;JOKG/6M;3 M7DN?&]V8K_KGABGGCX/T]>'GP;O@%Y:].IY0=ZQ6A>Q?EXDHYL9Z*3@01T4N M+1! "R$@4J\Q52)X36>R *4U<;0*H%4 W30/K5"W7JA;L%-/B/)"$C *:V": MA\1.60 CK!.2Z>B5[O:I[C%=ZPJ41$[;IH ^"S&,Q\%W!D,W.@N=J?E02[!N M+3>]MN;!S)C'YD,%Z_N!]>M;=02P#"@X"G16\HH0!H88"BP0Z;F241K4[3-& M>Y(VL5]5!=+"B6D52#=,3"O.K0_GED@ICE)$Q_..? 2&^.R6>6@P(6H4//#@ M-3"N#"0WBB'924OGF:7*=/NJAUBKLJ:*9*%5'JTLM +<6@!N04"#]-$S&@%[ M;8!1$<%X88!J8YQP5*N\ <1[BC9Q8JF*HCM>;/7+_'/S$W6O$H(%N-._;45= MN$K5OU9=L;JNE5S7VV5N;D2BWS@@0%K+Q,TE R,, B<$-0'9]/^\V\<]35E/ M"5:<>E*KS:Z'O&^[=]B<3VV?=]B5.*=ZA_MYAT5@PXR0BN,(VD<"S&@*AH44 MV."@HR!8:(^S=U"*)P]17CKR+I3=/;D:$B9IC(^C]VQD+$NFH\ET?G21$Y'O M6(F\T9&6-):US5I!X?8#=WLVQ^1^/MC[U\'/!\<'^Z\Z>X?/.J_^O?=R_]]' M/S_;?_GJ__X?1;#\H;/_RZ\'QZ]+8WL[_?UU(_/;2WO>L*!S.C!V<#J8#L+D M^V+W&W;Q^TO"YV);INXYEUXUG73.S:5)CO#1)-&J>O[%GD,5-K\0NLY7[HNK MA5O[Q]PCE/WC5OU4[JS@P6/ 1E%@7,P:>6.(6#'%@["U2:23#H&8 UPS@G:>B%>76@W)+F^668(F8 M :P$ \8Q!ZVU@B B34A HHRFV^>DAQM1&&H:\"[KWC,V6FLCM(>1WAP9KEA] M/ZR^53O6)(-QPQ5XFM->30A@+5; D'!>R"B M5.L:AW=A>!%F#5_=Q21-01@GS#@?30:U8L+64M2GZ?OR2'X;3$^>SJUZK2U< M5B"_#Y#?*C!+ N9,1)&0FR6V*AD!Q:T''1F2.G"*O.[VF>A)JMJD+!1)5ZM^ M6NEJ!;Q- -Z"N?*@13*? .I"EE*I *7RKXP$SQT)+E6I%NO4BW8*A1FR"C81!NO=Q"LF%2-&X\B \(L0; M+Z*?;2 )UD3+ERJM;EA:+;WDE_O\O&89:NIJY5XJ=_T6HM>4K0>B^*W*M Y' M&Q7F@ 2RN84L!D-RH5J:L-THZZG/U:\8ZW&%BQ,:=JKV5>MDUZ:0<5>X;D7& MAR/C@M\J+(6V)B1"JU7>HQ65Y3PUVH^]2H/ELJ M^ST<#>&:^XZJ5-LZNOL5 :.6+;\GQM^J_[)<4V)H$/ D@CE%.+=?H+K'M%-U)ZN>:^%$]2:]]IT_]H*=@\#NZ5: M5D$SGBM8N6 =,,H2/=7& DYNBVLA*/$H@1U-_)2UJDC*UO/3MFFJ+T-Z^[N0 M4:%6$&@#1;T1$GX:+7U5X M6Q7>%G246J<=<0R28XK L,*@%1,@J)71DXB=BMT^QSV,FZ"C54?=51WU:'H2 MQC4+M07\22*C),E(*HA =&B 3F 7"K3/8F!B5RD=H MD2JOL73;:&B52RL-K2BW/I1;4D>ILS(P#H+DDBB4(%#>>[ 6>4=,E#CB;I_T M6+LVA;:>C;:T4$ M$-!RKKH$X!6V5X+M6RVKI(B<$TY!"\>!16K!*&4!TTB" MMB+X2!,YY:I'51/'!-P,CI-,#'YO_]'$2Q_Z(3_O1A,+[\OEI?LXO<_WM[3%\=:;.GJ%^/K M@Z:3ZO\[0G"G7,S[KPSIQ>A,UOC^(?.WL7T9#1.8_/?=])H.I-\'TPZ M@V$G!Z.S5BV9@O4ZZ:_G(7GS=^'TLM<9CFY>.9GD5*O\PM'%=#)-#])DU-VN M)D<+BU;RO!)YOE49VSDJL;,4O,F]N!#W MH$0@("D1.! 9E>"9\J5;DOS0)B&X2,F@;G?MA"I08:X9F%LJ&TB"M%A%4)SE M@JK!@Q$^_>JY<9CSJ"QK)S!K>6V:0F#7I^[:(A/EX)Y M6\ZN*^9M#/.62+3'T2=7!%(IG%/&)"B%# 0FI9(,1<]UQKP&-MD>"_.VG4ZW MKQ'B7AI37F/F-)'F@8?$7)TY'TS-:15ZR^*E=S]W=F/2%\FB!\.G5_9<0O6* MXBNA^*WJV@FR/<^'&JB0!)@C"JQ!#H07C#!&'&6VVY<8]1AN5>IOB7RU*K[M MY:05[QX1[Y8..@AG)+,,D+(1&.<,E-415')CVELGM,;=OJ"Z1V6K\&[KN>I] M$WF*Y:HO0Z[T%'PGF/$PC:Z0HPZ5HJX,V=>6W)\;H M9]-6@^Q;!;8]QL9+'"#YV5PJ(1]RH!I!9$HZ2YUF(D&V1*3'=7E-OMI&45MW MCJ%2U(IW!>#=@J(*S05*$3E7PWEP5FAAG4IXQVF/B"8Z7M7: M,+LKIRYN[,YH5BC&C<[.Q^$D#">#=Z%S.II,>IUAF'9&,5W2G&S8(7E M!H'@U .+1D"RK 0LA>.1>W?MU*%*)+25M7U,7S+*@!X?TY; M ; X %PZJ^MP]%Q2T#)H2(;%8(4)P+$E-F">GLNMLV2/R,^S"+83 +>>X[:T MXLSDJ\!!,>Q P;TWJ0&.T,-FX]$[ZGVELZ$UZJO3@[\+7,C/_? M5SAQ8T4M_G(QSI^&+N>R:PQQATJNNT-??6J M#_2JM\JR(Q8XM4I!L)X#,TCF2A4*7&01I!+4^5"NC7'UU?1_Z<= M_Z-_\TEW?M^*9]1O7^9/2=A$C)&S=;"+!LH#H9FZ 9YYV2:_G"6 M+G;RY*O327RV7+[W3V/3E%]/P MPWSIH>6/Z)9DA"\MZR_8@-^>K>6?^5IFJ!L? M=5X=IW^>[Q\>O^H<_=AYNO?JWYT??S[Z[=6V7.-7;I/O#H8)?T87Z3/\Y.\K M7,R9&;]-2SR[L;R\Y[_.T6,.-#/XO[G<*]>6+N?4G$_"]][X9/<%_]22G]WWO7P^9/='BKF\NNMK8:HKO%[WXH\3L>K/S-[]3&YC! MS:D>KP8?X"Q]\LFDLS_TP=]!_[C&DT3ZPS?J57_QI=]8ZB640=KPC=>&A?.? MBV'H$-6;E=;;DNI6CVG6VY'GRAO]I2#NS.P4]6:%%+>G7F:Q\UFP!WM(7DHI M*/7=Q=!<^$$*^3_+MVW>LS5Z**O8%?_43$XZ\73T?M*)X]%99W0>QF::59PL M(+Z;B;KWZP72;(^9W?G^@O*P5SUKV."Z/@S3SF!VOF*SR4ZKV+0$"%[K-MQ# M#O/^U49:@_.QPDZ:X(%%3BR-$C%#G"*.F@8O;/CIY>[Y^]?7_XQR_H\/@M.OKIQ\'OQR_/7O_QK\'KC_]-GW=Z=I@^ MYWG^O-^>7R[VS_P?AW_LL_0])(WA_?./O]#7'U_S]!GD]1][Z/#9\\O7O_WW MS]?'>_2S_3/RG#P_/DG7]/L@O?;CX;/\67_BHV>_#YX_^P4]__B?D]]_>WGR M_)F/AT_G>V>OT/LW%N'@ D80,9; 0E!@!;> *,?".R*-D]T^UCW:R-;9Q@Z_ M-WC#E)DKO@V@OB6Y%8V!>A'I$<03I# C01'.?'3*8B^D<(3Y](D^9%#'>@[J MZ8&@J(+Z8X#ZQP6H.XH()@2\% 08!:A6Y?X9[BM%6@OJM) M[@6'&7O^CXO)=):PT)F..N.0P,4-3L.LC,E5_)'_GG]S.=(^'X_>#7SP'7M9 M0^WBO[^@4'O5@QX-W@.SA#^P9A+\K*)/&$[,S.V&#_GQ9P'XXYSK>\#1O1J. MSDQ\=)Z'].+4#/>O#%LIS"H49K 4EPK&7>"8 U6(YQ8_"@QE%+2-!",MD0^F MVR>DIU!YYYMK7%KZ&>9U8MW.16D5Z]:!=4OAFK<"2QK 6):P#D>7"Y.Y7'97 M!V:I=4@DK*,]PMJ%=;L:KA5,59^%\Q2B#:[HZ2CF<"P%8=/+7N<\W>K3WNR, MK24'+90!)B@&F[PP) *+N6,B6$FZ M?=+CJ@FB6G75JJM6HEHA;P.0MT1=N?#(60H.&0?,!P,61PE6:\U,SWX,XY$WDY.*@ TBX,<;!/RXS]]PKI$A/(*+ ME@.CTH$1D0$*+N3*Y\Y3GF]J13#YH540N/7\MGW*;+JWP^2JD/DH5Y +T] 9 M#-\E'!B-+S?-<*LZNW&&Z]X./WQ_9>2]H3^:F_C@VL)/KPQ< 7T%0']^O.A2 M>?CQ-3KZY0U#@07)*7#-+# 1 BB-&&@65'2.>TQIMZ]Z4K7K^$Z1G+9JM#O& M:2OP-0A\E]? YSX)]\F#G@8SJ7)M"\GLM5AQ8^J?LZ47TD4]A+XRHN\O4=F$Z+^\<1RS M2)4 9!D"%D@ $P@"I!6VU 0EA)JE&]#RFL:TCLI6>7;'J.S7Y-F*>.M$O 6' MO7S^RQONA(M8.N!>I^ ]V!2W*^)!&:<0M\EBCE0]MD@6VSX]]M-,63^8N/2V MZ:0S&G?.Q^%L<'&6'@]G(NV\3$>59TMEM),T/^G19WECSHU#_OK;"63/KFV] M-_0OYJ8^6)BYXOS]\@[>OT%*)_-1!%0+ \QJ!H8[#%$$'XBBN;-EMT])N[+) MBF2T59Q]%+?R7;.4ML+=XR49O'_CM"8B2@TLV@QWV()%# ,F5L2$=XRH#'?L M\_,"G]4PWPZDVWH>VSXU]F5(8_X8?.>M&0PS7YVD>_GJZ-?&>6L;E=A5 +Q) M*?:G9-XL0AP-7R4#Y]RQ"N /32IXOO?&<\LPI1@"%P$8#A1,,BM$)SD.WC@5 M*XA7 ;8*L#M&5RNDK3]=($$:,3)3T0B8YP*!DCG0TGN@TF'E MA,=8H6Z?D0VSTJJN[K"Z^G0<_&#:.4UW=]50MT1#O0W./U[UU1Z^?1E<&+S+ MK6;W3D]'[],?PX^C\96!,WK_-AY,PRC&O=SA.;UXE&;\LN+W/9,#,B4-/IJH M,%"K$###&%AL"#AN>'*OEA(5NWU9FXY4#;6=&FIY60$5#!\E;R"36>LC%3X" MCUH"T\: C8G6$F>T-3Q2ZG23.0-5:]UIK?6=.;VX21G(2)0&.4MY'0TG S]+ M'1H-J]Q:K-SZE3R!?UU,!L,PF3P=G=D$]7D@3V^,^W39MGOCL4E_G84R3T_R MPX.\VW:1C_-^Y2T_#XP=G ZFE[@Z@I40W=.)^3>!:N_CT8/IN;_*I9Z7$V>,7SE?#\^3+K)81$F0P(,7@) M3%D/UDH%'@DK [6(<)V/_5)=Y> J![=3#FZ8_%;P>USP6Y!9+0AE@2BPTEM@ MG# PRC"P/KDVAZS4>%;S@.+/"QC6!-LJ^JZ;SBXU79Z5ZYL5\SJ=QZVU 7-A MWU]0L,;D$\*+7>![;G[P<7RSN5ECM&)W,!Y 3ZX-O=C$KNQD)7;RZW)H%I'' MBE !3D@*+ @)%BL.PEL5/=><"9M+T6G^>=>G+64G-2K;-MAK2Y+..J2I"G\/ MA[^EX,QK1IV)()$6P)*!P1+K(6 6A< TF47-^GK2EI7BW-40K6P2^^LP16&G MP2<2^RX,+S;&8-N8@[,U!#9O'>=!_C:8GCR]F*09#N.;?>,*YBN!^>ME+ANB MY41:#M(;"8PJ#59)!HPABD7 6O-\D+VG4*U%5W-L:HY-(8RVXN%:\7!!;IV4 ME)F 01 ?@!G/$KG-_4 -BLRZH.:-]-.37;) MP!6P5P)LMTQ@I;;.!^[!VUP>7PH/5DL/0FJ&A*12R=E6L1 ;S@^O8FP58ZL8 M6W%OH[BW(*J,&*RI44"3\8 11\!Z[<%@:I#E(1"C\R:44$WT^-Q-$=8/)N>G MYC+/;?A&]D.#+ZW*\1T-_F(I?M4 M2;F-!'QN_NO4S?VK59 [6>4E<-67M7JHE3S4G[?.;4J*-#(:F,(.&%<$E#$, M'*':>NX]4:S;)[S'Q(:S.*NL7&7EULO*%>X> ^X6A#R&X%WD&K3A#)CS I15 M$E3@2AJE?42NVV?U &;5C1O)Z3TWES6AM^1TB+MFK;VX,F3%YE6P^8];M9X% M39S3J-R3A(E$18T'HZT%P95Q)EDR8M[M8]:N?+4BR6C5B7>!C*XS:[?BWSWQ M;ZDX""52AH !,ZP2-]4,5,0VEQA-;#4(C"E-W+3'O]"?:4LWR;:>G;927\*,9!<:1 ,:HI4E000;(>FY956P!PZ\EL*_78ZVR@Z^()LQ18-S]0 MFG#D?#09U/S75JJTUZ9_>67Y"NEQ5B;9*M.V4:+>N5G,%OGL"WS*/%9(*(T PCB'YL)@HK)$@D",X MT,B9-/D0&F^D9VE59G=;F9TELE:*K@7G%J>_V$WDEGXL1-3VV2K)M(*_; MTVFD(N"Z$'!!8P47DB@2 %OM4 M8[$JEKZFF[CCS.2DO1OXX#OVIG7P8KX,_G7YZR1WEKH!_;V;E5!!?R70O]7%(;%; M8BS#$&W0P$3(&66$ >?)">AH3!"TVY>ZAQKAO1NX^5I#BENGZ#:&G3LG]U;L MW!QV+A%F(AVQ/(*A7B3";")H0BA0)F2"5*VP-CD;%_4PWR'PW'I2?4]9^*LH M^^CSEK&@$T]'[R>=.!Z==0;#=V'R"9V^7_.^)H2:7?S^&BO>J73=Q=B=F%RS M;A3GB_HL#&NF3L&)Z'>F,"_,Y(T@BU M3C"A04EA@&'A0&F% #/OI8V.(F>[?2%83^G/\Q*W%/!V-@8KEZP^-].+\2S4 MFJ673]+]W!1OK5D[S='6\2C=Y'[R8XJS7R43SZU^N3?T3T>GIV$VV,E1K.!^ M7W!_N\QF58@N^>( +& .C'(.!A$.B OA34#4>IK8K)(]*9I(OJQY.S5OI^Y" M5"QL#@N7MB.L5)Y1!EXC!8SI $82#=Q:'KF-3!G1[?.$A;B11/2:QE.EV2N* M>S[."3S3RU[G_-0,I[T9 0XIR#W/-WU5:UNHUKZ8F_Q%-G@"_/UK:U>$7PGA M;_42$59P&1T%9Q0!)IT'1:4$P0WF%!LM/EW-0@1"P&G'*+:$R5PM1/2UJ3^K:Y:\.NME!5Y'_ MZZ<7OKN8S"HE_OV+B5=EB/[U'$/#YQ@.KI="S<6]'SOX>*OXC',F2&^4)6RV-K7[MUCJ%UFP0M.,=0?#'&BJ*;0]%% MC!4L-YR9 ,Y0"\R' -IR"U9@'1AVQ(C<3EWT1%EG@.M9AG7O+!3+L#\]RQ ' M0S-TZSC+T(2JMXO?7R/'NZSK@\GD(BWDD/?+W.CL;)2',W)_)D^168%Q&;V.T3T6-8M@HT=S8Z+)=&OPSG\\RS3XET33-K3YK9CZ/QPM!'\>G, MS#,XKSB^$HZ_7B:_U)+DNQD&3(@$YH0!XV/Z50A%O':(6MKM<]Q#M#4'Y8KD MO36_;!GV!=[\GL=N M)I95_??JP,3539Y9JQ_D/EJ2DS>K6T=4JTU:Z6A%O8XBWH*H1\T 1\J"2 M#8%)'\ F_P4R>J1CL#(&E!!/]C#;<(!>-=8=UEB7J&H&F33 _%MZ.$EW^WBV MT5+%UM8PUQ]'XZPQHZ3W(@%T=:<="N2UU89=L?2#SZ&\7"B MD8LK@!:$H N%4.7EA"&&2B#,3#'&!BO$!"CHN?: MBO2";I^3'L,;UA8* ="MY]GWE)?%$\F+9=K[,08WTY<3?*0O&W;"!W=B4MS= M2?%VZ%P]GG02C,T(>2XG.7N0:TJ^2]A0>P"UBUU?+8BCN#]?!B_3*C@:9G^1 M_[>_L/K+,)F.!VX:?'YB;^AO_V'IE=6+K.!%#I_M+=-P@I@.BF*0S@A@:26 M<4SEJNO&&A*B#J';9SW%516HJT#=-H'ZL;ATQ<3B,''I$%R@5$5I@8A @&GF MP'+L@$N9\3X6Z:.8\TZBOF/+@$) 7 M>)$F9.0/AFX;*P^,.P:) M#6@P,?TAI$5 7,[UP*S'OW#\Y+$/3U==NS"Z72@ MX^+5RAN"10O&#SW1#AM M#4B)$3!E!6@;./BHTI+A5@<3$A3K'D8;EC4* >&M9_AMU,:??HW3=\RT8\/; MP7"8%0=?"-LGB-'$7((.^.9$$JI2(UWGDC&;8CRS4%V(9A0_#@D MOCJ"E1S!P3(GMU9+1Z( I) )A #RST&KR06VN^D'.WS6"X]?2WC0+W7]+?D/[^5>*[^9F\2SPV M?W+^;30][T<7]C1\778IP7O_K=#H]LZSN:UA1B3.4"R"0R0PA9E6%CGKHM*$ MDQAP]JR/N5=0/>M*GO56RR*$HH_2() *Y;*I)#E5QP5$RY3C*/G;'&80)7J( M-!%F/-Y]60K,E;DWT'['M3FZL(N.JXB0T(C(O-76$4J83Q&AB98XBCSGT=*H MKO2Q!]69J8ZK4<>UE.HD"6:$:^#$4V >$U"2(^!,"V.0I(K[;E_EC1)6_=8C MQI/_F)HT^/2O'[SK_S/]N![ETESEDOEA?'T9_7_:\3_Z-Y^T\?=]U:%^^5)O MS\\W)O,;IC@=# .<7/V.R0QACT]"QS@W.DLCN\R[*,/1-*3(>CR2#?%-^/ MPZG)C0M^>#_PTY,TWC2?6/U-T^8DA,.#2.9C=@W">U=.NZ[J.$&!4* M::L])-Y[8HP@GK\C:&MRT>EPABWO/3!#KS\"'>+K_Z9[G_5%N?7K0B^=%?U) MBRBN'2&7>O1JD6^]X(O5O?[LZ(_#Y_^O\^SHU5]'KW9/]H\.'\U4OO*-#H^/ M_MS?VSUYOM>DK)L^3_7X$I<$XWL25OZSQ-F=Z^#X*?B+%)/'-GPVF-/!3<E_VWRX>ED[_"B7[6ONFB5Q[&>5$IM8ZZJ>=7X/IO[-W-NNYYS2UI" M?1#+;4CIU<>OO?C:@WQ;27+#:^$VNNX@(_R&UU[[5+&-A7QD+99UL;!*.WH0'Y>ZV^YK^.;N M._#NG(3U6K:=XVOW%)I)X800HPWL5Z8>W.C4!Q#<5:T9#C[?1O[$SR VN[%- MR633O4=ZT=GXU[R?U3S>RCT:D?5I_2SI-#?^K[9?')5]_\.2BS$&RB$)P,1@VP M5QN/G@YZT3PN&^]"]7V*/8PN[CKGYZ?77^^X^ZX5U1\IIVJ)'->[Z=XW1-U" MQV5!N.TU_H?U3/M;]\;^\7#6HS6EBGO1D%(',0LI192HX.RP7F$A/'$ M$^1)DS!*L+IYWLUL,Z=:7=@OR[%W;,D._WG[\>W>X>F;#V\_'OWS&K[!;WNSC)KW\;G_/7MSLG]Q@ \^ M'^Z]_'QXLLL.]^*=_GF)#\]>G!U\V+TX_.?%V7)&S=&>C>U^>WKP8?_KFZ\I M^V87'>Q]A(?QN[=[;_";?]Y<'.SMHS?_O T'19--NH"0 @R& "CG M%!AB"(#8<2>DQ2[(NMZ,R\N5QP]=8G%;Y<E3P=4H%5J,(^2R.LO<$4((XD!QA MP*%#T IM,*);.X3>1UYEIH%, YD&-IX&N"-.V:B 0NBIHEAY"!4/B%D9&++R M%BR&S! _RA!HQA R6.># !X&""BC%,B(8T XJ'%0#'DHMG:B#=%%I'WUV)DE M,DMDEGB$+*&(U!PK@KF&E"BM*=&.,.NTE0SRV_ K99;X498@4Y;0-+(#3:L7 MI7UD*8,,2$@9"!0++(6W(=D1 I$N7K&876:)S!*9)1Y>N-O!$NLLL8J\"MAP MCX31E(L0C0FO')?4&.>E\E?3Q/HKJV:^^%&^8%.^@(YPC0(!-NWC0BG20&$: MK0H;*!'"&V/0U@Z#7:0N+T7Q@!L89*;(3)&9HBU,L091.,F0\HPSB1"5VDM# M(#*0(L^]EX)G>Z(%_/!E;K6B*#5>:"Z HIP!*CT!RE 'HC48#(TB$I#:VD%= M@D67*I)MBLU:)7 EJZ!MO.9*@??7>RDIIS'KKY%*;]?KWA0N:)=7CB8BZ5 MB8A H5 .:(=U\CM)H#@G@$#C@@^*R!2=B"S!+N^#]M K [42QMJY)%V&R-O0 M@6\!'U=HO#64[8V'L6=J.*M2^*MC1^>I3>7S+WYHBS+G;*X+=+-$'8^1(LP[ M@"ST(&(> M)2 Y#TQAFN>3 1Z.XC )M!+H-N7/QT-[JLM+$:EV%,H_;F"_C_C35S\<.%V>KH3UV? N8/MQTZZ, MX]^-XX?/YN))%GF"1># >9VV8M4&*$PT0!8K)[C0UJ&I\MJZG(-6 M&M)J#] M **TI#L>O@&3D<@LT,H0VX]20*7>9P98CP'F FU>QS$D D#*HAZOH 9*" T< MM QBH:@P)#/ !J0@9\"[?^=<%N8LS"UF;^V]H41"@R&GS' M1*"*45N^[#N!Q5 M>]J?#';=9#_#M)7A?K_9R+!*>##+=;BO_/_&15F,_+$??BJLK[7S5]X.WO>K MNV1%?6U%_7BN&D-3+&FTL( 0A -J P;&&@O2 DR,IG5="=K:D5V([F.QMPR9 M&3(S_V=ASL**" !:()U0992K=V5)?RRRN+/N &!1G;,K9EHL["G(7Y9D1]CQ[A3-0_0-3S M[EL5@@S(0B!A_$$%YD!*)D PDD$=D):49ZJ^*\^M*\KSGKY(O>I7(E(^=8-. MS:GCWSV5#OVH4_3MX,QWGO0&97D):G(0-V/N%4/00:Y#'*9L;,P9V%^',[\S-CWRM@+2=D8.6F@ -): M!:@D#"C& Z"&4JDI]]2*S-G9JY]/O7.O?CL;G4]]/"&>#:W42"&><7_H8_._ M>M=YKXM^$^OI1-5$?])%3YN>!U%[ &54!#I%_Y-OJL"ZG;ZO:CQ&^DOZ]>1? MDO [BQ%M8%Y'3E+*24I9F+,P9V'.PIR%.0MS%N8LS%F8KQ^P=59Z0\A Q*P. M2E JE;(6$D?B=]XI:_AMID(?C4[],*UY,?2GOE\6GWSM0WT]M:W^,^BESOPC M6EC)L7K4/_9V/"Q&A2]CYY3QT/PZS-$N.PHG^DOVOZZSH>G)\]'1S/_*82#( M0PN,Y Q03@DP",<_F2!0,QPE@FSM(-RE#.65F#-:_MQH>9^%(QDM6X*6!W5^ M243,W7& &<@$TC (HC)6K-#TA* M2[KCX1MPM_O^YMF=9W>>W7EVY]F=9W>>W7EV/[@$Y]F=D]XW1)C727J_A;#- M"F_CR:GNG_BS\\%0#R_VS\YU,4S.@N1G.2\O1@,CW4O+TN^GD]Q M?SX"8Z51@6H#'%,!Q \!:!(D"-(K9(/7C-BM'9H=&<29*%.0MS%N8LS%F8LS!G8<[" M_!,*\\,[BE>DI2:?R;)%-=L-\\5P<+9[]&R_<9\>EWLBE8@]]@ &SK1W%[MBEDL$P@V&;P?!NG,@9#%L AO/^ M98323K](QT%4$0T]@T!Z+D%PB$BB*%:>9#1LD8-Y0Y/SX_R.C^AWXN0>^KZ] MZ(R&\9Z]VMFLIW"0\WT>WHS;S&!0#G]G8<["G(4Y"W,6YBS,69BS,/^$POS( M%H-)KI/&<'K6V$TGR6RJ6[_;=RNN=^USW=M[ZCRY28_-]QWW>P M['82ZG2>C/MZ[(J1=RU9O6 ;N=27@#$+R[2=?.M(U[8ZI;AM46#.B_-F-ZM)R2+MLU-^>C M1=*IZ.9TT(N=53[_W[@8762^69=O+F8UXMY"S3T"/G@"*#8&&(<1P-@X1R,3 M28.W=@CEF6LRUV2NR5SS*+C&&NP91B(P%FBB%&68U<9(PE0@4MV"[9-IZ(=I MZ'#.[.%"40XQT,0Y0)'%P$05 7"!C D82FS8UHY L$O1Y>TZ,Q5E*LI4E*FH ME52$>6!42.29I5I*R;US5@DCB+*1H#(5M8**9A81Y1HZ&UF(&<0!=4@#!94" MBFELF=&0(Q*I".(N4]D#EZDH4U&FH@?LS'6JU!1W0C+"8I\)JJTS01 ;!$)> MNJA^TZNYJ(Q]&#]E4KI/4IK+H)(R8(DL/8LTU&FHTQ'/Q$=K<%& 5M-$/<68D\EHDH::(T-4F&&@T?9,FH# M"CR9N-HP=AHRJ[[==1 M6D,R_G;%IYU_5S_FF_J=]U]LU#?>8/;Z"*_(4>L5?0].Z[\1KM!JJ?&3IDX: M>::'[XM^-5RI$KOYLQD@5O=_]9K3MZJ',+:ZI\]+_]ODPU-7E.<]??%;T:]: M45VT+"/Q,4\_%VYT^IM2VXRC"DZ;),'F_O5AM%U#[9+\U@>QW&:47'W\VHNO M/2BVB1(WO!9NH^L.,D)O>.W&M5@2^U4"N]WV*830HS:F5]9PG.C M4Q] <%>U9CCX?!L)Z#^#V.S&-B757/?^;8:_[ORE"P>*?N>9/B]&\;L;.#GR MD+=\R%_YD8Y*L.L\U\-^;-W5:\KG47Z\H[QK[?ALW-,C[ZJ9757Z59\6ROVJ M;U*U7Q:"#12"D\&H ?:J/*=QA%5K4(BGU?>U4^RNB^-^>OWUCKOO6E&]UNGU M..2X+BZ[;XBZA8[+@G"[@O"7'M8S[6_=&_O'PUF/UI3*#6]3PW/=^@WJU@_T MT)YV"$J%ZT@]@F+U6ZQ%?X %35;6HFMO4:KT8X%(BKS3&@:DN?"8,VF-3Z%> MI" A*->BKXKWGKWX>+CW^\>CO?V+P[-]_/;#RZ]OOKYD!U]=\>9D%\?[?'Q[ M$MOYS^N+Y7COFW]>PMA&>O!A'\=[GQWN'7XXW/OX]1#_]_1@[PUY^\^K=-V7 MMR?_#0=%DW!T##^_"PI#&$0 DCH-J"882$XLX $A)ZD-Q*M4B8ZZC#RR/-A6 MHE;.*UH#$ELP7FU-&WI4;+%B^:L;4\7/D?IS?U3P=4H%L;N1])8"(CD'5""; M5J?B0##"%$<*">Q2D?A]K$B5:2#30*:!C:>!0(DR5N.T;3>EBLM -=4&<4F" M@W5RZ ]:#)DA?I0AT)0A.!+*(D&!1,$#ZF4 QC@+($:2*J:D3\M6L2@+DM#, M$IDE,DNT4+@?'4L8)JQ $6XD(I0S;93F 4%GM$/&*YE9H@4L0:8L 3V'WED! M$#,"8",( MH]H&#"-?$-F%XO*B4&VM>LY,D9DB,T5+[0DBE3 8RP!9Y P?_T8A\@3A6@F% MKR&*S _W%Z*>6RY=06\TI0P0ZB2@C$%@-.'1P.">0:Y995&@+I*R*YG*-L5C MV4YC0S=N3DDI56[2(,2NJDJVR@0($92B'#2?SWOQ.7GOYCO*14(<,6JIMXP( M*J!2R''MN<<4H[0Z>=I?*6(\A0A4'SB!WX@TIZ?\KDOO4FF%[Y?UMDC#H>Z_ M]VE?I-\O9J?\I2_25[N?]=#-YRGM]_^*73#(^4IKD<'%?+Y2"A49"$$(T@*J MM0%IN0K 4?R/4P956IR"X?M8/G8SMTW*6\P]2A2\K.;>/@0FWJJ!;&\\C#U3 M@UF5I5\=.SI/;2J??_%#6Y0Y+7-=F)OEXB 8U5H71P;A( !%5 .EL05&4JIP MM%.HQ5'CS2"70>[G!CF'%$M):];(0#G%RG'HK:$"$4*))M\!EBLHJ=EA!X921R B>U=-'I)[.AZ2@ M04HJ0H"5D $*TUZ^F$C F50$Q6$(HV"FJWT-H6&/F\9E-/]N-#]\-A=34MYH;A $4.&( MY31 ("%6P&#G-*78$"&K!<_5Y<7.'S#_K)4XU,X4LXQYMY)A>S<1I2M0K=); M,ZBM!VJS")) ,##N,-"8JA0HIR".%P60,H.%D"@JKUL[EVNY,Z!E0'O4@'9G MKJ8LS%F8V\S.$,J@E*4*>40YL1I+QZ#7Q$$G-5+W98YDXKX!<<_*)XTEB### M .."I!6Y+# <I M"K0\&>RZR09\:>^]_7ZS\UX5N#?+-:6O_/_&15F,_+$??BJLK_7R5]X.WO>K MNV05?6T5_7BNMH! CS W'D@+):""2B"=HRGF'Q"/PJ!P"O?#KN+WL>)]QLR, MF5D!R,*SXI8R3($6& %J-01:V0 D@]BI M^+?Q,.NS+?0Z;V@I0K/X4:I#<,6GPOF^N[-UKC8P:)@CX#D"GH4Y"W,6YBS, M69BS,+<@-^D^,XOW)BKC,UV>9K-P';-P?A,6K12-8V6 Y]@"Z@(!"EL!A$=. M>FL-3@LHR2Z3K5I3/V-;QK9,U%F8LS"W/HDX$_4/$/7"[@9:.2>I7(E(^=8-.S"6$,@)I10 440$J*@9 264YP@"QDOLX)V/?I MN1WWASXV_ZMWG?>ZZ'>>].(D_Z43T4=_TD5/FYX'$2E &2=]I^A_\DUU1[?3 M]U7J]DA_2;_^A8G*R=L/K[=L9FPN9QYD8<["G(4Y"W,6YBS,69BS,/^$PKQ. M,(-9Q%0TLY%PE$EIC(,><6XL)5XJ M[;\8#(^CL7049LZ6[%FY@6?EX&1W=#3SK-#@,768 $Z\ I0:";1 #G!FG9,P M*&G3SMIW7:V?P3"#89O!\!8*>"%U(!:1(%! MA@+HB37.>J.#R6C8(@?SAB8]Q_D=']'OQ,D]]'U[T1D-XSU[M;-93^$@YS(_ MO!FWF<&@'#G/PIR%.0MS%N8LS%F8LS!G8?X)A?F>O<5E[)_X:1U/26,G/6O, MI)-D)=5MW>V[DYG--/.@9#?)C=PDS^=]QM8$9()R(#@10!QM#I1V%'@MN*3$ M(*G0U@[G)*_PFB'QYX7$6_ 99TAL,R3.>XX=A%)@C@'5@@"**08Z#BJ 0@CI MN9$&L8R)+?(N&'EW M2=X>)D1H!D/GA]438O=URD&O<)WI*]<'F\>1>-P-QJ;GIR?<(EF(^R]P*=/F MLN4274A'!,?>! &CSLR5<4B2(*62CGMJS;O]'RYMB91Q-N@?CP;V8[6_;;E? MEF/O,O"O!?S[H_G]:B.](RT#,"(M;P@M3EO5>L 8DBF]-!+W96 M^?Q_XV)TD?EF7;ZYF/*-Q$H+R@C0Q$>^X4P#&8@'-L2!8O$GBGR^0VCFFLPU MF6LRUSP.KK&0(6V$$%AZ"A6,%&.H9 $9PFC4KF_!]LDT],,T=#@S>[0@B/H@ M ?&* ZH0 X8X!YQ#Q'K*"<5J:X<)V94B4U&FHDQ%F8H>!Q5)2+5AF%NI/*71 MX(FX9G7@.F#G$?:9BEI!13.+"#-J=311@63, >J1 E)+ HB$(GYCI331(N)4 M=3&AF8HR%64JRE3T<)VY5E(5IZ>'[HE_W"IZ]UF=OWV?G^2Z*^E]]1 MCNLWA& F M00BN2//K%7T/3NN_$:X _^34=[2U@[/8LHLHG9W^8.3+CA[&K_N=(C;\_5#W M.N=Z6&]<=>I+GV"XDGT]\JX3BK[NV]B2^&+QBVK9T.TKN^5\4!9I+O\V]"GO M]Y-_^KEPH]/8WMBOT1Z!#?Y#?=^ZPORJU?%U[X+$[$I5Z\U#E7B^_&"K]8 MW?'/COXX?/[_.L^.7OUU]&KW9/_H\/&_T>'QT9_[>[LGS_?YR]?[)V\>S4M?,7^>[*!-7 M_K+&V\PQ5YHIS9\-K#0(5/'@]'UKCH_OT]/GI?]M\N&I*\KSGK[XK>A7[:LN M6E8BXF.:R:C4-N:JFH]-%GES_V:N;M=S=4G!J0]BN0TIO?KXM1=?>Y!O*TEN M>"W<1M<=9(3?\-IKGRJVL9"/K,62BT?68B;PHVHQPMM,WG02/%"3T;92U]QY MX>([J#Y9#=N;5(OR#:^;NMON:_CF[COP[@S%NE:C4WE$OL-Y.2'$:+[[E;6< M-SKU 01W56N&@\^W4:'T,XC-;FQ3LMITK[(8_M*% T6_\TR?%Z/XW0V\X'G( M6S[DK_Q(1R78=9[K83^V[NI-1/(H/]Y1WK5V?#;N)1=0-;.K&O#JTT(A>/5- MJ@//0K"!0G R 7M5O-I&2QKM0?5]'3>ZZ>OJGUU_ON/NN%=5KHR*/0X[K MZN/[AJA;Z+@L"+5C!<7-MGS MUI\9/^P05"]NTHYEL'\$C=NQN-5ZZY4P%R3$SBD"*=6>*FL((1PCC"$C@M?I M0 @3E-Q'<[W'M.#O_XNW>X]Z)JUYLJ1^C%QZ.]CU^/]EZ3MQ].PT'1 M)*4>0Q3?_\L[H6A " F@!"& 2LJ "98 A(*P6K& G4PKEN NO9>4H#N89:T" MKW:N\7=O#+,>++9@O&XUO?3.A+OEC'$Y>_3F=/&3I(C>&QU\7:"#( D7UAB@ M>&"1#B(G*.X=<,1;I;PEEOBTH C+5)"I(%-!"X7[T5&!B>@O<5HQ7"HJ C0^ MB" PHHPKIA2Z!'"TS16:*S!0/+]R/CBDTI#XP@:FBFG+E980@IRD.AEKL>V*%G#$E\DV&X?Q?0Y>OC/6!TN(!AQ)%5D":V $4<"P M$(37#(IZ-0L294*@'+K^&;9B0MN8M35K*26K5&E+@Q"[JJKF*A,H1&"*Z:&M"K#OSIV=)[:5#[_XH>V*',^Y[I@ MMYC 8WF@)D@*E'(4T( @T$Y(H*E'$D>[ABF]M7-YW]$,=!GH?BJ@BQ.%1?@R M"%I&I0C*(B28I5Q"HP04MZH,9@R\6PQ<3$^!TD!BO060ZHB!PA.@J/1I8QKG M!<:8<+>U0V47DZSQ92#<1""LBL#QTRS,69BS,&=ASL+<&F%>QQ9GG@:�DB M:C+82FP)TX9#Z0CRR&45]1&IJ,OQ*\F8QTHKP*@A(/Y3T62' 1"A*48&0Y*V MBJ^4U/LHMME,*&Q917V;XU.O_/EX:$]U>2E"U8Z"^DGJ#U\0"H-Y6R0 M%U#^N&E<1O3O1O3#9TM1)A>4#U(S$ S$@'HM@"%4 $VL1Q1* 4T59<*H54EK MK<2B=N:E9=R[E=3['^4E-%$4KK>065EO?2$BAI/'!,>N=HJLK$6SL,=>&* MW= S@V?0>]2@EQD\"_/&"/-:-O9]1XXR@]^B7W$I4D0HTT@X!J3 "E -&5 6 M!A"8$,PZSBD5#8??\>[QFPE[N8CI^U?J3W,=F#3-4XAH6M?2\5_2YZN7;,]Y M #FI)2>U9&'.PIR%N>W"W-(B@EWW85R.J@W>3P:[;K*Q7]K3;[_?[.A7!?+- MJCG0WA#%0@#$8 (H MUP)H0Q'@$&(#%7XZS1 MMDNC778\,XTXAD$!+US*_,(2&,D-T"X8J2"B$I*LT[;0^[RA)0K-,DFI/L$5 MGPKG^^[.%LO:P !BCH;G:'@6YBS,69BS,&=ASL+<@CRE^\PTWINHC,]T>9I- MPW5,P^5=762@WD$=@&!I5Q>"1+0),02<6BH4E-+X5.LHNVK%]E\Y(RD#W*,& MN,S669@W1IC;FE6L(%5Y+!;@3"E %#9#64V"I) AZQHS&F:_O MS(?KBO*\IR]2K_J5L)1/W:!3 (( (C M0(EBP#!/ ([CIRGUCCNWM8-4E^05:#/(;23(9<;.PKPQPMQ23WYF[!]@[&5/ MO@Z8N\UT6_\Z0758!?.E$WT9]TT=.FYT'4(T 958).T?_DFVJP M;J?OJS*/D?Z2?CWY%^H**2]%HG->1TY2RDE*69BS,&=ASL*$2D<5CC8?T<9*3M:C_K&WXV$Q*GP9.Z>,A^8798Z6V5$XT5^R+W:='3Q/ MGH^.%GVQR!INN$5 Z. == ##3T%!@83H(K?"K^U([M,P7MPQ6; S(#98L"\ MSXA3!LR6 .9!G6X20?,UBM>\,T%(9KD S@L!J-(&:&8A($I9)#E#D(;6G[PRMN>+LLBQ)>H\"MM?#STKAAUDJ,Z^:GGG-*Y1.'AK<+-C#?GM)HL MS%F8?T126M(=#]^ R4ADJLJSNUVS.U-5%N8LS%F86^J-+V/WQ$\K74DGI[I_ MXL_.!T,]O-@_.]?%,%F$R7.TY\UHSGZUY>@'H]A]'^LH>=<.@8 MI0@HCPB@5")@N'= <1DX0A1ZYK9V1,YTS@CXDR/@+;C7,P*V 0&77>:4DD 8 MB1 HE0%48![!4'+ %;2.0NHLM!D"6^8OW]"4[E7^\I2H/4WR?I*RO'^9.L\C M/=MO7"Q'8>9^R9F*-W*['"P[GG' " 43@':< M \H8!8IK#Z V5#'B(19L:R=M?'C9\9+7R\YH^=.@91O2NC-:WC=:7G)2!X>8 M%P8$XR2@4G,0I8T 9EUP%CL()<]PV2H7]8:F=,=9'A_1[\0I/O1]>]$9#>,] M>[6[6D]!(2?(/;PAN)GAI!Q1S\*YD1_EY;+763-"-!,06&$MH(H: MH)@UP"'!C'*!*,VV=EB7\CO>I3%C9L;,-F/F;68[9\Q\7)BY['O6FB.-$ $: MIC5%;'! *N0!=0Q:*B"1@6;0;)7O^0[">@_=<[_KGNY;W]%E2G;^[[CO.UAV M.PE].D_&?3UVQ.(1IY14D=*'/QB<1+YO6E+J=B7@#(+R[B=?.;(][8ZM;AM86#.B_-F-ZM)R6+MLX-^>D M1>*I*.=TT(N=53[_W[@8763.69=S+A8XQPK)(LDHX$Q @'K#@990 LFX5,0A MJ 32"E5@!IR!"1&CEJMG8$@EV*+KN_,AUE.LITE.FH ME72$>6!42.29I5I*R;US5@DCB+*1I#(=M8*.%BTCYN)X<.A M) $H%0X8+1C M@. 4DC%*8.8C'4'<92I[XS(=93K*=/2 G;E.RH'B+H(:8;'/!-76F2"(#0(A M+YVBG%[-1^MG&F1B^F%B6LJL\E08AR$'UG,&J( *2"@Q0(PH%(=24**W=@CO M2G&9EQZP0BU34J:D3$D_$26MP4@!6TT0]Q9B3R6B2AIHC0U288:#1]E":@,1 M7=H"BP@8$$- L!"9"#H,M$7I!V8:&8R085L[J$L$[T;S-QM)#\)(5=;;KZ.T M7F7\[8I/._^./R:-G.LJZ^.,'$[>8N??9OCK;/>-;U]WIH?OBW[5FZFDNOFS MZ3]6=T_5BBDIUCT<7ZBGSTO_V^3#4U>4YSU]\5O1[Q5]#ZJ+EH

    D]O7W+\^C+9K-%P2K_H@EMN0TJN/7WOQM0?YMI+DAM?";73= M04;X#:^]]JEB&POYR%HLN7AD+68"/ZH6([S-Y$TGP0,U&6TK=?;R!O_&<1F-[8I::;/BU'\[@9^B#SD+1_R5WZD MHQ+L.L_UL!];=_7R\GF4'^\H[UH[/AOW],B[:F97]7G5IX4BO>J;5*.7A6 # MA>!D,&J O:JJ:7Q5U6(2XFGU?>VWNNN:MI]>?[WC[KM65*_U23T..:YKPNX; MHFZAX[(@W*X@_*6']4S[6_?&_O%PUJ,UI7+#V]3P7&Y^@W+S/6_]F?'##D&I MY!S)1U!F?HM5Y ^P >/**G(C'0]66009IXA!Y33$!@E(KK#W=W'XQP$ZQ"_.#K[&\__X^_3-R>]GAWOO/\?OX[\WGX].GJ/E MJ.S!UWC\GWWXYNOK^,PW7P_W/L*W_[PX/?CC#3S:VXW?[\*W'W;9PX(,-9K0)5C0"$<94,&8CACFA"7:LAA5V+XN *RK02O MG &T!BRV8+S:FN#SJ!CCGBYTC2N3\Z^+I !]J+**/* @FI Y0J!0P, M'OBTUIC$V 4F4WGW(ZNGRU20J2!303NI %MDD,::2((ILM(8J"+42!BLU$BY M6[ <,DO\*$N@!9907'@*J0>".0ZH4 X81@5PEF.&A$:0PZT=AE47PT>6Q9F9 M(C-%9HIV,H7A@@H6A/984(28T"EI4,(9#H4UCINKJ2)7+-\_9[ %SF !8ZJ8 9+( *C$'$B&,1 !8:\1H<*Y MK1T*NPRB1U.OG-DBLT5FBW;:%=! ;GATO-($Y)HS2AW#C-"K*?T&K+(''%_ M8>N%Q<\_OY-&$H,I \)C!RC'#"CF%* J&HD48^8Y2K7$B$2YX"3;%H]E@XP- MW9PY):M4:4N#$+NJJN8J$RA$8(IRT'P^[\7GY/V9[RA'B3CO:41U:Y&BT'LE MK?22!2Z5#E;*M',24LW.2?$#)_#F@)\:\+LNO4L%&;Y?UEL@#8>Z_]ZG/9!^ MOYB=\I>^2%_M?M9#-Y_:M-__*_;.(*QIZI(:W* M\*^.'9VG-I7/O_BA+0'ECYO&943_;D0_?#:-,I'##Z_I.RHXU4X2 MX""B@%*N@.$T (ZL@IH*:J2LUC97ERMB'C!IK958U,Z\M(Q[MY*:>S<1IBN0 MK=)?,["M!VQ?%X"-<"0UA%%'Q3P JB $QC@>?Z0=VB75VO&MGK)& !E/?12 E0*_]ET,N@EQD\"W,6YALQ M^+U'CC*#WZ)?<1HI^OH&'>V^L]39M#024([JR.',)@-< 8D5#';=9&._M*???K_9T:\*Y)OEJM-7_G_CHBQ&_M@/ M/Q76U[KY*V\'[_O57;*:OK::?KQ4U84Q32UU M$E@I': ,.:"8Q#LYPXW@+U0*^(\H,)%SH8" M H,]!DQ8)Q!B7&&5.3N[\_.I]^3.;V>C\ZF/)[:SH<4:*;8S[@]];/Y7[SKO M=='O/.E%%>"73M1-]"==]+3I>1#U"%!&E:!3]#_YIAJLV^G[JLQCI+^D7_]B M4.1"CX>W:C8S>I\3E+(P9V'.PIR%.0MS%N8LS%F8?T)A7L-Y:KSB2#)/M-24 M>6,X4AAJ%)"4G,I;=9X>C4[],*U\,?2GOE\6GWSM2WT]M:S^,^BESOPCVE?) MP7K4/_9V/"Q&A2]CYY3QT/R"S-$J.PHG^DOVPZZS>^?)\]'1HA]6$HB=\P(X MC@*@!CD@*?) :"LE]5%$M-O:H5W&\3VX83-@9L!L,6#>9[0I V9+ /.@3C6) MH/D:'>X=O".!"G;"9 M20HY%RL+"$PXX+ZSD0H@I.8 J,D 1XZ9D+ MA,=_R=6&+SO:;G6MEPR(&1#;#(BW$);(@-A.0%P./CC#*+84 TNA!Q1R"Q0F M"O @H;'<=T3#>LU<[G?44$G*N^\.; M>%Q5OP'6=8;#,L+GN0F71.4L0C+@8$J*<<* ,EL%9+!;6# MD0\S+K;(@WP'\;>'[KG?=4_WK>_H,B4>_W?<]QT"NYT$,)TGX[X>NV+DW25Y M>YAPH1D,G1]63XC=URD'O<)UIJ]<'VP>1^)Q-QB;GI^><(N$(>Z_!*I,FY:7 M2Y0A'1$<>Q,$M)1P91R2)$BII..>6O-N_X>+GR)MG WZQZ.!_5CMFU[NE^78 MNPS^:X'_Z]'2HGN:*DP95H 9I]-V=PAHBJ-BK)A700H4->.T?0[L M[4S$&P#AW4V\=J9EW!M;W3*TMF! _[49TZ/EM'39C+DY)RT23T4YIX->[*SR M^?_&Q>@B<\ZZG'.QP#F8:0B152 @3R/G& <,9QQH%F20B'"7_#"$9K[)?)/Y M)O/-X^ ;"QG21@B!I:=0P4@SADH6D"&,:AENP0;*5/3#5'2XE$[NK!"(:D , MYH!2B(!"0@&O*-)(42,AWMIA0G:C*93I*--1IJ-,1X^"CB2DVC#,K52>TFCX M&.*L#EP'[#S"/M-1*^AHT3*2/C I'02<0PFH<0PH* +PD.%@O35<13KB5'4Q MH9F.,AUE.LIT]'"=N4Y6 :2450E7G!"*/3-(<6P0CC^]PH%>S4?39(),3/=' M3$NI4\8'3C7$ *ODL@N& DF%!Q@;*FP\$+#.L L$8!")X!R M"@+HL*<..QNLW=I!7:10EU.8C:0'8:0JZ^W745H[,OYVQ:>=?\J=\W=+H?N>0+([C-P9])C$(KDCWZQ5]#T[KOQ&N0/[D MU'>TM8.SV+*+*(V=_F#DRXX>QJ_[G2(V_/U0]SKG>EAO=';J2Y^@MY)U/?*N M$XJ^[MO8DOAB\8MJ.='M*[OE?% 6:>[^-O0I!_B3?_JY<*/3V-[8G*9I%&\+ M5D^'55=J$Q\^'OFGS=2"\[?8:M,@K$JY7#$&T^,$<3S=T1L32XZ'';WZZ^C5[LG^T6'GT4SF*U[I,)+T M<>?D*+[4X?'1G_M[NR?/]SHO]@]W#Y_M[_[9.3Z)7QP\/SPY[CQY?;C[>F\_ M'I]:=/?X/OC[WF?%@'S?9*!P:\4HGNGA^RCJB:[YC&V_@>.K+VK?N'?0;YU& M83X'MAU?%F[/#T\,/K_&;K^]IU&WC,]Z0P[U7IU&O[?G_O+IX^X\[-YCR M@[U79P?_O&1'?\0V_G-X=OC'?XLW^#D^/'G[X6CO?=1M[=>W'RP\_.-%./P0 M]=[W[YC#P6&+@ W* ,I$ )JC^"F*I<8*4A5D;;,4_;%WN\GB0# @(X7')/BT M[$]5L*B$I%ABZAW?ZOAH8)PG_!F._=;.\?@L2N-%XN&YH>C,QJ(S&8R)IMQ( MPI)TQV--0^H%7:KQ^G9C%ANOD$6*"<4(MU1X;:AF.$"*M&14.72GR)< M/&W5Q+J"F7?+SKD?GA6CI.B8BVI!]>&XY\M&%^K,UL"*ZI+K//]B3W7_O>^D M#/>B+*OECJ,FY8>]B\XK?SX8CJIUVE]$&[2S\C\$PJX4F;U^I>K^.*TO8&Y7@8+QCZ:*P.Z_:_]WT? MU;GX]*CS^?/T5GHF/>?#(BIRY^GUGORQN_O7+]N=3NP!'6]1CGL3_:^CW>!\ MLOK\[O'K5-?! 2*=K0.OTR.3!IB./8L/+4:=5!#FZ]><:HK[_3**=+V'[E;L MK/=]_R7^&L8>J47R27K0UK-:+=WZI7.JXT@,!Y\*%YO<]Y^7WK!7::*Q>VW] MS%[]S"(M@5^4ESI]VN>I>^-+1H3TJ5+-=\K3P;@7N\IWSK2K!BPUY)OZ;C4. MDV;4XQ2[LC=.K2WJ=?B;=ZD*],73LK/;C].OMZ)!_U]R25277'@][/A^NLF> MM_[,^&%MGA'45-.D,W4GC-.01ZP8%M.!&:3RO,K=/H&)^8%N8.)J-?V1SM?] MNJ\'YT6_Z8?TYYGN1SUX(I9S@]&MY7G>_%D8ZFFMTNI!GY]QLT6QRFYUDZ*L MNCKMT) \3+UNE(^TG%;ZF:$_&D2LCW@R?)\FY&&4 MJ@[[I9MLL@@Q1<(3':5\U"EBXXMA]7J+9\M?TD/33+.C:JN@I>.(QQ/2\ M76KMPD* 99QVJ:&)@.*T.(\W3J>%^.C>Q4H)G]UU8KK-5835@HQE$F0,ZV94 MZ%I!375:D7Y%^&T>/YD5H].A]^ L]OUI=559?&G^.J]V0BJ;*7/Y*=7ILZ\G M-6GUPVO@KC"C*HMJ/'W-VW1\Y?%+0SM7\9HF^>#,-S?0Y6DG] :?9TV=-*CI M+.\V;L*=S U9 \GSD#IA,;7BVUPE>1^\I-)/VEG ME-Z([_[+N;?5U&Z>7Z%H@MSM2]K2'>K4SZ+4[/9=^I6R1K9V#0=]?1-8??DSL.*=J)O[Y[!-;1_).'OV*W&IMWOF*I6J- MVIM1IYRI]I^+B$*#81'?/++9F1Y-#E3($F&K4P%5_'O8B=IS>E#2TAO^3$IV M6=.#GXU"]:!T6D6Y\6-\]%E4!:M]G.R@'$6]]-EMM/']T,?K$\;I_F)K:Z7U M+*HP23=8?*W8A;7^V;S2JC>JEG<8S6\C%=N\MZI=*Y^RT+#I\RX_)Z(O6/VL M_?A%N5+WJ#3<2E&IKTB4M++'? B1!A)+S+4LMF@T,:N2>I9L"]^OVG=CG;FU MLV7E@*TI2'',HOT1W[P6Y7+5;F,3>1]6%D\M\4E[[,0),8XZ5/7<\73[RT[: MRJR6T=J:ZU9;G:49I[_4"M>\K5>IURGBYJ[7X"H5M+*-5FERG2?I;K]4)N$5 MS:C>8=ZXFXCF3%6-T[\WB+)>O5%E8=03>[IG6_HN:4O)'DL3++;CK!B?)2MP M64AUO=5G!0\VOD&M2'>GO6EUSXYKNW->-/.K%=Z\%35>X==$9V#C4L3DW1)66:B61@VGL5&=#Z?^FIRZWET2%.L MGO.CB_/ZF3.3.8UP-0CQ_$0IM2C.W3_MG;C0HHM%^4WM7V3N[H+D)B.] HY) MVZK9'ZWKU-[T]-HN2?-J.#B[JN5!V]2'J87]YI:I%U>_K_\2I;%<;$;3A_4H M3*SW.;GW\P;LU#BJ;:4H*[W&6$I-K"!FTA?+(-?T07$&7RNEJU)\+;D1RRGL[E!CF^5/;1DTGGM7^V9HAQZ:,C)B&H#&ONW.8?FET M9M;R..H#\R-UR7N2KI^>OM@S"["XDCHOO5FMH]J$]L4*\MVJEB&;LG=Z;K_T MOVQ-=C]=[8)8]$#$9_Z3I,/Y3[Z77(>)-:*=."JB\C.5S=6OM#S'HC*1=([: M)3C1@1)K55EFB8.'ON<_)7]L')/9/*Z)M))Q;8I>FECQN;->WHY25S'3[$9- M-Y0U22==+?559(OZCP8PNIUX7?R0DI?JD6KZW'^J3:*H;Y6#?M7,RNLR/D_J M6?5W8K;8A-'$F5WK[Q-<_[_))&W\.+&]C7#$X>H/SFIGB2L:E:AR\33PNS M M)QW:$/:JF=M)U#,Y4LW=B4=QP:2KD7+:P7.=M;W$KY?"8TLAL9LQ\/=G!/W0 M?7(*S65U0UV=0O,0V3 K(ZS?$3%=>=TW?5J;H"_N]N>5LH9PW_B2O'1 M5W&,V#')[)]R]>3FGXMX*^-GX=25MS>5.3!AK(LI><0Q':[F]EHE6GSW"8\D MH^X\BL$41V?OO? >=>S/I*XR\;G=1L6<4UG_;UE';12+^/_4L;&_ZJY-#I.( M]W,*RL00NW)TKN#QXYF"$=DCL^N)3:DX.!L&#E^\8$]P%;(#'T(!(@P@8 MA10PD02YQ\B3M'[DSQ3<:=*^RLY,5#;--3WGIJP,F[XK)S!1N1T^Z6BYCJ,U MH"\J8DI>H"J^:^-+1K"-AE@$\ F+)J,NDP2G-IKRG2>]66):0 M9C >E:/(!,E(2>[=F2?<+S6@2=&:4'C-$.?1D.JXL5_TOB8S,XY<49Y6MNX< M).K*\3Q-VZDHMQGF"B[/!TG)J9J]TF >NO3R39RHL8M73C078#-?4 M?SMIY,063@DG^J+."(F]];YI>).>-1A.J?2^U*[B. MHC1#,!&;<7_2W1,+O9&URE:DB;86B"%"Z^3G*.U[D8S=W*]3PT-['> MOS-3G*S*%+]WD[^%^>3XSO/)#_WGN3SR89RS4=KK'*&4$E.[%/?[\^=,$E1; MHPU=3+2APX]OOKJSMQ]VR<')&WBX]_+SX=X!/=ISQ>&'C^SPP_.O!W^\H?$? MOJ0-X5# M]^^(5"K9_H!3B@"52@+#I 2*,:,P08H0O)P:PPU" 2JF%'84:R05=7'0@H,R M("S$)>WIP0:_5GA;IO;>_T!_.=A]IR4D0JFT.[KC<: M!PK&T8;:8&^CV@N] M6QYHK1RS,"A/(*-0&F,@XBIPS# -T-KE@8XCT5D<@)4(NUXYP;>E;;'1$"N( MO%<^6$]%D-J&B-/*<&TD=#Q)(TT"1#E0*%479.4FP M@QM0MO ]5D-28H^3#J:3GOCZ/-%OY\GN\>M?JI18@' W$GIQ%FWB<#$)4,Q= MF_3 >K^7SDFREKP M%!1V%_IG$C:,T\M-P]R52I@>5#8=/4U'G^OE)K15^212/''HSP:?)B,2!DFA M3'^E-*4J^;_\K8-^F?TYT9$K'UQZ<@H#G9\/!]J>-O>/JME$#4V9-?&.3;I( M91=4.0Y5_D<=>:DBP,V8BZG;ETPY>T;S& MJWK6^&VG[L4J]![\L+*C8NMZQ<0D2&UO7#Q-\LE\$L'G.MP;FGVLDZI(,!14P-.'RE A7>]AU'/ZH MB%4Z>RT5#2Y)>R7BM;#'H^GX34)= ME5FG]RKR3"JT6_:MXT::0&_?E6 MS!'CH/27+C ^2E:5"UP'>2:E;1W$ZG*.V,SG.A4530L-B[DRS*>=T\'GY*OH MSO5[]=X^=7W%TGYV>9-3,WWCLW'RJ55'=!.\6^Z/R.;QJZ;!V]=UV5SAX;6" MDX1@3A"G*<:3NI4E69Q-K5KSJ J>6A&PT&:1M4 U4!0C4BOMZ+2:+G=\T62 MLV2=P>=)PF5*W_@&'U6R>HG.TMM*S@:NSN%6X,Y5!7\S?G=MSD_.L;EL$B'X"))L M;NI'R'Z!;_L%, 20=CM;LW+Y5^GPJY3S7,C&]>Y\ZN,:4"&B1=QL-JDE/G^G,S2V&TZ[^<__WHU<55_0G M>8Z30Y7>L9204I67-(ZO:5G&("Q?594OG%VO&#;K+G1J=DA*3'R4*Z:@.W,] MU"27.B2]YIJ+352:R4T[2U=D6&=?VK M7VNZ\L0TGWO:44V5V%0*)F_0$/JD=KY:32+==>5K=2K0K\)H\1;)L=$8@FY9 M1ZY7?L"XVS2OZO$K[OFE68*@U@!6W&+)>$GQ6=]D,4VZ:M68UU: FZE)4Z5C MHJ?4AH>;Z!FKVK>N+;(PN^HW.M##:+\F3V55!#YY^*47W?X.?:2"MA;K(]^- MFSEW>'V]!MW&^GN4W\;Z>XRNTH1:TI_WL[+>G%RO6!.U'6]XLX7VEHL0'NU2 M<^3.4P->Z&+X=TH0WILA:%M"P8?%)!3\$1]\[14'^#DY/'E1'*6L1OSB]/## M^R^'>R_I8?S^Z.0C//CZ^X?E4/#1R9NO1__L?WUS8M'!/_OT\(\W7]_\\QP? MQ>>GS,GX/3LZ>?GUX(_#F;*^L35;"&TWK>!4ZPI_-G&C!>_@P:1D M+_X]-SB5Y^75=#VIWY/?Y3Y7K3FV4:<;]_Q1F$[4^DUV^V[N/2:M/^I/VUHU M]20EH?V\T_G]YX.7[ZB64MJ@@->0@23R0"-K@:>44:DIH=3?/*&YI;.BMJ1G M4>NZSK"LUK6,=RD;M^1D=NC9[.C-S8[Y2-%\6>O"@A(3G_EDCC25'%9WY^)A&&U1J6S)2*81I.?;9,O>-LKA=*XM+:^#7!ZG:ADI> M??S:BZ\_2+8EPC>\&&ZCZPXR7*E, MWDUWUBCYVTVFQW=VQO?L%?3#L^4'&_?0S\^=FGT+WY"W\;LW7__N MO3T[N#A([K6O^^SPY U[\^$Y._S@/KX].RP.]]Y^6-ZW,![K'9V\^G#XS]]G M;[[NQV<'8:#HMX\]^ 8?GY'G=7>,@,P M$190C3R0BIJT=6Y0GD,B"=O:8;"+,6[=;H7MQ-N?? OZ!!J6#AX[K M0#VC)O['G:",8\(%-M^'[FF)6:?+TPSL=PKL7Z? +A&AD$L"1$ 0T" \T$$Y M@*B6Q@E$&-4)JR1&^&E&]HSL&=DW MF;&9TG\'=.X#;Y%-OK0YCL9);/.:I=<_0"CWH?',XOSCU@.@B'K$60:$TB)549: M$8?;!LFE8.PV_$*[DQ7)7PR&Q]%0F.U>FC:!F?V5[8AU[(B+.3O",,540!@P MF.P(KPG06@6@(&,P. .9)5L[T13L<@[OP8[(J/=XXCPYE'/+@G,RK#(#+SJF MZ/7N3 N[F:;?;MK*9M&C\VMD<;X5+8PR9+RCRBC)*#%:!N\-=40ZP["RW^F_ MS5K8?6MAA\_FM3!!&3-" VD" E3%3R8.&; ""BJP5+[6PF"7JQRGRZBWF:B7 M23S[-N\H81*DTQ?VFLL^SA9,S&SM9Q]GJ[5KJ+3Y_[/WY4]MY=JZ_\HNWGEU MNZLLCN8A.445'=*YG->8DX1T;O(+I1%,C,VU30C\]6]IVV S) %BP\:HJSK8 MWI.VM/2M;PU:,IXF%JG.*YA-$(EX%:R+7O)H"[MN*+M^/\.N+8DR"2. 6$N- MN/,):<\(\H8GPYCU(J25-4-:DA079P&]Y02]HL/G2J[/%T,#5,2?>-F?_*G% M>7^K58YY \VZTNQ"!,,2"99S[2P.,@;,''5, MT%3LBZ;:%[,Y%%QI+YTT2 O,P,B@'#FG/0*;407LE')6K:Q1U1)$%>=] ;VE M!+VBPXOS?@'.^[W8\ZI@B=MC'!@: M(FDDDF>1,L&YSX8&;6'!2R"CZ(*B"YZ'+BAL[_%MK^4+:&P!I;-M9;+Y[809ANS%G\" TP6Y;4CU!2GALMS@]2!?/*-H#].@7T MU?$@;^A[^FJ"0O4:M!NV""PFREWJUNQLC;9.)\6-UW=%\(EX(1&8EQAQCAVR M\"]RB1FO,:,ZW3HMWX%>] Y]FO0/2X0A#Y9'SSN2: M#P'I) A*,CBEB O89.^ >(@ 9@&Y G)%9S==G)OD'F@NJ\Z*"UH5>Z.L)X>= M$ >VUJ'=J>.@9 HV8):6K)F2*;BDS/HV&\_]<3SL].)P^*I_Z#J]&J*FT/5J M%KDN&'BAVW>BVWZ6;NM$-?'*(:9X +HM!++.!&1$BA$S&6".H1L2$BGG1"EDB. MLI=!$<&P,ZF@WWPLM'^.VL%>IU?WI;S^FK=LVN7W^9==*O#>AO=JM,;C@;POKW1L+*#6 WB47\PBJ&RHRK9SJ#ZFKV(E;-# M^.WX"&!H!+<,%EIX?HLCZ*LZ(@(S'>Z31:*R.45I"'>OLEA^C9-SAZW*]D+] M(+C-(,)%L?)=.+N3.OFAP^JO^#5V*[):70Q6/33+.10ANM%,%?&Z_71&I'K,3C9[_C]RG:[U1!Z#;K:VUX>^J/CR=W[#M[J:YX* M%0PC'*T<#'+,]X(&#?J']<_]P:#OZHT=0^5.9R^:2$*P(UL+PO#8#4?P#.@U MD),L,>D8GCZ* [A3JG^H)23?]MS4/[VM;-#5JMJR/;L7L]A6G2%TSO HJZ'< ME/SX"%(!6@U@:/SL:7^-'SZ$WT"1]7QG*JKYV3->AW%CH.]"/]]FV&]=>"B& ML[U[-.A_A1_K#K%5%^0PMN 1G4% 1W8P.JUG1WT'Z"N8)]#V/Z&%5P:^OF1X M?@YT9Z.>Q^6H'G?XQ M-.OT"'Z!\;AI#MA!%KTLZU.TF7;Z^.GGD^F_AM^9,O"$C$59 (M=R<#R3)BTY M!T*;%6('&C5I ? C($:Y!;5@0/L.0;/44N=L[\MPJ4$.9!<0(_<[-&LXK/P@ MALZHZL+GR2A?^CV?#0.2)0!DZ*I0C/HCZ SH_7_<@15;$5(0.E+O,<>)&*.# M9Q1HL@X,B[2[4;-BQC"ZB1YOMO^\RH0O+PF\NG3PU;X%2KS9^P_@$4RH.O[V M^MM1[ WC.T"NP3"O/ISP8OPT>7$W_O>[T\\?PY&C7&[O?#K;_KAY]FG'DZV/ MF[S]YM/9IX^OZ38\O[VQQ^!WL9TY\YO,<=?A\X=O6SN?"#!AW%[?E0U$CP"Z=7*4,%7UJ[74*]EYP'EX$[+27\L(>O=;O\$]$[^_JJ6 M^[]@"KP;B_YI$8ZQ:.4E8P:#;B]GVV]W@=728 M1!2II8A;RY%1."!0;]$Y0(I P\H:V(XWRME#"TI!H@<6$;;U=E>XZ 2G$5%B M 8E"2L@9D_(:D2BCB$1$=F7K)HH%@3:*8&K1E C3H2I)*> M\@#D+\0L6<1,) L^2(9_!$% 'T6KQ-@<( C!8/F)V!;K+VQQ4'(SMIGGF\= M?-A55B0I LUKCP"$A$S(XA 1 Y:B0@+Y4_QN)?J(#Z8F;YR8K*_N"KU"=X2S7 M83AS'6)6J^K5-?_0S,.S-ZW3\]WC,/;=K6Q//)J^?QBKW^)8H?R^4DT"%#DJ MV>]V0NVK?C^"/^,01S]5VT>38.5P=8F];_\UK&?_SY+K;AE;.!KTW<1+CVS( M70)'CL8:?7SV\-RO?_E1>6!\/GG4SR&%(]N!.PYK?_CU2,1H'QJ0&]3KCV:C M"YWQF(Z]K+>-$C 0J?\73[-[__CP:.RL/QZ.I6<< IA$">+P7+)F7[,."PR' M8ZFI'<(3(I_?)+>FV_D2NYW]/G!W>'/K]SOQ:WXO'P?9=0^G?XT]Z$4877A0 MOQ?/W=;3'AY.PQ&W&JMZN@$R^N-N+=?CC@R=8>W K@;UN]27P_CT)L&"NJUU MC\##!IWAEVES)V[_\_X;5PJ -0(G3,0B/V(\<9=RNER+#?U\*+)G>SP M$U&83CGK__>X,^R,(RRI>K7?L8-^M1/]?@]>9:^.]/SUUZOJ!,3T+GX#Y0(% MHY-*APDGGAOL+?8<6R95E)3F_ YB"&7DWNZ"BQ4C6V,AR++Q$03H0V\Z$S?K M>9K5=,]#3XQ1]%W6!P/HL3\L"-Y%!DA]K^>KR0^\V#K9E>($RV1 M,]$@KC3GT@8I*,VE[XA@WW$PU1BQ$7T\=*#O&#E7EQO'@_/PYFV]FC.B.@;B M_O&HL7[T_]C3+(&9'_XDU>C/<22WM[>>O2R7:S4^.[&[Y+[RI]OKNPG,!^%- M0HI1$#QM.;(^6!2$(8QQG3"1600Q,S>+X)74CW.]5NN4X;DF":VIM@'L 5X MUV!=,AZ03!BP325706JP21@FR2I'(C-S%:Z9L@07L+=>TYHLKNP^>_1 MDW]=RD:;0R#A.PI_9C9,='_8[EW6ZM=(P&4.L /M^J/;]U^>VX0Y\Z(-6IXR M2;)-#KV<$,><("N80%%&[CW7/A*W N:&MT=9&@? BQ;//=_\W:G^AAO!< +I MW.SYU9IUGH#I#L9!%?HG=:;.79*,L6<8>TR\#5Q*K75B-OA %1%_5?9XU#_LUTFAG5X /!Y,,O_R:$CYQ33QC%RM(?".1] MEV"L#^JVU@3I7?ZTG;8G+SS6]OV39RQL6Z?MM[LP),I%SY"B-(=6E$:.$HX2 M)0[^YRR""KLI\0P$Y2ZC3Y( &F# 3):6,^F-8U1KKYGW@ED6;@='/S9EBF#, M23#.:L96O^H$G]G(. M:-2:K@=B4HU.^M5IM(-LO%Q>>W(E,S@?'8/3. ?ZDGUSU!_3OAL M2G5SW[S:?M-^_3_5J^UW_]E^M[ZSN=V^51+ZY)5F[.8;EG8UXPW;VSNOWU<[ MV_".[??;?VUNK.^\WJC^W&ROMU]MKO]5O=^!'[9>MW?>5[]]:*]_V-B$X[]? MG7#UOU=FW1@4HZ3)R 1*746.:;*4&I6L2DXK;S3YKE@\'>=#W>B0G3?U>[_( M5"H.\FFY?_L]-%T^LSY>/G,1NSMW(63JGJER]??8P.V!B9"O')RSX*JFP.U1:UJ>)S77]6KA8Y +X#!<]3-@<]L]D0PVX_&D;C^V)D%?=.%7HP7 ME^_U^^&DT^V>+TH:@?JN%SN=GS .W\&-!A>AUL.9<9AU-/2ZI]7)?H3A '$^ M/((CM1H5:;XS\,>'>8V8S^Z)04QQ,&D[=-/*:-#9VXNU ME(PO;ZUD8Q$,R%$<.TKL8'":#X_?ZM">UD%C%\^3!K(5MEIM'P\J-V%(U3[< MV<7\YB'GG47HB-R=.00\&"]4R\WWD]5M(>:?^Y/QV.OVP32MXGD52/@;.N.@ M\A5#N';*;/^]N0'&=@5=%R*1\*0#1@C2R+FWBI.9*J)+?N.(_^W>H;FZ=GN9Q"0]=0A\OG91=>@2C![_E//@:BEG_]T /#M)MY&!Q[-_GX M)OO$_ZH3)!L2W13W"/K8-- M]OGP+4SQOP^O0D5[ R#D8)UOO]EB6SOM@_:;=X>?#KZ<;6]\WH?VGFX=A$-H MR[?VQ\^74V1WMD1[Y\,N,UQ0KPPB(J\55 SG):4141UQ%"X$8MW*Q+=[#!V: M@9MAEJ)6#N-DN9#!&*<49HQ1PI@W\FJ\+@]/J\K_5C.C-)Z],\-\K83(I:EU MHSGY\Y9<;GG26& "_\B$>=#8!!*"Q[S]=M=X8KBS%$4/.HQ':Y$QR2$%G!B - 2?U%5A M:RR\OONL6 MF.F.[-&Z=KCT:QA?G'UZ>;X;0Z=5O5%]T4RW5 M"X??*IXX_29E72^U/F\QN>_%/RNC>4OP?:/N2^U37^FF#)X[77VGRS=6WKOK2U<**;UT* MS=ZG F$9U7N/ZN)*JEU+"5EX_>O[[BK3W/+7H#$76TO]!Q-CHA@GH9RJ=LA4 MYZ]PK0-OWUV+PY%_/%[=^5MUUCVJARZNLQ:>-G4G/]BKNJQH,VJ"WM<2.*\) M>IISH]MG?Q]NOWD'[8%GOOGW?OO@\Y?VV3K>^O@6GO\:+(+U;]=K@FZ>M<_> MLO;'3_SSFP\G;7B_3X>O:?OP+8/[?/N\D9^UQ;R(HTQ$ MY$04B%-'X1.3B('19B.AT02^L@9GM)0QC=N"Y YSIRE(T\S]29Z\:EB<)EU" MU=",PM+WRODNJF'!JN'L0C7(H+S!+H!"4 YQPA3*M3Z0P4$+2AG5BJVL$1A] M4.O/1S4T::^?Y[/MY]+M7[SUG5+9R[OFBW53TNT"3I8%CB3Q%''M.'*.&N2L#I8KIR0UF72W#&-+A75- MHM5E8_J+&$(=:+\:?F_&CO1W']O:K&1HK#0U!.X$\ M4Q+QY"@R!KXF2@F3A!B@LRMK5,L6IN3Y^%,:27*7;BOP!P/+Y\* "U@N "RG M/%B ;F,^I7&9:AZ"0E9YL/FQ(\2[I)G*Y>T4:7'VC,#RR;/DI?/CU@MN4#X] MAID"QLUPX\[((0,Y#/WCG+ZZM!R9)>.BEAYK&K@ BDR#XXY$DSA121A\#_1>*\?!GJ_<%1O>-SY?J]T!"?\M)18A\"HO'R\I2.]2^.; OC M"158!>PDIS%OJNGSIIB@9/)B.E7(=J,5SO:E; WF6;U?.W%,(.ZH1HYI@6AR MG&-@#1SSE;5.K)-E:VYMB#*\$BYC$BO>(D7F5S,T\2)T_;&ULDNM4PH MKSD"N*8*Z2-Q(B2Z%00)JA(,R9I2NC+I7(\-)*\EJ3EII-7"S=F MBAIL2>(,1XUS2IG$A'NAO:*%O#8?_DXOX"\2055B$DE#<]IRT,@X%0$(4Q < MQMFRF.DKH\NU8J-)]/5)9BT_R48_J'^[P77SQK@YNS]=,YSG"OF%4VZ M2$WZ=M:0 #LAN1 E\H0+Q)6DR&&ED;16*B>\#%[FE!;6PKIY28G/JWK>TKG( M2_6\.5?/*\"Y8."<<*5=XAYZO.J<8Z,H+FFGK%<1!=TS@6D'+>X:IX/ MO532>S8.]H=9HGCO0H[/H8!>@Q8PMOL]7\#_'N#_898UF\"#SO%2!Z,(K%D3 MI"6P9NNL=0H[,(,XL&8C6U(U+^_OF9716SKG_#,KH]>@)9 %/>^/GE/J##:0 M$MH')%+$0)B%0S81@S#WGJH $]UDZDQDB['GA)Y/GCLO74[U Q73>^8YU0TJ MIE< _IX _VF6'FMJ(F>!(.?SSH+4"B#*TB/L':?).BY-3JPVO,5)V5JP^(V? M?6IU@TKJ%02\/P).*:Y0GE-) Y(L4L03)\B:()$*'B?LC732Y;":;/$'<1"4 M#.OGZP!^X*U4GGF*=8,V2RE0?D\H][-D-MA(J<$)N40QXJ"5D0Y*(4>-=A+& ME6F\LL9)BYI2]*,XXQ1Y:"79^R M.J/81LESLC506?P0>V<_SVSKXH^MJ>Q>[/G3XHQ=('P'1G4@"J88UYQ:8Y1F M0A(3.*" 8[SPU^;#]]Z4OQZ\/6N?[#+%J<(,2&O>\94;^&1P8$!IB1&12FU$ MWB.;MK!8+F]$(SGL7!&F*?W1@!8LMG#=,W=1<\]-U%8XJB@G'CZQ*$.*F#O" M^(,6KBMZX?YZX?227B"@T955'+2!H8A;$I"3W",9,+928*M)6%D3I2!UTYC] MTCFI2T'JAP!Q+"..(GK!I>#0$4:&F&C2/B0'7UDA]T\"Q&?J@-@(S%XII(7' MB&.=D-4AY;(@0B?N&)8Y$9FV9-F[L#BGBW/:8J2QT2!D0G"5+ M. 0#*%L9BJ0#PR5/8 MI7-.EP+,3Z< \Z^6L"O@?3_P/KA4Q0Y[)8D4'O':+9VD0)9H@9S F!H6*!#8 MAZQB5_S2)4^XT?2U0268"P+>'P%GZ"M7&GN7$(R;0UPXC)R7$A'FI$AY.;$& M^YVV&%VN=1)-8J]/LB;_M M[<3!X>9TI(O&O)/&W)JU&:QQ=5$Z%!0W.94E(JT#F!!YK:&,-NFL,;E4+:Q5 MXSP^SZM@W=+YPTO!NCD7K"O@. =PG)H3%FR&Q$1",C").!$!.0N&A?#4,!.P MIYH!.#+6XN(A#(J&@&.3K(T'=;LLWC]_JZ(HDZ.3Q]VF9E$3%-\_&E&>\5>Z ML[#R:XK'[_6^O7AEA_OY_]?_>]SY"KH&M,[[_?Y@E#71>B\4I?2K2NE2B6D8 M 6?K!90R!,13+ILG"4="1AFI-MHDM;*FC6P1TSPOUURG8E.@K9E!@F>@K1;' M1)ZEMEIV,ZEHJP?25C.K79GFR@F)C+4)<:L-,@XK%+VU-A PHZ(#;<5%BXF' M6.[Z9+35PQM9_QSE."7\#9VO:^=#T3X^A&?YM7_!C^>MGNF\@^/AJ)-.S]]K M[5]N\,_IDJ'Z1K>Z\+L*\N:7N/SF/^FFGW1RM].+:'_\G= :+[]3XB7CU+ S M'(TWUG2CRX>Z73N* WB[,[C(G59'?=#_^=1!]!&0!OH6O@ZJ;A^:5IUT1ON5 M'\30&56QMV][/F:L>0DWNE0C\4?/[ R'Q^-G@0CN@_ = F)U?&5[(6-AG?[O M^X?0O7#VRVITJ7+Y[6X\VH_5A]7WJ]5>7E#0&S=Q>'EQP:4[=>!M1^,;3N]R MWICI3: YAY?SNV[7GN$H]TQ^P6X?9NO,':$71_79T(73/5"',YN@5G80JU'G M,)[_,*SV8W?@W>'H'=-0 .KC*@_.R;H.= M63]]J?WG(P'#??[N?0=R;\?WA5-F&E[?);]FON7T=S0\@G/AZI!?+0Z.!ITA MG#3:MZ-JWWZ-L[?(H@I LUI5Z]WN;,_E5PZQUS^$%QS5+S$>SHTLKH-A:_R* M>93C-Q^/:MT,K#\XOB1(%\ $IZ_97U2]]?*?P;QR'9@Y+\=Q=YP(ALP MR:&SST.=-H,4IN3_GAWT1T7A L_3<+5C?_][O3S MQW#D*)?MC2]P?)UOO]EB6SOM@_:;=X>?#KX T?J\#^T]W3H(A]"6;^V/G_.^ MC&)[YP/FD#,(V8C#RJ5=*KZR1EA&Z!6)[ MC4+5HW^7$4^>:$R]"UP'H&X:Z)I/%E/"A3+.I3F$*^_*D$T;[ ** D1.\ MY&+,E&^ZS#I N6-0P!/6C6>O7_E>&WVM01]6+9C;:07"KG3[S+_[@ZFMLP<" M $KT"[()7N6%[9[8T^'*/R^],6C<\[L+#H]O:M?;;]IO_Z?ZM7V MN_]LOUO?V=QN5[=A 9-7.K2#/>B02?RKF6_8WMYY_;[:V89W;+_?_FMS8WWG M]4;UYV9[O?UJ<_VOZOT._+#UNKWSOOKM0WO]P\8F'/^]NDEDKDS7,8PFC04& M/!FL=R4->]Q@M_''!"JHT3UX;SXFB M]+MBU&CFM=VK_FVA7\#V(6,\;$TX4S:.3BL;^D>9&P%#RRP)F'3U?@2(:0? MZS\<94Y5_;;^_L/O&35S-FFKJG(:/<4OMVJ;JK;=,NB^&EMT?_6'F;3!*/QY M85EL@F4Q.*Z-GU9],7E95PPVUO!2^X'3P7G=L;DVG+0\/]U61S/WM#(X42MY$>X"!,K_WC^PQ$,3+]FKN-6YM_V MCH&,9A(*SQP_ 9X%%LK.3,,#4-Q>?S3AOJ"D?M:(5FY%IL&Q.LG_]/K7C,59 MR[H['H=IR^N1SK,CC^GJE7ETR>-QF11)$7D2U+&D,+?4:^J9L$YB'1B)).QN MU#288(*F?/@RZ7GO]V,X[L;M]/V<<"!$?9"6;J>>PCOYG!UHPQ]@['YY;L3H M;$]LO]WUS"0=J4$0D,\OY)#0:U03@\/H2FPUTNS?1Z[8YZ"1)]+D((2#<:VFQ"3AW6 M,PQP[.R[H(&_=;*UV#^&]H;A[R^^JTVO=-ODZX1S3>C9I*&3GAS[0FLWV-$P MOCC_\/(\L;G3J]^\ONBF;.,Q5S%F56%5TY5)SL?D_A,JLSJF,E<\P>.#G*QJ M3KY__(<7__@@605K]YX7X]4?M FO"L;N>>W/FLSX#^[U@\]L+2[%Z/\!CCH]Y>3E&%>DF$>&VUEG)=DG/^TG<&8_?YM MN\>QU)"[:P=.=K5_L?BU*K^R#N3G$^1Q%M*4SBF=LR2=TZ1R1 M+"NWI-7^J+["T\N+C8(Y0FE@)J_B"$H'&AWF)C*JM!-X <5&+Y_\ >=^8-"V;UMG6_S3V=Y9^RQ\V3H(G:V/F_#LM_QJ M8NS6QEOZZ>,FV7KS[O#SCB?MC==G6V?[!]L;6ZQ-WYZV*5QW\.?^YXW]M-69 M),6^QR>[Q@L-8^<0<=$C3IQ 6D6'. PF"4[8(-S*&C><:D0R(I MBSBG#FFA Q+"*F$LEC+)O-UA\U;J%90O*%]0OK$H?Y_RJ[?%_NP)+]A_3^PG M%]@?C&).1HJ(EQ1Q[T7>Z9$@[1WVRAB5O%O.>JP%_PO^%_QOIE/G>Q5H"\[? M#>?9!(1VY4U@5N,D +S3=HT8?F*H;ZZ MO'RX&450EZZ47^)1$F^4=-9R;*E6Q&H=L;0\:L]#\<4W'+Y/9WSQ@-.TA679\Z84.2W@=V_P*Y[I1X>]&<\TT]$2 M21!W5B-.HD8&D=G @.9E(7F9,'X*R%LPKF/?P(_;;$P*]XI+]!=";NF1= M")Y$IQ#W22#./4:6)X6$PL98:T1*;&6-7=_<]?<"=P7NGC;<-=N^+6[)^6#= MU"UI':&!J8243A)Q;1325!DD#(5#6D2N2&W7TB7;S+I);LEF;BSUE$XM'5PZ M^&F?6M9/W 9;=RZ5)UV^[9X;0>QL9(9HJWVP@4=EC8N6>&:X8Y(P#<0Z,&99B^OK50)+W/GII!<5\'MD M\"N!BT>'O6G@(C&2TZ8< 7S"N85S+L' MX2L)Y@U"PFDT SMA;5 >:)]CB&O)D=$\(<-%\H3F&HFR))@7-"QH^'CF;XEK MS ?UIG$-9Y@BDB@$MF[>LIQ29).6B!F*(^.!W M0BKIU@N!;89#Q$!Q.%6*4RR,YU%R%8),7 A2O)8-A^_M5Q=>R]/VQB>V*X)* M4EF@JR10Q(4W"'2R0<%33YD, 4NULD9X2VE50M,/GX_S"^C2E/YH0 O.QZ+H MA$;IA.+,?71M<'9)&R1+".>>(@>,'7&%,0+A9,@);DFBACHB5];T0Y1(*9J@ M:(*B"9K090]M'107=X/T [FD'S UW.B0$&$D(L[ADZ%2@M"E&(B@(ACRD&[N MHB2*DBA*H@E=UF@74O'\ST<9L$O*(#IFK:$&49$\XHG9'.[T2#KG.?8L.&=J MUY&6#U$Y=TEU04E9ODW';0'@^,Z1[2[6^__,@[;<6FU38()[PHV*VFH:+#,V M$2F%Y,7[WW@(G^8L4^&]SEYR5F*W)6&E M8-\\L&_>OHWB^YZ#[_MDEPAIG78,*6\(XI8*9&!\$3$&<\LCH825]+V"ALN- MAG>IPG)_."Q.W4<'OFG>LM+,Z4!2QKR\YXWW2#/"D!"$6BTQIA*OK%TOMC?7 M(BP%[0K:/0/N5UR6C^BR/-G%*A'B<41)4XRX%@I9R@7@'?/21>L=<;6]6Y:K ME1HLC3VU245+_@KC M2I3G*@JA@=T;WF*LE. I/HV"?X^.?R6HM1A0/+T Q<"()DP[I+UWB LBD+7& MH.1%2 "/*7B\LD9;C#_$=BH%$@LD-CNH=7],+$&MQP>^]I0-<@XT,"6*")7 M!AE+R%%L$8DRJ! \,X$!&RQAK8)WRX9WS:: ):PU+[";LCQ'9= 4,Y2/@1R"^%("H8X*1S/-=0D MS'&)(Y%>!TM\<5XV'<&W9IV70F&EL$_($\\15Q' VV"*N&,)0%P8H45&<-JB M["&2\9=T*=5C1[\*_BT/_A7GY6) <4IKJ00F&[Q&FE./>+ TIVH91+%*>;FP M-YIDYZ4@!1(+)"XG)-[%>7E_3"S.R\<'OAGGI<24!Y4"(E2%@@RB0C$O;)3['PSA"^?0(4G0QOTL.YD(0/%#)(IAW M)H0$_VKML:/$"0[('E.I)MY\)'\[Z\8,3!@LC4-8>H(X$189(?*B>J=%L'GS M:[ZRQG%+DX>H);ZD<:@2?R_P5UR5#0"^F3Q+$K#Q5"%I/0;@2PDY;Q,*UC)O M7.*!$ ^7:+O!?66$_7NXJA\;-@KCLI?@;T91Z4!S*,^,.0)3XCCY) SEB*! M78H8.RF87UF[;K.7+,N"=T\<[YIMY!8WY;S ;LKQF )>9Y-"V!(P;E/TR)+$ M4<0^:16MP#$;MZ1%S4-4.UY2V"M)EK?R4N[%GC\M&98+1&TFO94PTP.QGF.M MK!,F>LM5@!^Q#\4UV73T_C!U31Z\9>WU76Z=4TIS9#P&! \\(A>81 2H*K;1 M$:B0(TXA3Y9 U MQ" M=="422R%6EEC9=O;H@N*+G@FNN N?NS'5@;%C_TKRJ!]V3@ (R %P7RN M^Z\0]Y$@HT,NFN(H-LX0&-:5-7*]-&S)N2UZH.B!9=,#S?84%?_^O)3 98M M>,)UP J)F!/8@F3(*4R0U\12;0-.>1UN]A")ATCE6%)M4#*1;]-Q[_O0>'A( MK^QHN$#PEEY9)5Q45 K./3,"1V<399'#W/,E _D)@/A,!C*VVDG&& HAIKQT M3B"#,4<*)X^334SHS.)I2SQ('84E#=*6W)0"?\6?W0#@FZD!)B*WA =$I 3F MRJA"VJ2$O&&"T)"B5WDS5U+JO!;4*Z@W%](W[ZU")>BY=HK4C9S+7A8\/#QC.#BP9RW!Q.,7\<5-](CQS3@'DT1 MN<0HRM5A'>'6!2MKXU?RLL-AV>&PJ:?^I(,?M%+/XM/.)\UR_4&(@_H!T(1J MV.]V0O5_:ED='YD\BL'!T#\&(*W.A?G:&]U^XJB%39Q_/%X<9 Y=>0]%OKBN MO(,B3]1;1F3TF$:N"5!?A[WS21LJ0!V0XLUNND+?NUQ/ UL6#$6.YTP4J@PR M+GA$?0I$F,@)I2MK$K.6ILVKC#2W>=@43&MF,;FBHHJ*>NRN?%(JJ@0C%J.W M9@Q1:[C+E5"L9@IQA1VRC!OD.?6&BXA9WG9.MA1O7FY]T5I%:Q6M]2RTUEUR M_>^OMDIPZ/%UTTQPB 66DL,"E)&5B-?KO13WR 4A#':)JQP<8J91B?Y%*16E M5)32LU!*S3:E2MAN7AII)G4+%)'$(B'&"%A+E!!DC8HH"!6DP=CRD*TE@EM$ M7=^QMMA+#Q3R^^=OCRT M@[U.K^XD.7W-M7^YP3^GJ[+J^UZZ[94HO8@\">I84IA;ZC7U3%@GL0Z,1!)V M-^KI3C!!TWE_>3J_]_LQ''?C=KK,++=[F[VO<3@ZC+W1<">_YPX\]H]NWW]Y MFO.Y&__[W>GGC^'(42[;&U_@^#K??K/%MG;:!VV8HY\.OIQM;WS>A_:>PKP^ MA+9\:W_\G.!^O+V^2Z-TEAF+F/,P)UFTR$7M$[G&M[H4JV,ZB^VNXQ M? >54]ES;8+@&QJ"PJ@Z4[F#SW#5U5M51_UAI]:$=ECU4_7OXUX<3U&J6U46 M].HWN'"TWS^&5P_#WU]>?)H(P1##J]:X^&\<7Y MAY?G<>M.K^[$^J*;UAJ==,)H_X4QJU2:FEY,PMJ3^X\/D]4Q];B"W>.#U*QJ M0KY__(<7__"@7E7BOC?&JS^X$J\*)N]Y;6EQ:?&S:#&_Y;4+6"MYLV:9ISU] M,X?334E6I62Q_>=!F\7! GK0/!@)GM+#*O/#ZC_G2ACLP!>W<-LT,[/L(4]] MA&EWK37F2>+$52EO0%+[@E,:G]+H- ;%%RS<2P#B?\5AMMF@$8166_"(_>]7 M$2AP6"0FKPV8R$D%UOH;H #P0D5DBLC\0&1V^B/;+2KT2:K0!7??#Z7[NW&# M&X.7B (&SW;H"Q@4B;@KIYZO&%L5\U1\<]0=V%&\NBOE@"9R_D(6YN,YY MQ"S,7TBE;$0%%!\"HFGF4?#SZ1K;-_=SX??.YN[[P[V/ZXQ=L[ M'KR18 MKJQQTQ*T[ )6LOF+,E@.97"7Q5[WUP:+A/R9Q6'YM*(![J8!SBXT0)0LI* B M2HQ:Q%V(R!I'4<#"X:0Q4WDG7R:O5X@N>[T4Y"_(_\20?YG,@'-=L#WXJ]_; MBX.B!.ZF!,B%$E#8,"6#1(DR >2?,F1#@D_6$JP\$3#**VND173SUEP575!T M0=$%S\,*N(KXQ0KX)07 +A2 H8D'*S&R+ #L,\&12]0C*9SRDG""*5M9,\4& M*+A?K42+)(2X-1B9)BZPSQ"J3M(QN M94W@EL*R4/T"^07REP+RFT?U;P;V0NA_+; [4R_;$9T2EPG!*$;$K'!:N4ZW6S;M70Q%%\83 M*K *V$E.HW&:>!HU)88P&XEZ=#=]R=;Y!5!OO[K(UF'M \]W%=.14FJ0PM$B MCK5&%B>.@--31I(...)Z7R,C'V(7A"7=U^C^V[G] O8TI3\:T(+SL2@:8Q$, M__XJHZ3T-%9-G%U2$SPEG/4!2DP:Q)VUR-J$D?"4<2>X"/7>[XOE_D4Y%.50 ME$,3NNRAS8GO;0==$GX>4T602RI":B$"UEE%:(&X%@Y9#LI"LV0)$\I2$LO. MT$5;%&U1M,4R:(MB7_R2\F"7E ?#PA!! J)&$,0]X<@Q[)%(V@9"I?11%N51 ME$=1'D5Y-#9R49*+YJ$8Q&7'$_$C*&I6X4, "?DL)?D^/ I:\B(7D19SL1FV25M2CP+7+ODZ'7.(8V4"\YRI$ M2VFA@ 4%EQ %GY*+L$3]YQGU/]GUCA"B!$'18HMXDAYIG"+RF!N?&/:8Z)4U MV<*X. (+_BTG_C6/!9;H]B*CVUOKNP$GSCE)R-B0$%?PR7I%4$B,)1A@BU,V M?0O;FW]D^]'WLR^G/N"II=3*;=(<]F+/G]Z\$51)2YN+X1(8U8$HP%NN.;7& M*,V$) :L?>,!$;8!(RZI1R;F_#7+9"38"H'CRAIK M$:I+#O/#YS WSJ191F2\BTES?V@LN0V-A<-I;@/G6@<6-=+6YI7B42&K Z5 M,2$9HIQ*>.&F3D'!@H*%'Y:TA\<#Q&G:@S&>>ALT\E8&Q#&)R ;K4:+)Q$AL MLM$"(+:4YH4?%F1<2F1\>ORP)#[,%0ZGB0_"F21H](A$EG<1!J9H>1 H."RH M"YC[)%;6R/4-!0I!+##XQ&'P*1'$DODP#]R;9CXD'I)RV* 0;4+RR"DU7D)E"&EU$'!O^7$O^;1P)+YL(C8R$SF@X$!RKE=*#"&$=?,()>D M0)A+&WP*#--<6_AZ:*30O;*H?R[]M@4@XSM'MKO8@/F\ 3@UK.3PEAS>I43&.U6HNCL]%U@L2#@-!BN TN"1P,VL[5@,PN.=!011>>$XY@&[45Q M(1;\6V;\:YX+L03#%Q$WF0V&>YZ,I" 9+@4@?CGW47E@?T0Z!J,:E%+%55C* M )13%UL&H)F-+J<^BC \:';@XNM03)KE^H,0!_4#H G5L-_MA.K_U" [/C)Y M%(.#H7\,)* Z1^%K;W1[Q%<+0_Q_/%XZV!RZ\A[$0?>F:BWC,CH,8U< M$VZTP][YI T5-$52LGJ>,CO=&IOCY^Q46)ID,@H9(*6(4^:1R]MU8"&%I,0G MXN/*FJ(M*53C4M3G-DF; GC-S&XO^JOHK\?NRKLX3NZOP$KN58.5UNF%TE(\ MEXVE$47"*.*$!N0P8\@Q2I6+7-+L4F&J405'BK(JRJHHJV>AK);)V"IY)"$V28P590L:%2**PVGJ?-W KIE;15457%5U5 M3*V24+I8Y;0]$[WBW$8<$HHA,L0QF%8F;ZB72(S8&1%M H-*R9;6S2NP5+14 MT5)%2ST++=4\BZJD_2XD1G617+&^BX,-CG"*$L_./AT3TDQXA!G12E*2C+$K M:\PTJ@K6<]!)=6K@/T=Y,L#?T/FZ=CX"[>-#>)9?^Q?\>-[JF8X[.!Z..NGT MY:$=['5Z=2?)Z6NN_YSW>5Y,VO>+E??M*)/\G;[G9Z$>V/ MOQ-:8^?.?JQ>]0^A7:?5(/HL!*&"9@V'E1_$T!E57?@ %0*-J> %'U:@_@L[H[57_N ,T6A%2$#I2[S''B1BC@V]O;C9^\\@#F-O]+?M'L?7WXYB;QC?17BW8;8 )A") MGR9$=N-_OSO]_#$<.^,+'%_GVV^VV-9.^Z#]YMWAIX,O9]L;G_>AO:=; M!^$0VO*M_?$SP-TGO+VS20$*H5T A6]W,58>@Y9"27J>MT)*R%#&D##.Q>1Q M<@38.+Z&=[7L/* VY_/W5[7<9[WY;BSZI\]8.-;%]LX'N ^T M\F"3M]_N1N\XH!9%@C@PU31AR#"BD B68Y*<-Y&MK&G1 AB[)B$M0)/A480O M7V/WM)5'KQH!,HWV!S&BP^S[K8X :_JABKV,4/\^[L6*ZE:5Q[]U9P&3(O(D MJ&-)86ZIU]0S89W$(%\DDC 1,(+)H@6L0-"MI4RTUW>)L9A:%A'#SB$NN4#: M1XU"Q$3"4"EK7"XTCV\4LRV\WAB2#9A84E%0Y"&^0=@1$ MQ"=LDV&!47IG(!IVOOT4AE:K.T@6#12#\4>CIH*'Y*&)02KI*0^ HB%FR2)F M(EGP03)\C>K,B!;P/Y_%ZP0('.!(P:#Y"=@6:V]L<1"RL_;.EFCO?-HE2M!( M$@61\GFA.TB88\ZB: 2/&?1!WDGS[4B8$J:G"]"$]>&& 'B8; *QFGBE)P( M _^.,%R!F5^2A8(SMQ<#3SSS,.[>"XFXL1;9&"00(&V2=P0KR>XD!K^("44, M'D4,C 56X+(8*!E!#*)'\ -'E$E!J',>_CXD&A35\(C"$ 41@2:+7-8/G(") M[#0&HT@'JJ@.BMFPLM;N7R,>]_CABH,&F,J/73(G<1"G/IZ;3"SXZ2K1&77,.S3SM7*-CQID'_J'\;JMS@6H-]7C^"/X<@;/ 2J=J&9MC\NL/5RZZWW!M^G#9DQ_TSXXP[FOB[ M7PQBUV8N]_*D$T;[+PC&__?EQ '&Q=@G=]-EUD%[CD?QY<0=BF>O7_F>W\]# MH^/@8?U\YG9N/L*O]-[,O_N#J0-Z+R(WB/8+L@E>Y87MGMC3XWLDKS3AY;_") M-^,-V]L[K]]7.]OPCNWWVW]M;JSOO-ZH_MQLK[=?;:[_5;W?@1^V7K=WWE>_ M?6BO?]C8A.._5S>)S)59-T9\820/'.L4+?QQP0JJ- <"8SPG*IM;_[KD@)^# MD?WK9&8GG[$#K?BCV_=?GION.OMRLOT6N(LA41.)'&>9PIJ(#!6@O7 D%FN< MP*19J2(H^*,L_(/C^-T9_M2"'JF?I2)'*.I(434\/H2FPUV&M4JRYS)3*\HK MH9#L'NB,3N_D':A^ZV1EUS^&EH?A[R_N!S$:7G#R=:*:)EIL\A*37A['\J 7 MN_9H&%^& *4FJM$UA$'HPC+EPGVUM_+&__;%] .T[:]-/XM-9^/)YY]\'[8,_ MOVSO?#K=WEGG5W-@VA\_43!E3[;>O!;PZ1N8M.SS0?>@3=]UMPZWZ-9':,\! M/']C/VW-;AE$E9(N@G%KK66()P*V0P2KUT<1M)$4,_*@%8_+?G!SW@_N)@R6 MJTHT5HMM]H"HV6&=?O(S%E>VC%L(P,\A8KHH_V0!^%L _/L9@#=6*T&-138'LIY]PD<+\_P6XTN(-1\NC@_MSW;WY@=+]E%+( M^RV O7,![*Q]L$=V'0N&!!60($8A+D- FBJ#*'74:HT-(3RGR30I>[V9P%0X M^Z_TWD>8^A'U4QI6A9(WE9(OROE2#SZ,?8'R^T'YR:Z7/#%B)5*)>L2)4TA' M:E$DBE#-=8(A+]M.+1K0%US-O(0I;@Q37(JO/5J(HBP+;M[JQ(8L"V[#8$H#F-&J4%2)#"BF'3(88$1,"WJL!92:;>RIDJUO[(.^ FDQ'QG M'?!Y(8%JSW9ZLPN!+PZ<9Z".LSF'@"59/3=A2?"=5F!=1N^ MR=WP?+.>S];Q]OJND(+C( E2CFO$N:/(TI WOM72:F(B97IES4@ZGX5X#12# MOVJA?[YR<&EQ)NC,]5UMB!(<%&&RVB#N8#!<-![1Q"@.)@*1\: -Y[<"> SZ M]U\&/-]U5P5*RL3"T#"O92*Y_K_A\P&7 M!HK!

    7L]>G "A4:ALD]GE730OT6DBD>0H(!DD&NNZM#VGZ[&[#$-D2,C" "<:\,G1_-= MCUQ 9@YJ$W@RO=P07Q-X0NK1^]I4ERXM= SGMZN&KKAT..ZD3PQ^G>6N%/.;' MMKME1_G%3S>@T<]]]6,V,T-@&@"-HT"(@?G###*$$.0"#3CA%'#4SV3UX]$X M?WJ\]C&F-,:%ZG B,56>IL/)S#LWB"9S J;".6@CF&FHGJ.=J3#.!&LO^VMN MO2)RIE/%0ZY_)!B&8[*L_?QG2UDLH"8]7= MT4M2G48[N,]>"F5(&SBD0,NK3S"@WU]Y4D;T:8TH1:R,Z%*-*$.\C.A2C2A' MXM8C.@>N6.3DBQN#;)'FPQVW>3 M57\QA_Z)5 BZVY*:6W764UW*YD,@5!GXPSEWS&GX*X,.2>DDI0ESV.+Q^Q&H MG%H_<:'#MX^=T7ZGM]V+60']:3N#NO;$DJ32MP^V-MY]^;3SN?OYX .&:PZV M#O[H?*);IVUHTZ>SUWA[9XM_.OA"KJ;2;]&MD_:;=_OMP[\/VSOO#MIOMDZW MWOS[X-/9)OUT$'):/CQ[O[.]\_?E8A-61^FB2H@F11%/3B,7&4<4)Q(DUDSD MN#BG+B4QH@WD6GS.@4O]?[=FN% MLIXK+D_TR1\1[AUW3OJU=5.TRSVUR]F%=I%8F!@%1X&ZO%DCZ!F+&46:1N:8 M(H$RL;*F2%!4S*^H&':A8K@6R3O%D#=.@XK!"MFD(PI!>>F9 :635\/A%C.D:)BB M88J&::1X/U<-<[5NX-V5RX4RF>B6SM=BOOR2;A%3W2*=H%XJE*ATB"NMD56> M(Q&84)%9JH-O;AG!958N#Y2W4E1645E%9&6-\18F#Y']M:3;4MS6%EA Z? "A4\%"DO2 MTN."XC1IB1LG" L<&0M0R*F5"(8Y(@EC;V)DD5.VLD:8;DE""RH65"RHV"!4 M+,DV-R2IIC=C8JW+UUIFO7A M,(Y0/CV&F8+>90?QA0 X2P;,2^FQIH$+;N"/XXY$DSA12

    ']2L'XZ$WC7 MB6L@P@8IQ^3$;2"$15(K:HQ4$@>]LB9PBY'F+2II)C8U<]U(@<*F0V$)O#\N M*,X$WF%$190>81$YXB;OT<1<0%$D:85,4022 ^\M)9J7=5I L8#B? M,RY.X^X"."'FG"#*K$%<:HZT=1P1G:*U25M*8O8 M!AN7HV^@HL%%Y\D+I:X M>_,P<1IWU]P'YR(#KF@LXMY:9 UUR D6B3&4^6B;NW*V@&(!Q2<)BG,BBR7X M/F=@G ;?)75Q]9X9)DW\"%XPLS*&F]17AR+3S3T7L#V&8-M M";TO.$8S$WJWQB1LJ$"64H6XC09I81SRTI-$)1-2 \DTI"5)<4@N*O*^&%0M MISZG4XN(E5,?5\1*O8Z,_N_[T'9X2._FK:U*XN=6$4<1O>!2<& ,1H:8 M:-(^) =?6DJTK#8J4+@P*"QY0X\+BM.\(2JPU]H0Y*.)B'.CD&8A(9C7-!&/;8@:S/06 M+46,"B863&P4)I:TH3G#XC1MB(C@3:($:5E@L<#B,X#%DC74/$B<9@T9ZW,>.4'*6V"*TACDG/"(.$,(D5JJ8,K* M] **!10;!HHE86C.F#A-&/)$.">I1QI&$7$J&3+))Y1"M-(JRY0.!1.?>,I0 M0=KG@;0E9>@QPC.SU3JT8218BS3/1C<+&&D? U+8)D],8,F*E36J6H(\Q([G M2PJFI5C';8IU[,6>/UULI/V9YWD&1G4@"KJ :TZM,4HS(6&:Q:?%.4[;.^MXUU"58"P=(MQRQ"TER"AC$':.Z*@X7] 276"A-/>+1Y!V4'$=.&YG77#GXV1N> M'M2C7/1$T1-%3S2ARQY:3Y2$C&;J"W))7X2\"A?D!&$=?:Y;H)$.-B+-I$S: M@Q():66-TA86O*B+HBZ*NBCJHJ%F14E4F;>J8)=4A1<1"\DCDBXYQ+$$TR(2 M^!2]9#@) 8JCF!9%5Q1=471%TW5%R=^9LZH0EU2%]1%[BPFR-"3$)>;(2N/! MM, PXL1QKHH7ZJGG\!0%5!30,U5 ):WI,0+B%VE-!Q].VNN[)H@D,,$H J&9L'AM(*(Y\HG81/R.%+$L0M(&P!&XUEP!(AM MPO^?O7=M:B-9UD;_BH)WO^?,BJ!8=;]X=A#!&-N+.2,QMN7QAB]$74%8%[8D MC.'7GZR60 )D&S"(!FKO61C4ZNZZ9#U/9E96IBMGH H@%D"L&2"6:)4'BE8Y MV;,4+/KH&+(NGV2BG" =2$",Z\@ %REQ!1,+)A9,K!TFEKB,!XK+.-E+BD3A MO$:).X%X,CDCO- HI,0,IYY&&PLH%E LH%@S4"P!" \4@'"R9P /O8L2,2D9 MXE8(I#UA2 8IA9&41ZH*)C[QX(."M"\#:I3^FH1L?+5QQ6QI1:.?/C,2]-FN<$P MQ&'U FA"8S3H=D+C_U2$,+DR?16#BV%P#,I*XYPQKO7HYNRD'HR=_NOQ8N+N M82COH"P_W%#>0EE.U%M&9/281JX)-]IA[WS2A@J:(BFA34])A6Y.7!'G*K1G MC*E@/!*><,1Q<,C%H)'BB29NF0TRY2));!7K^D6JWMNJK O"U;.L?"&L0EB/ M/93U(*P2AO;8U#7S_F@=#-=&(>D#09QXA;26'FEK6= R"NO,RCH%ZA)R&?EC M"W45ZBK45:>E4:BKI+>J%7NU9H97(CA1ZO-F10+#2SN#=) !Z>BM%M@:2CFP M%]:K6B]C]Z*P5V&OPEYU6AJ%O7Z-O4IHY[W3U\SX"IP+%P-'C# -QI>2R GF M$&%1&>8P7!,KZP2O,D,*>Q7V*NQ5V*NP5XG!?3SRVI[97C0*RYB@R$H6$<]Y M6AQC')G$M#$X"I/(RCI?I;QP5WVXZ_%RAQ5&?&PA*8SXS!BQA$D_]$99NSF- M\P"^(S0J0A5BPCG$J1+Y>+)"-'JA: @2:[RR+L%:(ZHPWF,P7A6>^.]Q7@CP M;^A\73^?AM9Q#][E)W_GU=GI']MJ7OZ[^MKD(6[X[UE6QNIS^#%9*-$S@H,( MA!/!E2'6VXA9C)$YIUB4>T*LS-\T'9F>'>YW^M6HR^OC=L.^7AZ@GXSF3^:B MV^E'=##YF] *3%O;[3<-\:KQWY>&ZC*&21%Y$M2QI#"WU&OJF; .1#XP$DG8 MVZPPC&""9F!V&:.V^E]C?SP8GFYV1KX[&!T/8QN>_T=WX+\\,AJU/IZCT>YA MBS;)]F:KMT,!%0X!639;!\W>F]/=PPW>W-P_:QV&@]W#-]\ 6;KQ/Q].=S^' M(T>Y;/6:@#R?>)/N'N[T6AU EI,F?7.ZT_ZS!_XR]8?,[V5(HJ! 5" RR N-(!64PDRM6 B>1!DL2OBD-M MD8DO1J8Y\J,QC$T!JDQ/HB@''6[@Q/@I<9OG3Y\,CB&=X71OUY=1_#K M71;0@.F?4]X3DT&HR.-B%";,"+WLVJ-1?'7^R^_GEE&G7[6ZNFE1\&:_]H$UX M3;"[WOO3)K.;WGS;PPJ+1?Q!SY_^6I;5GS;8P^J)PP=(UVV6IN7]>=R/#:I7 M&YDC[N*:+[-ZYUE]N .2F]''GHO#!B-Y9HDIM=9O.X0?[$FC9T$0X'G7TA$_ MOH>L^,#N.%C%R_5=+]>%$0"RWSP7_58<;ZO1>Y?;OM)KS[(%V<7\HI503,CDR$(!(=F!/4>V199(A9 MQD-42DI1!=*M*B:?CF_K27FORL[*K_/&P_'M,^2->B21P9YA[#'Q-G IM=:) MV> #53DT:I)$AAA"&2F\41O>F.6QQ@X[391"0@N!N)(XGWRU*!@C.4E*5GY" MJE:I%B^'-^J46N9!;- G;CQ]'@R_H$X?'0T'/HX>JIK+3T=Q6=G"7IR!D.=W MJ__W9'8+TM\9Z3MS%@+AEDK.<_6M7$>>@85@7.2 ^81%+%BR-.9P+T*6L/E] M+TOKN5@$C^#B?"; ^.(TX *,]P6,,Q4X.FXE$09IXB3B/N;\B5H@S0V&N0U1 M4;&R+E8%9L\8&)^ZROO\=@C>=OJ=T4$,C?W!X.$J%CY>M=D7I]6>3^B[/)\% MO.\,WO-E"66R+C')45+"9[\W12;'>#JII!>8I?LEJNY^Q+0KXSPD).*@PSRV8I_5Z3M-.7'#IM44J M688XIQPY3 7BGCGOF+6*L)5U05>-J+N?Y#Y77%W@["FXGU\:>3V-:);:+*5B M317RNE?RFIE-5'N5 HLHT>PF,CH@$UG^P:F3G 7KRW@\&G?2:3V/R[4/8N/UH ?M.FT,H\]3&1I'P\'7S@C$ M<)0QHQ&_Y9V_ANV'QL#!W,=Q;'3FCMD-4N._;@%@5H04A([4>\QQ(@96AFG0@]L,/].9<0?IK8=N?3H,WVAMAN M?_K6;.^<;;=W1/-DCSNC:& 5%(2Q)6-"-C$(6\LHSH9(W!:65>KBNA5D,1K M@%6)QVW$X$YG?8L8/)P8^)/6R5Y0 92'(%!B3 )I605B(!.BB7$MO'%6V95U MO:HT6RP&&3#R4=MQ3@*)>C#C!Y5HC#K?IG\= 50-PJ@1^QEK+AW66P4,&AU% M>-37V#U=;9P<=/P!?!:./7PU/];;X? T'^#]FE-QG9_KG4>C\2!_U!DV^G$, MMP(&GU7GV==*Z18UKG,1A; 1X*[RB.X"_,E >0FOAFR,0 MH H)IV YWR(+_^6.'7?'^1LAYG#BP=".:=A0DJ+I2%P:AZWJMA[-H\L+,3QO_W]RD9 M\.E)YD6WV;QJCL?Q]RG!X_G[5[Y'>M,#ATOEO$5G$1=0'A%71F_NYRUR=^B+ MW!T'PYEBM@^P"4+W!=F<2^Z5[9[8T]'*OR^?*>_TSYO$Z9K*8U_7(;UI/I#7 MV^]:;_X'!/7#W]L?-MI;VZW&352C:9?F#MDOT [KT<.<\>1CH[T-?6Q]W/YK M:W.C_6:S\7:KM=%ZO;7Q5^-C&SYHOFFU/S9^^]3:^+2Y!=?_U5@D:HO3"Y@Z M][PA7TWTY8?.^/(7@&>,VX#"%3S^%>THCNJ2M&/[]3D_[YQL?_[0VVUG?GZ? MLTD=;&_NB-:[MU^VW^T>M-J>;F^^ISOTG\XU?C[<$+M@4F9^WMW,V:3>\-;A M%[SS^3W?[;TAK;,=WMJ$:Y__3,W#-Z>@FC$J@@5S$;'D#.AG-&?\)1H)$0/F ME,:4XM6L+P%+%W.%WL =Y\9I3QU.V G)9'+B6IJ/R4#?(>'+SU]TN6'*>6RY M5H1JPXD%$6>!2)\\5UH'Q;\+?^=F5*V6S,^MJO]WU.A68]NPH#T<#4$]'<)[ M)A]6IM91-KGS=3\<@.80.C"=.5]-XV0P[ 9@A@C:AK<3G>#D("LAXSFK+2L, MQWX,*@?\;S!9./#-M49CH]N=*DBC.-\(W[6C42=UX/7VXA90129?@1M?0XML MIW]^3\]6;ZD^&AQ-V@$J$$Q-S"8AZ%!Q")QFQY.&57&SHW\ M,.9'P&O:55\JK:H_^/F3X8G5=SM]WSW.VEF5PB5.]*GJ6UDHIQKAI!'YPH66 M-^W-X'@\&H,>E7ML*Y4M:WD3=#M7]:Z/P7G_JS\/!EUX>R^;R;&79PJ:!/^ M;C7*&NRX,YQ\/' @N9/I6*W66W'J9JYREA@>)*#T;@V)O"R*1;:@O>LP@YK)Y#&-"!.L$-&.H^8B9FE/"'$KZS35<+5 M_?@^%+'!&2XTH8EK0XR@@1JL O G<4KFR28&Y" K2O"+9+A,]J]/]O;FQK<] M#O\GE,9(X1S-)(Q%.FJ&P-3+2BM-.%DP$E<5IPLG^[*/8@*_WX$4;T<',QR_ M+V#)./\TD.7O:==?KL"UW[ ])H6R/&CDF:*(<\R045:@R)PD #.!1YG1!1OR MU-&E3'A["^\)6%@AJ("$=H PB1ODH@?S#7O!4DK>$Y411DIS(X29 ?HC=B0>S/QAG+3-O NWW M0:6"QTTU>;#(QXWS=S6ZH)YVNIWQ::U5G$)VE7/__1YQ%J30&T23!?1QU"+G M@.Y@<'W.P\"Q%( ^W_'FUQEZRA0WVV].6OM[6&.F+$[(T(@1E]8"P7B-%+/1 M64JPS%%RDM]\P^;V:LD5S'JY9N.-]KGNP5YL]V)**$$\I,LY%0%X0 DT\1\['*(*U1BH@5[9*Z6+' MP?I+@B=J>MDSU!3! 61^2%%KFJ"$@<*'+(I8A) M!(6.B)3%SHCOG_VQ[8T\S*JD7' 7F\JF(()#%H.$3PT "A 08 MDGGZL<(ORKY<)D@5.KPBF!AL31AJSR+8((9+#;:F#P@L?(DX-:TG>EJK>C./$+KR#1!!<>F]- 391+/W"?C*N8 1$]'Y M9*1-A-ZPXDQM?0-OCV&^XT\T]AQW84?3 C2C&Y>?^7&L'%]F11ICUF!5WZT@ MC29KBC](V1BZIGY4C^87RL:0-4;Y_92-6?;APZ=0IJ7J2<@G3JH F5? ]""E M61"A;;G@/)GJ4ME@*5F]OBA[G_NKKI8HMOI;;5 ,Z/5YBCU M'8V!R5'JWA9MM9LG+;K#=P^W3K;;'WK-=Y_ ,-AA.X<[WUKT/=DYW#AM?M[" M5X]2PW72/-M@NX<'O288$ZUW.R>[[>Z7W!T MED?::)9B] @;P1 / .82:=],BB\Z8!(CXEZ$'+KID$[,(1JR59[K.DCQP56 CD-@1R.D<@6+&( U6( M5:&9U@6DF5#(>66LC\DXFG=$5XDTM3-GF%E&5O9BG!3C9,8M MO!@GA3^6P!^=K\4VN15_S&^JZ.@\9Y(A2IQ'/ J"C'$<<1FE$D1IH7,9YE5F MEI">MM@FQ3:9\8H1,R+B=^LL%K*H72SJ^L M,[)J3-U-K1=2'O%F%::>0;*LG.@['^^J4IS'42PIQRV)32\"Y[R#<"\X4T,3-_3TE&%&>*Z2H4HC#@ ,X,8P&6=ZE7-Y/TDA%A"9<0RU]?G>OO]'A6>*4\9HE1;(")ED#%>(@H67-*>&"IA MKHG*L0C?F>OO)*"OA.#\#' #J&QA[H?&?!F[T)DDFSFP7V,C?S#-85-5$#BP MDXNG<0S"TP/$R96EW/%X\N$OI_O\6#X>5$ M%5=34SP/@)]\(X)1#H1N]V>(WQCF<@TY=\]WERXL,9C->T%J]N,5^GG:RHU) M(S>G;?P 3?P[#O,AZHNEB^B+6[N?>//]7F*!!@$3*:+,R<2L1]9YBEP@QEKM M.;%Q99VO7=\$_K_5FKC=+%N9>'"@I5)&>6#6VN0HP'80(CF6] 2CK^;J*;/\ M2[,,"&TMUU*JB ",';"QM\BEY)",S@$_YSU_FV=9+YCE.]0-^7FZGL9"$!E6 MYV8[%TE4JH1CKZR+-7;5R)D'CH53>AN8*%-Z M3U.:D]DR'(DVQB)&G48\)EB;0FK$9,12<:(352OK;$U>F](\YG>J,73;U%XW MUI]D7?6GC1%8N\/QN2T\JY%5U6XZ]CE_& S841<:_MLP)M!\QX-&:P!Z%9'_ M6FWT;!]DMBHQY;N#7$9L'/OG%<4&"?36.*^?SI*H'>6ZH],*J8VJQ%::%DN= MP>UH6B-U8:'5N8R-^0VC@>]4^G*5'W)2:"PWY;P-!] (%^&#BQ*N@^_K"_=E MO&^UWEX'!5!&3@;#,(K]2UMZET'A0YZD[?1I%#=R#U]/A^"?/ +;:0MFJ0,= MJ:Z]8(OO(@\@;FV^QZV3/1HLS!$-* H+F,&I0I;ZA+P#L XVER\$Z^\L#@<_ MLOLN%P$^[E:IU*J*2 M]*E*( K&AM3<(073@7B08(M04 ^UEUY)YXC&V6>T*MBMBQDL3"I9V?SV2DW! ME0^74-B?%PD?]*=HW:^\TQ7N?1S#/Q.W)8C?]ESUQ>8,HSNCAC\>YEI_W=-& M/^X/QIV)0 -C=B>E%7,'&G-E#&=$>E4CGO.$7G)&+()BZX!:!_T9*5RETA\6 MCOXQN8JZDNOB,J4_+SLZ[T(:G.0Q;;CC3G>BNH1#F\W(S%^YS*8?#(\&E9_C M(-KPO\= YG$X]3!E:R6S._0$)G?@_?%1+N#H3JO\R;D28S6WM@%/F*]8.161 M2H_*%-R9%@ZM'GA1!S,LY/#Y!9O+F[SI%Q%GW"*=G$*.<##V+4E>^Y7U)U;5 MI\S\]9G_0L$R(\K11 70(K8Y%TGVFN2ZA8DYQK0@EMNTLJZ_4T/NEZK\3'-O M+K3.5F\M38]72Z)(TS4>2 01G2(+:!9)%,+*@<"&F&'=12B]Y7%E7 M]U3[]/%J293IOS+]FSL@U<.%"-\OOOU+Z_+I>^WT7TM%@U*D2$ ]CKL[] M-4[371,,VN14L^1T34WUW45W6@<&P?$X_CX-4,'SC_AN/?MI!M^EZM!7D_M^ M1X4F\HJ9,/:,&8OMY^UWKS/XW7VQ_^ MWOZPT=[:;MW(K;D@Z_NC&U[?Z6$+Z.1CH[T-?6Q]W/YK:W.C_6:S\7:KM=%Z MO;7Q5^-C&SYHOFFU/S9^^]3:^+2Y!=?_==4BO3H6M=H/_T'/&^K51$WZX;[& M/=2>>#<8A)-.MYMW.;N#T?&P+C4F://C!9>QUMG6M^9F.&Q^?@_WO3_9^?QG M9Z?W]K#UN7F2XQJ;9[L'.V<>7^JA*Y=\] 7US9W\J#9/2@$^^4@F5YHZ52N@:TP]2 MJ02O@70]2*42NJ;5#Y[\T)5*_D^J_N\9G13]PW9MW\?IYM2UZ,,['1^]V2 M MO<["KS6K#I-UKZ44K@_'S8_Y/;T#LTL(F#[7,NIRR.>N:L;DD,]AD^VTOYSM M?/Z$FX?OZ7;[/6_1MYU<#V\W.V%ZK2^[FW_VH,W7#ODTS\+!=CNWZ?UI*SMV M-O?9SN>MD];A/[WF9K>W0S]\:?9V2&L35)/Y0SY))^*BPDA3ZA&G7".#*46 M^8HQ!P9X3O-&.5OE?!G5#WYEB=0%,TH*A5\9M\G/MX,AO*[?B-\FRN4D[GNJ M:)8,"T\GP\)OR]V[R4*16F1R+=? 6)(A<(NCS$E[,+Z>J/I?)='"H]#+,[>[ M+FT.##T,7>NPL37ZHY)+.U)P126@(3JYP^+RB!1$K2 MNA!5L";;>W25,UD[>Z_D<;AU'H?:'E-I5U$=LX/0L.3SM_(F@CL>P6^C''7Z M-79'*DM__9VD3$-*!?(?8ZOC&&:=V/PQ@:%F[XVHDGF>:[@\Q/ MG:_YX^IHT&CL_[7Q;8K4*\S@:C&,_!];.A__?(=CUC^J@S/%1%='=J:*G MH2_Y:9?/U@S.H\*KP-Y)-'85M0OORS#;2-"(Z1Y*#IG-!\N[>53@^_U)H/"E MC99)K-PXYR&$[D3X_FS?Y=J!ANJ)P^@', %GT(9%$7SY<3>*NUEKO 6 &)S' M*%_NY*@3JEGI7!N.65Q\S_KA !K3'_0FNY*ABGVI)BN 3 ]/J\: 6'^I3M;/ MK@_R"3OH8.KT0;G+DP?MK/@DJWJ_ 1@<7,0^YT<<#0>'T8]C^-?J_+;57),' M.9HD>QOV3U>O[6P->N=Q.?E[US>Z^M"\DFA$%O],4Q^!T"X.I,UJE](1.LB MO&]?M-[]^67G; /O]/[L[K3?G[7>O1&MPT\G.X=?"&@6N-7^L[?3_N/+U4WM M[)+;$\(FW'2" M^%?FK:MBV,YJP0N60-+:WU-8,\8518+Q@#CVH,4:3)'&1#,C8,ZENV%@16U/ M&FWTLBYP5C'GQ5J8GHVM:'4TCN$BX5453Y&IZ*81%5>&8)GA$T*2NX5/"+Q& M;QR+<+N+;(V3!PO,X \2F/$TFTQO.D5/*GGL@V0TG$8Z_4J3']VZ?3<' \[[K@R6/IQ?#(8?KD6VO#P@W83U^KSW^BYW<;PC0;K MJ>[C1,T\IR9%L(.YBM'1&!BWTG*+,:?\'O9Q?F#>5@I#;?9W[FC?GN_OG&Q_ M?G.VO;G[9??PRUD+[-M=>$YSH3N?F_SZ_LZ&V&DW>:OW MH;?=;F)X=P_LY)/6X<[)3MYG.@S=UF'>3SK(D1;?+O9WF,0Z<Q64#,B8'!?.&45&&)ZS9B5.L)+$XL(CA4<*C]1:O%\J MC^1TD,&.#FY!(:VYM)N%+FY$%V163D_JE+RRR%:YFJ,RR,'DH:B4"< > C[/ M(*"U]KOE_#_=.*[R&ON#/GQWO_.#,T6_>*;G;@?:[N-,3RW@ M/-'$E \^!>:X\=YYAJF1RJED<$RA.)-JANJ=.6>25LQJ+A-R6?_GR8(1P(Q# M4C,:1&+!4;>R3LFJ(:IVL<)/!K=K<-ZD@-TS +OB [D7^)OY0%SB%&N7B\I% M@\ 8P<@&*A'&.6VXMDE9L;).R"IFS^MH?(&_ G]/#OZ*_7YKJ)O9[\Z'*%EB M",/<(ZZY1CI)#7@'"J"UUD2=2RSB5:V74.OWN4)=B8RYH85^/((.QV%CDC5W MT!\==(X>S$)_O*P;M4!M2XS@)#)K0N11&,>X)EY(9G1('JMBH=<,MT_G+'0B M)8V:4\1L$GF;+@=^6%!1F:941**BI!5N"W6]]N)CNUV?#&[78">N@-TS +MB MH=\+_,TL=.\)X=3DRC34(>XU:*PI2B2#E,E(RGBVT.6J,LLPT OZ%?0KZ%<, M]/M#NKD-=J^2M,D@SWRN72AR?:9)Y)JS;$'QJ^)7+5M(!>ON@'5WB/XLIOF] M -_,-.=8.JU41-@+AK@,&%E!+))@9S"-A00S9)D1H07Z"O2] .@KQOG2L&YF MG(?@63#8(6F50MQRCES,)6X%-E+F.LJR*'EU-,Z?X^9Y:]!'.4]E',>&W1_& M*JMEV3Q_&-"6@-')[VT(:8ZS>4?>T'_F4], 36B$!.@L3,*Z60M,LY$ MZV7*U1SS (AG466[9!(.\>1==$BJZUVD4;+>=X*5< 9RTB%_1(YXR?NMVGU= -- M?)SMA8=HRMS,,9BY,#C.%=F_2QZ/U] :-:6,V2..V>/YR.^AEK+^F9>\W>G% M4:,53QH?!CW;7ZIR?$]#]QP*4;^[YZ+R2PG<+C.Y8";ONW!\F(W]B1Q#.N$D9-6(^YP0#I@A321 MD:9$+$MLB65]'VQAU06&ZAD167BC\,:+XHVRA7I/3')ZP22>):)9L,@[+!$7 MEJ!<[PDY38Q7@@O"96&2PB2%26HMWB^524J!^*401FMF>B@'L\$C1DH[A3BC M%AG#.<(R&6&25E(NM43\2V2,&IU@J+7W;;DEXA\O)TLM %U$IH7Q&)1)QT-P M.KE$I$N<8^O%)"JFN)3JA.MOYEU*3-M("9/(&@V&0.0$&6T-$EIZ[$, X79@ M")!5H^L7&5-/^*EGP&2!NV< =\43FN"MP5,WT) #@STQ7W!#LCD8H.(ZZ91,XKA7)F:<:(\S8'+$C M/UKPK^!?P;_'Q+]BIM\>Z^;,=.UQT"(D9*('9<]Z@70N#&(Y)5)*1P$*5];U M*L;+2)3T3+&N;*;?;.B67"W^I;M7F>;92\>Q-IQSK;6403,A9 I.F53,]+HA M=_/2 0U)89Z(1T8IAT!E9<@8P5 21@0<>.0R9.2F2RDE^DS]JV4SJ:!=J1=? M#^B;&>A"6V\93HA0HQ&GFB%'C$+,!V9@+F/D9)D!H@7\"OB] / K)OKRT&[. M1 \*,Y7#A)@Q'/$H)-()1X03E\9;S8DW1=&KH8G^'#?2EULS_J5[5A,6UAM. MG#0<2VX8D_?'L[F[&D3N21>)22=TXCG&'6+X4=P G,1%:>& M IS5,!G)DX&SLN%]LZ%[^,KQ+]SQ&;EV6!),M X<>Z^M(RY:QZVBFDA?+.A' MP>-/E^+-)9'")E O,>&Y6)M&3D:#0":H<)19Y<.R:L<_4^]FVX2L@ECQ$AACDI9,!1K*R;^E5$?#)H5J/=Z*=2/WXS^MAS M<=A@)->0)Z:>)1"F%Z=ONTD%I3H,=5TSE-YX-)\J&0KL&<8>$V\#EU)KG9@- M/E#%A8M)E1C]NC'ESKQK0T5!HPL$"9+K!S-MD+-<(<]5H%$'&UU.^,16N>*U M\S;?Y\JK"Y#5<^NM4%.AID)-)>W!8Y#5S$G%(Y5.*HU2]E3Q0 G2W%#D/$TV M,99B]"OK@JT:7*"**2ED,A8 M3(F6+."VRA\?!OZ'Q=/Y^)UG$/WN77_QL^/&_U MW-@='H_&G73Z>\\.]SO]:IS$K)OK57'8BS=5S[W+<[[+E(N[>'EXDD)?^."-._E:CTV^XXQ'\-AHUNO%K[(X:PS@Z M[HY!!!II..@UQG#GZ^U_MC81,0WH5XB]CF^,03SVXS"&AH4;OG;B2?:(=@>9 M_C(>-6P%0ZOP M\]S@(%OYU#U,5%0+K&T6 <^V/H8:/3.[*=83[=TPC'PWQ+ M?O?X8!@CZD$7#QI'T/M!:$1H1&C\>0SMISJ[7BE>:[R%9Z4*$*)0= M-^P01N+8'48_;HP'#3NGRJ]..CN =O1/H7'=[N!D!!TI0G*[ MYUH[CJ,\7FN-K3SK\+U!/ZXVOO0')_WL*LX/'48_@-5J7:?;&9]6=TS>YJ-DX../_CI8,=O/L8 W0!!2?#XR7X!FUP9QKJ. MSL(B[@N&Y_7VN]:;_P$B^?#W]H>-]M9VJW$3BIUV:8YA%R@D]>AA:[O]YF.C MO0U];'W<_FMK1'MWGEA.;-)(^#J//&TYW01L T' M,W:XPB*7FKF0-2I]!=KW4QZ;)"N?Z Z=Q:G1)@V;O7[4. $]L $#!CS>&1W$ ML-HXZ8P/SAFG Q?RGCE,#K1M<#P>=4*L;IT(MPU?.Z/!<+61U=")R@KWI(WWZ9&RKO!()QTNMT+WPE^FKZ3;OS/A]/=S^'(42ZW-[_ M/1\.FYL?.CN]?PY:FTV\T_Y"6^T_.MOM3Z*U^9XT>[L'S7[!$FM2"1(Y="0CRF?'@))R0X9C@&A8/+R=G-JE!D%2_("'*.DSJ=>X7%F%H6/^_QYV,I-6= M'P&TK0.L76O\-09[X[>5R2_A[FKM^Y,A4D MY^N$"8A).*0D#8AG^+;.6Y04M9%KZZ,D*^MBU>#OB42&G=N(!7&!6$5!X#CA M1@:=F%)$4?L7@0Y91@RTDII#68@(ROK M;)5I^AVQ $;,/D8P(;JGE7\N[QE,/%PW(JDW_8\']B@VWO7?@ -8+\/RG;8"MF=G3IV+G!DTO>-?OBK,[$P@=/AVG'O^L;=-A#UL'U@ M^T5R+TON:>MD+R7..1,>:<[R,0!,D0W.(18BZ"'$*2[3RCKG:K$>6GE59U$\ MEWRS-12S7XA%>N&R7I(9L.Y]EIN3P3",8K]@4PWDC3;?[S'#O+*2(Q^H0-QRC2R3"85( M$N$*,Z) V5H[; M>6)[,_'7MC-PM:$]?W0'_LN+$Z!]TMS?4YY0K+A#)ID$1IV!WZB32((J$J*# M54]@\49894=9%(;'\8GO#!&1?=,;E=LJ.PHGH4 S;^$UA_\EM6[JZ;^\L7%U M(^@D^_E&%Q$?OU7^LL$Q-#B,_O7JN^OLRKA-_YSN:$]'__)[#,+KV]%6G7W6]NFG1.F)S^OSI+O':9)?X M2N39Y*+&:XJR[U__X(/ M/Y@_:,V#S/XT1N'ISC^ :[4Q4-=\:O4]#_XA]FS>4Q]F;DJ=K-E6I%2W/"$/ M/VDW"3U^_N9J-AM;A!F^=[9#FX0[? M;?]SN-T.7YJ'K<.K9R1VSEJ]W?9NK[G9),VS+=S:_$2;F_L,WG?:.CSHMCXW M18N^/VW25FI^Q*?5^8B/^&3/!+!+C60(^^ 0UV# ZF@PX@0G&C'S@MJ5=;(J MM:Q=4I9;++RZP%3)V'*W<0.0(74[SEC27C]/AFE!T]HGL?LU-G.(TS-)8[(L MY>-WQB 3"$?6UHHVGJ/9P8K946AC:;213U84XK@%<;1>SQ&'H&!95*4@A,:(!^Z0 M#5$@XX7B M,0J(#-DB"Y8&XX0DY30F"J:9!84+!\,B\P6J8H[V>^%?LC;N-6_L@ M#F.5BJI8'84]EL$>&UG8"H7*8 87HR)$QAB,1G:&)"9)" MSLJRJHTHIL<#4%&\\FPW[-)PKXD@MN>WY.Q MTA*LDT-11P\VDJ)(NZ21)\$Z$DU@) '!B57,EN%<>RHIV!]NV=TY!7N]CI-. M4AUN+4BT=IJS*^?#]S_-DGG<'W>ZES/.53?#72 &9SD%IAU/TWX>#>#V1J?* M[SP]F0J/S,E&JY2D9P$(%P(K@RQ'H;,8LQ,N<4BW)/JI5[2.\L>,GM_+)R.R\^/B[KW/.&>=5X MX+00?P\'X=B//]OAT/;'IYN=D>\.A;7 O;VUZ4(4.#G<_ M;WW;_@QM/005"U0I4)ERMI!OK9,]$6V*1$=0?2)#@$4$:2(L,LI9ZQ/W2Q2MH]J7I2Y?0[&1QW0U4/ MX\!^A?[%"!?LEU@EE![D3&Q5@O1)WN^Y+@<[MM"_SP>=W$H8W/Z^W:]*U8#0 MQ/X(U)AK;X>_]X?GV;VGFEV\5'[&3O,5-GH#4.T&57V922F422KR:>[Q\P?" M* V.AU7]E4$_#^'H^.BHVXG#R2O&!YUA0$=V"%_-:R$;'CDU^'&"7P"WAJ-+ MQ63^G_^C*5&_C\YE )Y_,7N58IC2)*NQ.[WH6LY.7^4O![D:Y?3W.>\P#,_Q M"$9CDIH3Q/AKQ^>\;W@,JS3*T5Q^3W\_SL;V&6[,Q5:VU\W+L'P\B M6-MKUT!J"7F,MM,5ZCK/HG9:KUQ%RZ>OD^WW>X8&S[ -2)"8$&BJ4, >764@7+?(J;^ 3RC$$YL@:GIHDMTXRI,R:5G=.]_/# MBW*-4/-XN8">WP[P.8C:*L'6>8Z?!B,YOQ8Q#[M+=)O=B3H,UB-F"WGJ&]%+ MJ(=ZA8HK5<)VZ^."OQL)3^N@[O/=]K[(R0%S8L#M]GO1A,^VV_]TX1EGN^T/ M![N]3Z= T =77?#;FP?=["6#D))$%%BN*1 I!<.3&"0=H]'PB)VA*^M\51%6]IAK M%*9TIQQK3XBR_KZP+2KS8\ZN[HQ&V7B8*Q\ZJ3/SW>"F7PLN^NE OZA0HSN9 M5?<*]9\O)&&K$H0"_;>!_H]ST$^I$EB&B B.&G%B.;)12A0(J-_"8,5\E=Z) MFR5 _[TLLWI!6(E7O=NXO9UX0:O,Z&"N++"T1P^$]<\RD/2WY<+[33#\;WN: M9[=&V9.> G9WYK";4ZNMM1A)P1WB*7ED<<)(8Z:EE=C1X%;6#;T>-O.OHJ__ M*DR?>]E@6.-/PC<7?K68 [_HP;I42W*92LA=0EI+/.NO*7?W,+!/-;0U46\9 MD=%C&KDFW&B'O?-)&RIHBN0>0EN+/^V7B;DU[T^+'(,*922*.A'$%1CLOOMTUGK7 MI,VV/X-WG6Y_WN*MS?>B=?8),&OKI'D(F'+8ZES=C-]]]^>7W783[YSM?&O! MNUN;6V+G"YM[N\%YQ78 A%IZW,L60C(Z8=]\IR*GD@'E!+7-V\G\U*8VY:[A!-]O,7 M7VXH+",MN0F<)#0)-+LHSGX MV!"K8+K)^.0HKE$U8/"@/+A7OWD\[N1P_NO-@ ].[#!=\4&.T3H> M5JB3A^3X:*Y Y$(<%)0SG@)6"DSU)+7526*I0TS2=>3WMRVS)CL@+ \;6Y@[?DT'K&%- @<:( M0),FR J/$2;&I\B%D\2LK'-Q%<0:,.B792GFH+6*::IXS2ZHSL?38+>?BW+# M@AQ.XBI!%1\"9DP6P_0V-+^*AM%'F#-03*;QCO:T^F,JQ?LPXY,+P'NC+(O] M:2Q?F,WU-/X.EGJ88(#+RSCETRWNM.K,E96>;&<$>UPU?==!XP6NWL#:,=Y^MK MC65$_?G]_K=7V\?C' 6;E=>WD^7_^GSUURG6[S'4B[/MC3V,8Z"&2\2"-8C' M9)$CVB+,0Q"@\^N80]7O6I?P*7!R5<2\6BI5C%^6T\%,9A9PQK.. >1BC=(? MU /\A1A LL8P?Z@2AG>]]\=-AEO9$VORTQMELZ:YO)_8T#K4+31/M&[A$MTV M/W3V/\#N3!&6!Q>6A]LG^FEL\S/>SGM:R_K<-KW!!"U?VF^1V^$&-3#K.0&M MP>0\5^7$_B<;? MM16,)\*L!2Z*5-P:#A:J1N3>@S27&]Q4??559PSO\0^FQLZ;G)MM] MM_6M]?D]M/D];_7^S"4S9R&)1CB>K-(H)BMREDV"+),864=)-2@!8M5BX3S^)7UFW=.>]Z_'WA MO*?%>6>S:I^6&2<,033:B#C7%AG/+7+1,L(-98XIX#PB5B4N]7<>@>]J5T/F MI:OW-E#K(X[>&HX%TR$QPIA6*A+K!;V'U#T%ZNX1ZLCLQ)$*3BNF0;,/H-Y+ M4/2MU0I9'30/5!(N#$"=)*M&D%51U/LG#7=%EZV%D-8=X!?HL@7@GQ3 LPN M#X%RS#U#SF==-C""3 "%-D;I@S/*:4RS_\:L2JT+N)? M #KFFNR7ZU@)C1D@*U%@H1)-# 9TYL9;8KR4!A=G0XT ^M*9?V<"%M(ZQ#7+ M "TI<@(;1#6#3Y-0GJ:5=;$LW_HS3V\@/_3 M O^9ISE%XKCD!KFH,OA'B;26"1&8NV09\9(R '^Y2I92P[" ?RE67B.DNZ[F MNA@HE=A$(AR/4FK"F0&X2XZ'Y,A]Y(@O2'>/2#=S-#M&O55"HVA-0#!W'CD M-\0 ^5A.96&)S*47BYI;U-RBYA;P7Z#F%O!_6N _A9.%/'[4$HI(B -"5XXP%Z5X@ MTEU7Z0K2/2VDFSE>/>,\Z&B049@CSCQ!5CF+K'..:\^(C3@7:*9T&06:GRG0 ME=C?FR1BM=""G.A])SY8DHT7M3]V72$-29!$I(O*2VZ=-\PPSP/VTB2KO2Z6 M=YU@>KX@9TQ2&NHDLI$EQ"5/2 N"D:-64R*BY+F8LL0E"+A$1Q2_:T'_14IZ M0?^GA?YG\^@O##<,!285XBGP7&#((^9H4$:JH(7*51^%+C' )0;XA0'==377 M")ZP4R%1IWD,TGKN&9.14Z)MP*1X(^H%='/))@@FU":+K F@YB:ND$L$T,YZ M:R/U6,0,=$H4-;= WKP<'[$ (2CA+$#D=18M9X MRHPU,&>YDK=9QE[Z,P6Z$O!Z@W'[SW%_W\+#^HVW@V'G!Q4WRA[9+P6]6D\C M2=S(E+?%A"$A.FN%(M0P$5TQO^L$U;,,Q[E*J=AS5CI.N$8D:):3,$BDO9 H M:FF4="XI#W!-5K%>EF[Z3/?*2NCK8F5*/A?\/^EX_^"B.#@,73\]PKJVW"0.*HZ-6'DJ +<=)23Z8GS7"*JW/\Z'2N_3O: #D1$S M9(43B/N0D+5$( )S:"CA'*ZMK'-03*4HNV0E2J)X7U\X 5S7U0L!/"T".+M$ M %JX0).CR+$8$6<1?HN)(&.#H]2PJ"7.NV]<%/PO^%_P_Z7C_W4#@$DN512) M8H^YL*_R5,^@;C]MKV;:#T+E!9<8ZE81-0GC#@V%ED?/3*"\ 3:*BI MTIH05F)(2J!TT=1?.O8OJ+E]9^PO /_@_OB3/<>DE4XG1**GB"="D"66(J.C M28E)1KA?6=>T)(XN(8(O#,NNZ[&>1JP$9E19PIG%UB5F&7>$NI04*5Z'FL'< M+!9:L& #(0QI&W*&?&N1#CD@FG+M')9>&9_U6%9BH0O0O32@NZZT%:![6D W MBX6FF%EKDT>8,P Z3SFRFH-H,"*9%4%'5L56X )T]7*M/KM8Z(_0)'LT&)98 MZ'N$ZM'^M9TP2C 6)F!O&"?2. ,0S37@,P'@UKCX5FL$U"PW_2N4HKQ:;$090XB.)=?>GHOR .XL[H7R#^ 2'^ M] +BJ7$^.AR1CUD?ITHCS85&6!!A$]-1&+.RKC0O +]\@*^=V^%%H=EU7=9J M #!KK O45+(8B\B2H8TEA;JG7U#-AG<0:V#R2L+=9F8\$$S2S M(R^CTT=_$,-Q-VZG&4YM]4?C(;RO/QYM]3^.[3CFW[?3VT[?]CU(V]^#42V,_S'=H]C&YKT1W?@OSQ-%.O&_WPXW?TMC;MSF!DE DZ=_3H%:3(:M6EL7XS88ACC,8]:U1Z/XZOR7W\\79Z=? M];.Z:='FS4DGC ]>&;.FL*HTFBDX3I\_N4S6)MK.%6*97H2KW/S@^@]O_N%% ML8:QON/->(W\Z*)@[([W_KC)=$U*^K2:3-:XONO\/4Z3U9I1=Q6J(A>WD LC M;GCS ^Q +V: ^[0OZZB@SH\?$0\[@!Z4H#C\SA!.F67Z ABQQFC0[83&>2?O M=8C5@PUQ9:(V9JK@Z ;.C7IJUC=TQ#S\LBER^@!R^E?'NDZW,SY]%K):Z.!! MO:^/MLKR"Y_L$OO#=L':CW?Q;O^*\-W#T%UKJBFB\$NBD/T\C/3/UZHD(^<>#&,?_[8;_7O]KX"LW^;*AKQ#=HTS\G\?] MV*!ZM9%WW9X#W;T,@7@X+-V,/O9<'#88R4)!3 &" O(O>&X+R!>0?V$@7T*I MRE=O:I'6L]'EJTL4!J*?=JK/ZJNO.F-XCW\PO+W8^6NT!GG7>@1]LN,8V$R;>^/CM*/9'<33YR_9#8S ^ (O# M'P^'P'# >Z-XH^%=ZH&TQYO2.O@)_JLNYXQN=03OX<;C%D?PL+1622^=)8E[ MK1RS.G#NN:.1:<[OF!YA]#Q.W1TV3UN]M]"^3[Q%FV<[[0]?MC^_%\W#-]_@ M&:>[;?C>V7NZ^^X]OGKJKGFV17<^-\]:[7VV<]8Z:+U[+W8WOYPVVV^^M<[^ M[+;>O3UL;>Y^V=W\D%J=N7RS4:>@:4XH+K%"7#*+M"0!D125D\9;1>G*.G]> M=1\>;BW4\P#Q4\#KAR/IO4]>TY#N>&2Z MX/4M\7J6.-=Z&1*Q!D4G+>(:.V0!L!&SBFFM&(\^YP<7R\@/_DS/2-< L(O] M](,3+=X/CV-HG)M.=9N[IT"VQ3BJH7$4G1:$6 [ SCE6W GEA)1@&D5+A#2W M-X[.#]5T8F'<6S*NF*6JEX+BH T2*I*<8\DBYSQ#EE#)9,0:2PD6DGA>64F* MB50_U"XF4@U-I! 4CCIXB5GDCA%+ W-"\VB=)(+PVYM(!;7OC-K?YI(Y&R9# M,$XB*XQ'G%*";$@/[^E>\EY)F& MK:TL,P&/N5G^G;D(L\EHSOT\&,Y$<#\B-XSV"[()NO+*=D_LZ6CEWY=3Z73Z MYT\7'%Y?UZ%9J'DL&)O7V^]:;_ZG\7K[P]_;'S;:6]NMQG?3"%WOTEQBH04+ MJAX];&VWWWQLM+>ACZV/VW]M;6ZTWVPVWFZU-EJOMS;^:GQLPP?--ZWVQ\9O MGUH;GS:WX/J_&HM$IOHQ^?A2A$SU^94E.2$6P966W 3.$N5A\Y;MIW2*(ZA5?L3%V$[P\H+3D-&FOM[VAFJ=91(R+ODW9F.U#@YZ/B#QDD<7CPPA@;(M6WTX[CA[*@SRG_F M=[P>]*M8D2JF;'IZM5$%_(\:X3@VQH/J:Q7SYD1G@THH&R>=\4$C6GB+SSD^ MX_#(#J&)SSJKF5YC^JZIDWZ2L$E3^=1R3#U4D\F:9#]X %S:#'YWD;R :+G;%7?_^4@]U3BZ1+UE1$:/:>2:<*,= M]LXG;:B@*9+;Q]%=E,69+ZI3.8^>1X!&[VVOV?ZCM_VY2;?;G\0V?+<)SVGU M\^5T]]T6W>DUX=T' M7UKTTPGTB^_V=E.S@T]G!X^85)X%BQ)Q&G&J W+_/WM?VM1&TJ7[5RJX=^[T M&T'RYKZX)XB@#?;0T8BV+;<'OA"Y@D!(C!;;\.OOR9) 8C6;H"0JV@U"M65E MGGS.DB?/HZ-"ED4J/64$D_!"&X]F,W&J@C%/R+=;:(WP1*4P)\EXSR3;3]0+ MEP=@"? MUP&\6+6ME?W#E#V_4/9@AL'@B(",Y@GQF$#9FR 0"8*T<'JDO_ML9;REC6_)M4C=WK$=P"U^#MZ= MQ5XWV/[!+\HDO<_;/@:Q9]O;#GJUW*W5['Z.@V&O\QXN'VV9JA7,0Q3,Z=02 ME*0F14D]N!O8(8ZE1,8PCX+RA.MD)-8^ Z.FA/Z^4-N$*^EGU.BWN+9SC7X5 M0;_)0HLT3'C," HV1,29<\@XRI!E7F(7L%1D0=&ODNLI=36YVG9?6.WUIFSW MB]#/1(-]SKV0E9=OV]9QK;T>J[TF*P>*!L,%I\@';!&/5B%CF01E)KV.20K. MY6)JK]IVGS?T>U.V>XU^,T._Z="XM@Q&22:D/0?KW7.'G(D1>:JPP9R$1/1B MXM_8J0,^P+OVV M,I8>U)MOSWUY"UP,+Z2%&^^GU@^,9%PH4+^6>@HZ6%BDF1-(,"],D%IA*N=K M"\LC)E)5<*E.<'H=3?/V,J!FJ6GFW%6L-;8F:J:BJYRE/OFJF >SI=/+;V46L?M:IX5_NH"TB&\7+F MPV2QS)A$50+WU%GK$8_>(2L<0<(EFKQD6KDT9]ML:D^UUC>5,2_>HKY94$^U MUC>/UC?3RY,>:VN<"4@)2[+&PWF>E60M,+FC+_WZ*:J8UD1:SKE?_#3W2SJ7%GC+L0CUBQ^V7\"_$4M- M?Z'I72A98>0.YHJ[R2GNO#-;,>*Q=WXEL@V\8O!B-_D&[^*V,O_W;P3('WNL MF+Q.M^D58\Q36%5F7 !X_B.MOW9N>X"MSY#/69F^G"$M2->/&?HZQ85Y4US8 M/(\J\O0*M>G-G!+ 7"7MG-U -P]Z,:)CN/=!O]CHA'NM1KP2^4L]FK\:S2^M MGR\]EK6NFFD@=LXHMUZ3I6!.5.NK,E.\]6&=W8PNAY7A>U/W/&!BSWF?UU-I M(8?U-:;2+XR-:I(2UJ?6PS:7I];#-I>GUL,VEZ?6PS:7I];#-I>GUL,VEZ?> M.&Q$O\2V@[SZ/1L'JCSU76L S_$S8[^\('#K8^?#W8/O=C^MGNX>_@);]$-OG6X]7/GL'VTNW[T/&,3SG;*>Y?[IU]J&U_>WS$;SCT?;Z0:MQ M&-)6\6?)^N)=P9'H?N8'QB#?TSA_Z)SR"9LY$PBI+"#'%A&;(^CK;L.B@G_M,!W.$PU,IBMLIB>^(GP!!Y%31%E$N).$T$6>(T\C:"@%@:I!=+J_(E MJMQ62%U4K5I#_CM/LE9G6"X,_:)^P]3V]9-NOY6O>->+[7*^_'Z^Q1B09;P) MGX^WL=]TF77];GLXB+^/.QI/7W_YFNLITDLO66O@ZA:P6TH-3&6QC[IZZF=^ MF1) HF<$!Q$()X(K0VR>#BS&R)Q3+,H]Q9;.+SKH3:1^/R+7B_8(V03O_\ZV M?]C3_M*_+Q<4:'7.F\3IBLI]7]4NO=&,NJ%/WV]_;&S\3_%^^_/?VY_7FIO; MC>)6@;S^2E,5%FZ8I=5XP\9V<^-+T=R&=VQ\V?YK?-ALK#7>;Z[] M57QIPA=;&XWFE^*WKXVUK^N;5?,N"K,Y_@]=H;Q M0Z][_!YNG=7,M];@X/VP#[ 3>Y4I]G(Z5O&'.V>@DMGN\1;;.?YPT#C,*OXK M;X#ZWFENT@;=^+%U]D>[]EM[M/&6?M@ M"]3[#CQWZ^-7VF@>I"VX;^/'7L1>J^@IR$"XN]3(Y(0R-7 ;2Z)YH1&IAD/.ETM3C,> 2*SZ.DA S_UQ71M#Q? M44JC@?GU4R^WDLJ0L!-22F; %J%:@57HG7?,,*DT7IIU.:(IP=OX"7C4L>US MH>O_K[#(^AZ7"7?A%:?;N_GRL5Y?2^WGCB MM*:J&+G38O]"= H+LE,XVX>3AR?G%8O&0O:??1#I(2#>:5GEJ'O<\BUXVB/J M$Q'RD@6*P%Q9P6.3Y<$5BIA

    2Q=5Y^65WFL=?>792'KDARW_(R#VRRIK.I M(S3#)M>]/-UD*I^G[E"UML]6H37S6I'D!4/0%2HP4TO,7$A,]8K8S'DB_:M4 M*KBAB8L@G$\N.?&J_3+#-9C7;\'Y8,QF5\)B#MM#J];42+302%0/7;4+W-3[ MJ<8]N%:&6^VCZI N4FK+S60!=:+D(SJK4DF2#TAIB2P%HV@2#CMNI'))ZX C M#U%R1Z*XQYZI>Z=&_F(=;..G;P]S9V;23?@7FO9G=?)?'K<@,-CYNDI+*Y/ 3WEV'-_CXZ73W,!PTFG^DK=84QS-S/F*:-!)44<25 MQ4A+9I EW#@E1<":+ZU*O6RJFP%SGRE7%8"JDR5GHE$6.5'RV35*)9(D/:B/ MD"B6A@:N@W-1!JVEM9R#6M'\'KNJ:HU2'8TRQ>4L32+>!62QMZ!1=$(Z,(:( M\EH2S61,86E5J66.7X*/L2(:I0)[KVJ-4@T38 $U2B5\%$LD(X9K9A+C3G(+ M/Z3C,CC#'0OZ'ONX:HU2'8U"+S1*I,D+&2,BQ C$G67(V*"0)(8Q%[U5@BZM M$FJ6*>%O1Z743LJ@4CA=)JKV4F:XZ^N9 MEZ%FL-KXZEVW,>QU3V)E%U^?1G/X0/KJ7[1Q_IP6$2BEABK.0^+!8&<2]5$Y M4"J.*<'JA94YTC"G4PLK@6F!D\2(>ZD0#*]$VCN+ @$_U5N,=>)+JTPL&ZTJ MQQ*_<&Y)#815-[4MS O-HN4J>9XDL\I2[TW".!HHLT: 9)0JSM+0JS+*D+U'$\^6 L)(A_QH(JVX1$H$-%V D M2.ZYHL(IPAS!@BC!$Z6\#F//%1!.PMA&1Z.3XD@8YA"WB2&K&$5!!D*U!9"T M>&E5\V4AK]>DG&<@K"W">0/"2EB$D@B/+<=:6LVQ5\XK QZ5!>LA&1Y$'7R= M*R"L8=8Z%1.V:FF5$+-,Q$L$7Q?4)*S3_._) M2-.+=A![Q?N#5L=6;='SN73)PQ88%LZHMH;&*'6RQ"6>9#;$$A5$&F>5ME'5 M8=;YT26-]U-A5J>CTDXKY!0G.;K@D0TZ(DJX=YRP"*.\M,K(LC;56\=;.*.Z M!L*J&]588RJDQH8RR[7E3E&"L1*,V+SL%.HPZUP!X23,*J5U1K.$O(@&<6D, MMMLE* MJJ2IPZQS!823,*N6+,K( W(B\_Y8@$0'PXP"IHY+;EP@;FE5Z&6&R4(!86T1 MSAL05L(BI"02G50@ A QQF3!DXI:$0 ]2JF+=9AUKH!P$F;%42:B'$'>&HHX M\PY98B1RUEHM1$R2D!(():,+!81S'V5=Q"S6[<%![!5K_=;C0JSU\Y23I##'",\M(DI%078=8YTB/?)D*L4KFE:7&(68H09P$CJS&%H0M M*2ZH4%+YI55&ERE_B&#MYG^,K"E5Q 4&L*+,*(45Y71#)IIH+"1"=PC05=AG%>*""L4HCU M=1:=WG01G%ERGK^]PFNS)$2OA"-@14A!Z$B]QQPG8HP.GM$$)F1@6*0Z-#Q' M^F^Z>G2B3C!#%/+<2W $N$>:*X*,X!H,&2E-,DNK1)IE;%ZBRL'K3CT1C6'*@KOY7^>7H$M?[]X0 N_S^TKG/8(Y>GJ]? M_$$,PW;<3AN=06MP^JT5XF9G--U!2*:F\\;/0>QU;/M\*O?_./V[UPU#/^BO M=<*7V/O>\K'?A,;]T>[ZH_FPCQ,7B)MJ$$, MS,B@HG0NJ*4B N"=P" ,>L.X-#7\MYHT-XO;91G]A4#_8CJT6YV(#D9_$UKJ MN.9!!-QOM[L_8)X5I0 7_>'QL>W!7?I%:/7M_GXO[MM!#$5O)"A%:R([A3N] M^'IP>A*+WUJ=8G#0'4*K0O]?[RZ+.?PX?_WK7-'PS/U6IX0* 8T?_SD&!S&: M^^,&CGMP!!_00VU[TH_OSC_\#JT^:=O3=ZU.^<;E15?Q"1[S^X]6&!Q 5T%' MXY'&'Z^1CQ\P/KXR.G8%/$<'F5S!A-Q^_,Z+\U[\T)22F]'MM1),7J$UYDD)@+]L\!A$7V"'X^S" X0&SL$>[*?X"S%XP*FUQ,R%Q'QI_7QI>7EP+MU+9!=7 MY_G/E':Y",+YY[ 3"ZJ7B^R7538Q?8Z';G8N?CET#.>A(Z8>NGK6U4/WJK.N MKL1\3WMH8#O!]D)Q,H[:%?!WT1_'[>J%MIKB_(DA^WE/[A"8:>RX>^M.=XS^/M]8_D9W#QL'.H:?;S3]: MNQ__:376M\C.V0:[NDRV<[A%=]=WCQMG?[9VCG=^--;_:6W1#]"N';'U\<^C MW6^;>.L,WKT9,A_M))$>*Q*]=P)E44<\<(\,3A0)*K@77$EGWK%/2Y4BF3%'1P2SA3N=R%SLE\25CDA%/(*FXP MX98Z7)+MD&4IYRP%O?92WI!*J;V42G360RI(! ^J)%(6#.'!6(.C#4XGKUA4 M,=DZ/WRN5,H4%ZADQ*J$D<.&(:X91L9+C\!.4"8Y);4I=S7Q9?XB]/ 542E5 MJJ_T3$M\\[\\M79RTH;&9\E#_1, CY2SW<>PD =_F \];IVJ+N)7=:_&42&= MBS0&9C./D-',)4RI5,3S1&L*T7E20:?3%**!.9-)J+W+99W!144F$8I2-!*& M%F,JW=(JPA](D/6*P7P! MX12%J$K:4Z40R^L$G N%M+<2.6ZCQHPPS?'2*A7+4IF% L)*K@G40%AUBY!Z M)X46/''CN=+&V&@XD\(9R@A1=9Q[OH!P$N?F6DO,,(@*29E+F6.D4XC(2)HI M];1UC $0<@#"VB*L@?#-6X0^$L*:.Z])%#8H'^KH[%P!X20Z M&S"1/BB) C%@$5J?Z_M*C@A8@)8[:EG42ZM,+Q/R$L4[%M0BK.O;5VUML:ZY M."_5JRKA"-3U[1='_S7>3X6&;6"&$^*1 L,?\1 QLDXH%*S5+F*B*:=U??LY M\2-JK56GS%1$:U7":ZOKVR^4UIJ*XTLF3)0>@0N.P6NS N64?T2\3=2Z9%Q4 M=7W[.5D&J+56[6M51&M5PM>JZ]LOE-::++HHH0Q+QJ.HE^UN)KK=K76CA?JZYOOU!::[)"!KI(^*0I8H19Q%6RR'@5D3($ M*R-]])34]>VKL,#VR_KVYZV>ZKM#F#.M='K^7C?5OK_7A0^LRWKYS9^Y:GK9 M2H".;J_>VI8NCRNEA4 MH1>F7C5=O*H?OVIA>[E,?,;)&.!#L?1W+YY8F!OQYTGL &R6A/]\"!KP?Q^@ M2!+UEA$9/::1@T8QVF'O ($,%31%LK?Y9*_GO3UI#6 \SV(X'_O<5Q][W7[_ M0E'@^504CR9/:*Q__;EGG>?E^H]FTB/.%$-6LX0$LTIC2BE+HYT"6NME$-IK M>%\._4.&6V#/,/:8>!NXE'#?Q&SP@2HN7$PJ#S*1&(^TE1M#C3D5LO+,<=/NRD>R6T>X7W53DNI CI71>U[,4@_7HX[$# M &%D5#)RN>C%O*ULT/H>VZ@@O'T;]$[N ME+'J:I\681B+! [#Q7;&?O'CH.4/2DT(]^CVLJZR@ZS:6KVB UHL0L<0Q>=%L>VU1G _UEI%C:3M92ZT.[G[P9%*Y?YO*'E M &#%27< [8.>*7POAM:@:'>STP(/N!C/D=K-J-EOP=U@O@T[XU<\9W8Y?Y-6 M5MP_#F)G0@53/K&[W\GHEQ6]#=_+QL%M\DW NBW;X<%ZMOGP_7: 7A@2EUK: MGDC>='-#3!&&8=+8O0.Y^.91VC\PF!+Y,9VX0^?!^;* MB%Y^O_/'C3L@-_P9,*=:,V*[4_QI.T/;.RW("'J7Q\;92#1MZ)[DCAK/G#S< MYS5H^\77DVR\%;^M??GZKPS0$A&V7/R__Z,IQ;]O1=L?]N)QGEG0F>]'XOE7 M*9[9!/S0ZD!'9\G=!"'O#?.)_>7R8O)[40S[^5FY*MUK3]8'@]\+_[OL 4S^5+S8;RS1)Z67_;/B^?"TVVNH'MQ+V=!UHH?K<%! MMG&'Q\.VS=^CF%+,,RCD(2W?!&X(S0!)ASZ)MM>!1O;'6BP_PD48\?SE^1@(\:^42(@2PI#O=02EZO5#"PJ_;,#B &\)8 M7%Q]8',_%1F#LJ@4+;@YO,Z%_5T^ZS]'<^W"$I_@3SFO+Z/*HBF$Z3X?]37T MP*5W+H7E!O"%\7V(F?J2"7!_][K?6WUHT(=N;[T[= /PW\XUWYNU5[>:GFZM M[3'-18K6($,203QAC)S@&"E*$XF6,&QR- KCY_%.7G(MKA[V&X=]36PWO_[< M:D(KUS?/&I_V*.?<<4R1<#0A[B-&.JJ(#&A-7+Y2E^K-#RW_]E<1\04\.P0X:PK7M5L MR7+/Q7,2$%D[MWA!B$=N2O92FOG06V;"W5[;HU*P&$Q$*2M('K%!CGJ;D_T! MHKC,-2YN8L)= *_@#M+<+,-W>$E%GJ7?6X/3BVEZ=5I.S!?3XU;PK2GY*I5^U2R>*?S&2>@YW#W;7-RD\FVV=[?_87O]T MNO7MJ]@ZWJ';35#S3<\:T)9M:,O5I)[&\8>CK?S,IC_;7E_C8!+\W&T>G>X> M[@BP7DGCS,,]-SB\=]IZCW].MOU)9J5B%-F0ZW\D$I&V)" >%!%.B2AC6EH5 MK'H%2:N)KY6O.2I7E*BL=MKL@ %F2Q^E^ROK[-9DW;K R2MO.GA$9*'&[7O@ M]IV1<+N.DF _)"X&U+6.?=:V2*N'VXVWB2N/VMUYK M$%$WI7XQ*UA^G'%0;5C^[35Q^7Z6=3FRVS"P-50_!*I;4U#-F34*S&P4.* T M]RG7_7<:!$1G2+^] >VLQ^+7EXG M&'VNS>F*F]-^O_/SWDL>XY'>& _T9QCGM8NTHQK)'X+DIU-(GC)'\2\M/[U:!+^N?%'5[8KS5_GB\5N_ MZM6#&2O$QO3J@ MVX'SWWGRM3I#.\I2FLI1*'=DY+U(O3C*I!]G#! ,H#+.M>!TY/0LW7RE=>5F MD?C[N#OQ]"UNS3(99T2\:%:)N5]2"2674SJF?Q[T)C*\'Y'K17N$;()7>6?; M/^QI?^G?E][XN-5!5[JQJKUSHR#?M-EX^V-CXW^*]]N?_][^O-;DE,SPX*E6%!/0 MF8X9)I7&2[-.QUL?;^X:U^3XXW2MU\O.9W8YUUM]W^[F741O.@_OTY['WA.2 M>:2M=XAK!1ZDQAQQSI7#D3N1V%UY> N2='?/C8 /R;^[LNVX3L*KD_#FQ'VO MD_"JZH3/>_#Y!4IJ7-'Z"^)*-UJ-P_V?NQ_AV.$_[<;Z)[IS=I1=:=%8_^>X M51#SO+8L,7&D9 ^+2.J2=9RB!76; %I,LYH(K?)E7L"1D-6&V7BU\ MMER\^QEL]1IB5=<0'XOG:V&\Z:L&]H< ^W2F'L-"@I,"+E]D"AP]$Y"3*2'G MO13]W@@BR\8 M+CRV&@0F,<2C5,A1*A#'$EOA4HK6+:URN:R8KMR20YW ]_;X/)96U_IEP=\L M@SY7)_MY$D,+S.++M8X/0+O&<6'H7#XW+V",,I#BJ*K _GXO[F>G:519^KS& M[Z ';1MCW GT[:C^@+=C\HHA'!RT^KF$<ALQBS$RYQ2+PS_-3^1!OT*)MD6W6X>'.Z >;5S=G"TNWYP=#4[= >>L=O,9E=Y)9AT M7]EN\PAOG>T(F$D'NX=@IGW\? 3_IZVSHQ^-3WO0D01+Z5$*BB).M$=@3'-$ MA3-$!&^"%2-[&[1 #&O96@Z!2 J6'&%! M4GKR]6?4PZE-A6*J%FTF@"#J]SXT,$N<*R7._BCY)L#0R90( M_6%[D!D5_+0@+7#D ZLQ4U.IA=TG[QV]+G+U_[ M2_]:*8JU6PB)KEJ*H;C5N^T?6'C.%0S\>$!'NZ7_.!RBD[/T*E\^C].)Z?\;4_S5VNY9V'2NMC;3N71_MIWVVIG MS^%#M_<1KAU4II#SB^/KX0;;"Y+*I%)"X/M%0%>?.:YH1-YQ+%*2VI2[MS/I MLKBY8OQ(( I[WJ]E7OI^[MG1_"X)?D;R>))G-XCAE\NBVXNC\T%N1R0E6=YC MSV>JFY''$?]W"#["N/P93/FC.!A1#9T[*5>G%TR>XVYG_-@1;=&X326G2YXM M^R/MVCXMOL<\H\"C+BZ!!\QWCUH_T0%@>>R\>SMR<79$][QQ5(6D$>6"("Y! M) Q5"6&LK; 6)(;XI=4$7MT8K3/ST%UV$C-$,^PP34YR0I3S,& XTUM=.]S!57A@B M$8_1 0Y@B1P)%G'#HP_!*)5Q(&4ZH>R']Z]:1,5(E0U/NIUSPZ8[A'D?>]_+ MD$&GY,YLP52_2TB43LJ#V@ 9\=QJZR*8YD$I2:PAQ,E'"DFYJ+B1'U]*Q6B8 M02%D=-@N42C;'6]NV#_1/0&Z&JQ.AV(4,/8Z5SJ5%"QL8;54,%-5X$NK@]BY M9=0OJMY/P!7P/=L;5_&UE(P[Q]X%ZB0).NG$I?<&G"@2D^0X1,6=KP'B]20% M%(+B4GC/",+P(1L*H!# 4D-.**,L%9AX"I*2*1MND150U5/($(]/VMW3$7]: M+Y/MCLC42H$I=7%_6!**90J(?+_QYC:0KK]M#GVW0.F,V>]R-#/3! [&''C@ M,;1 8X>25R;+XJ.9O2KJ4MS#D1K!6O^:HSK#,,87?Q##L!W'EO:UN38%M_VU M\2;&2M%0O+RAM<^W]O M.V)O=)K'?L,3]L'>OO%UJM_$"V]SU8(];ILKDRO*W'_D42U#W!Z#GSG:YE@3XM)>N7 M#1XO]KQ BM;L5N%'P;-RO?RW5F>$IY-2 K?FU];C/&?C_*U\0 RH'.HU>!>[ M'\O/&^.07/G'WSDL5X_ZXH_ZYYCIVZ'%Y5_G7.9#VR[_;L;>\0@++D"A]/UJ M0%@8T5@[3PLJ!WP3QK_5Z;=\^=<_.01_+YWP>AM9LI$])VG0V\-!2>*>_:%[ M5D%YG8TL=Z89SLM;[Y S9!'QR?'$94IX1DM>%8F!?B18951"O#Q5[J[ MOOEC]W"#[GS;8#N'GX\:AW^V=LX^_=S]N'.Z<[SSH_%Q4VS1C=.K*<"[S=VC MK<,_CK>:NP<[S=!J?/Q$MX[_/&RL?SC:A7OL'J[AG<.CLYWFGU;YS!OWVL]_KLYYO;V]USU:75F7]N,HKZ^NHS,KS_39&?">:C24(][? M'"=9U4[H0VR#Z=HZAA/J.68HJEP*6X>$C-4$,B(8/]Z#Z#T+#VHMZ/J2<>%'!.NZ\3T@'DA.6HT"6XHB( M2-&"SZPL=DNK@JR(ZFW8K['RF7V!^OFS>7Z5%O"JZ^Z<(_K,')ZW57!N5A[/ M_1?E8@:GRY%%S73B?" L D2<45S MK7]"D1+2$Q$2##=96B7+FEXO]5\7HYNO4&>-@@OI[9RC8.WPS I)PY/+ITO MC%1Y6Z[)&S8)LHI*I*(2W%FEA&)+JU2N<%6Y9:,:+M_RXLLW[EGU>T4 M6[ER0[\?@/"HVU<_1\L#EQCB3G MP2<:$0NY3H4S 1DO)-(1T#,2+J3*S&)XA=:K00N!GO7SW_9J4&5]H^O;N>YD MMECPK5RO0,1PHPOU EP,]5:N5[4&IK=R>1D\9CX@)J4NU8Z:75CE>X=7;D%4KA"8(8"HPYQ$0*RQD:4..C#!,)A?5A:E2M&W\J841$$J$W"2JBI.3 )YSI^ M<%&OJ2S55,<1'@9\;!)'$"9)Q34B'@/P,:R1$SRAE)1*6,FHC5U:I;DFS((E M7;T\L6-%DFXJ&U<>^WIE&>(7C"L_FHGT/O3(\Z45YC6P/"4Y=6#YX0IA>GNV M=\ZHP"P2G"G$'57(42AV4?CY5,PE*>^6U53HAA6U$W(>(C L<">RH\EM >TZ9R5X:6\E4J5\6J*>6@O=JI&/QBQA9;LM#?$T8O?R.TT-J^5HWV#K(Z/CI]7!]NK$FS_IY2V MT=:O4MB:W?Q5'8-_D@::KA@D.;8T"H,HTPQQ#7:[R^3$Q$E+#*;$:0,:""^# M<5^Y-=EGFM25UU!O*=?GN8&Z"D-:#:Z/IT^1JJNYRL?Y;]%G=4[Z3+3<)/QO ML-,\A@#>%?S@AB?D#$E(V2A%)H#U95U#2<,RX098[ &WI,GPGCK1*$G/'8LWB66!YLF;A(LL2(5$$^4"<2 !HRAP2R7*BB!9&^:55 MBOFRJC;EWD);T^6BQK\'.40*OT/K^^I_P8^K'5T"/9/0T*GN.QSV!ZUT^ONQ M[>VW.F57R>LO>L_&77ZC7[S^+U8VVJU.1 >COPDM\73TYK^1?Q6;G2*_5(EI M@VXQ.(@7:Q4CJ%@NO\LP8SNGX]6+?F&+DVZOO*B;RA.&GNKXKT8@%2Z(=MF[]VIX4].6F?E@5M.@6< ;"8 M#Z2+4F=%#[XX?X>KS5FY&.5R3*\:/L]M9%]!:W\0P[ =M]/-H#Q=S3^C[ C, M^_WA\>B[9A;')K3HCS:<.)_ VX[__?ET]ULX<93+'7C&;O/KV>YZ>66[L?Z5 M[3:/\-;9CMC^",\]W#W<_OCY"/Y/6V?[;&MMCT4JM-(:P7R@B =*D148(\,B M)[UK[E2F$_2\O%--L?L1SF MB16M/RA.ROI^Q4DO]F-YX$>$J3&9+\-^GD+E'.RVV]T?^:\?8T\,V9$K5MB) M[+V[/'&F>G2J^P2\S/C/L0X0HPXM@?2B1T=: GJL;4_Z\=WYA]]#JW_2MJ?O M6IVR!\J+;EKS_=$*@P/H.NAX/#(+Q\O/XP>,CZ^,CEU1DJ.#3*TPJFX_?N?% M=Q^D*Y*81UZ,5\A=!P5[[+5UDRO19"KO>?$,DBINQJWG]-=?/_-=>*-YT(L1'<.]#_JCWMSHA#OJJ4]$\AR\P7Z*OP@*/^#45Y#B6FP> M+C9?6C_'0E.\E+S4"#G3A:-:U&_IP?MM=*\6@BW,L,YN8I3#RG >5F+J8:UG M:SVLW3?YU;_""6P],M8:>4RS!>N"GAGG&5]*:!L14A!Z$B]QQPG M8HP.GM&D@PX,BS0.*#.&;R0+>3X>I0^VU2L7]:9"S5E"/H" ;&:LB/W!9Y"3 MBS4_--=%"P^_DNWF'P>-]:^\07=$X^QS:[?Y9VMW_=./W8\[/QO0[L;Z/W!\ MGUY=]<OXJMCQNXT=QGNX='K/'QS_;6\9]'C?4_CG8/-]A6UA?HVMF\L)JI6Q4P% MHQ1KPFF$^<5#\MJ!#:.DISS 34,&Y][69.A,SM:[C?:\ZWN-TV]#ZW@JQ$XK35FS?OGP_MS3153&I MGQCTY3,%_W-I6!\+0PW^#P;_Z=H@B8?(##.(J^01!ZQ'5CF%@H^84&F=$WAI M%:_PEZ@,\G(LT%4+[+Y$0=2YQ<6J&,5/C-W6N%AY7)R*W5+C)< ? N&+ (XJ MHQ$H_=YM S2T6X/3:J3-+J+1^\0@Z?.5 MG;P+W/^Y$(0:WA\*[XWW4V%2HI)+A'-DF*&($Z.0T][ #QD#XY0QB9=66?66 MR!;)Z%VXM()%-'J?&"2M<7$.<'$2)L78J*BU04$&#+A(&7+*8\1<="*: *9O M6#A&*8J2]DXB#LX",(0SEL:;PO6!2 M+QPNUO;B'.%B5>S%)P9):UR< UR<(L/3DMO(&2)1"\03T<@12E $58AM$%*: MQ?.CYSE(NKC9I(/8.RY^:W6*S"C0OYW";L:5+IZ ]U71SG=5I'U4F'36M ]W M0?WC;/^44' >M;/Q:P_FW)RI9%$@W_+1/I& M9OWSIKS,@W:O)*E3/<^?99Y/@EF48Y629PA&F\!D)Q0Y;S7",F#A<.">O"GM M_IKS_'7T^:."-/4\GXMY/A608EH;%2451F=]SNZ< MYS>PTEP]?=ZI+LI&A^B[O5)6WQ70FMC+I]U>M_ J(\5:0U."@Y M/C+BC+D41R>.V7I&["$KB]63=XK0KW8\+T0/+*U^C)W8L^WVZ8BVR0][O2P0 MEU^Z:/6O-9.0FL80;''<[8Q'K@B%Y#T@L!;=U?-)N76X=&%Z P39,$9R-K[OZU/)Q M;Q)9R>=ZW>-2"$!0N\?PM ($9I"Q[+@;8GMR'"0* M1"Z+3/P.>-P?0>( O)5]$,LX9JOOCZ6T=1QOX*O+@MOJC,CA+K,2 I26P]*+ M65Z_QPE1UG_\/GX=/B;DNNDRZ_K=]G 0?Q\[:'CZ^EM9U,;EQ%]TU,S]!HVR M*[TW]?.@-W%3]R-R8%<=(9O@5=[9]@][VE_Z]V66,Y#0\=T%A\=7M6MNC%[= MT#?OMS\V-OZG>+_]^>_MSVO-S>U&<9\Y.WZEJ2E[@X]=C3=L;#\9B M[+BA2'-O$5=$(L&XL M[)^3IMV A,4U$"R>CG^5R9.N9?F!LKPFMIM??VXUH96'1V1[;2\JH86G!'D; M\J:YY)&3GB+">")"&J?22*X%?3XLK$P^:2T_CY>?YK[8_K1'97(@)@918PCH M4FN04X(A(FR*7B>"DQW)S_5-]5=P<1%=_4%W $Y\JP.>>:??\K>B^KG''D:! MH1LB19@'I9U-1%&_M,K,,A-F&03_$;#^ MO*9M+36O*S4;/[9RTK\U6@2-8K(ZV[<8N:A\3A:+2O/ 8^" XWR94GRCU%PU M>#OB=9L+4%5DJ#&ISV-&;;" !1:L&NYQV#26E"EGDI%E8N!)@H* M5"XK<[,"O;3Y:D%Y#D$Y;:SM*1(BQT(A8A4%09$1 M:0$6'_76&TX)N =R:57?(B;/@VP+:MO50OK,VGB3;.WO42RE#8:#$ZL7:I 9CS+O!$:";*\#S+"D-:8G?2E1_"M,E7[QV^_R')]..[\P^_AU;_I&U/W[4ZY:N7%]U4W.$BDVP%C[/) MQG4FQ@\8'U\9';M2GF-T4/(50>\X?N?%=Q_D*^ J//)BO$+N.BC88Z^]N\EL MQ3!]SXM_4=?CX;O/J[:A[I<-'LO]7.^C'47/_LOU_KV:JXX,#KI#N&FX5^61 M>HCG8HC/5_?1>'F_*$>[7.0O\BI_D>WIHC2H*U+=?+ZVJ%[8:H4M(P'KT<=< M4JQ@9.3&5Z/<^2*S!?=+%+OBU9J(O9&,",LT#VQF[LQ>2TQC7H!N[LVP^;?G1'N'C M?UK;ZU\I/.?G#OW/?;)F\T M=^&=/ASN?MS\T?BX2;>.X9V:7\E.?O[ZY^.MCQ^.&M\^I*WI2C\2AA6L?HF< MT@3Q(!URAA 4F=!*4!:(S_FMXKK7^]H5W.:0++B:%.POII4>AJ-5&+#_.Q?B M774=62HTRB1P'%, M03,3EE:Y7I$OP4'W%I70ZQ4:O5%AD14J*NNS?!SMJ5@\MOK*.!\\RL0!#VAF MY75&\VB\T)9:8XBW[AX+L2^E'2[O!:B=D(=H@-:4$T)U4%8 ^ =F%.*:$V0$ MH\AC&I2VP:@@00.PZ]M*:JZ]9_8S:B+2:D'D';;STW#R!8WH-[9EZJ5Q=&)) M1R<3B5(B[VA"( \VY_AQY).EVG"!%>5+JX*LB,5B3C\[B[UNL/V#EU,-(P&I+>C'(/_IE 6-A4XN<(I""+E^=S)( M4QN0#DE*A^%?+MA?U@FCOUG5< M^B']]]O"!J8O)*.VK!^!^XWW4Y:UP0:Y%_+ ZUC*754>KX *E;5B1$)& M,XF,$2)0(YS%<6E5X!7!ZY!TE8SFMY!O?FG'5C6BU'Z>9K>.4;E(K(P^\1B4)B(&:< =MYY3'W*.X.M:VW4R^A.4Q70R M>HB.,I,"4M;D+:G1@ZU-$I)$A$AHDB$%4!;RNK']VO&5YYFVU=K]5,WX]TMG MJS\ ;*LP:*^?L7Y?,:^Z,KK=QWF<1JJSUA= 5TVM!T@;O2OY4PU%7 B,M'$6 M)8J9X,I9BT/IV*CKQ8PKHJT60"'-B)QRM=SHNUB%7![,JU(6O_@%G4JNEW2_ M$EV/)A!PVF&7J%5*,^ZCUD*1$#!)FD7LO7TQ I4ZS_'9RLM]$MMK>R[B)+!* MR% E$+_P#EW8^= M5\_1>W-R=OCU9V-MSU!N"9$<"4/S;D4LD.;:(RFEDQK^L\PLK7:ZUR&KU*9)+:3G\AJ>/'I?*@8;E'4@L\AUP ,AZ?M+NG,18GW9-,]%WR5W8& MW=M!*K_.R16,2M1;1F3TF$:N"3?@"7CGDS94T!3)S7&6>T)3655U%+#?3A_S MT_O?6H.#5F=CW/:_+YK^AE'%TZU/>\EX'#%6*/D<[\!@6&FE'<(FDH"UY8++ MI=7!CQM@I1S6_KNBVRG)K_LM$&_ DUSU.79:@#/'MF-'*J $%=OI9H"_"U1^3AIS+WYAKOGU:V)/,GYU)X N ,)")\B]ZV>&% M6]\JD)WQ6LXS2"2])',;YZV:)"!\SH9\M_=U'+6;)"A\*3MIZZ*/+B01T3GF6]!8^&I] A;GRGHC$8:8XK J+8:!^J42Z[O*_Z.4B9M19\/Z@^(TVMZT;91:O?Z@^-^A[0UB;WFZB"QXD]]+ M=O6L%J_@3XEAK7YV.(?M#%.M3H:M5L?W(@AH%ED_;4?$D1V1Y;&2E>TWQPW? M[$R;/V/K9WT8F]W/96>$6V2[_W85[=D&!O-=80TN&-=(@:F...-@N6-FD3$, M(,533FPFUEI6MS%S@ !=\"'8/(;/*D@O5NR^%J3'"]+F#[#8I"542FV04B1D M(@2#+)8:,1@RQIVP2NNE57X+)]%(C!;.>5M:7;O(^KI,B;0\)B89=GK@V^UW MX)[AYAG3B^W2H(09!3V&QEYR+*,48WMB.0-X>YC7SZY0F^19F?WLY>*'[3]H MYCV/)W3SC#N/T9S[/5]B[WO+QYM#-A MDV]X,FZ=951G6@>OP6D*>><89PQI;2.2H(,I YT<$EM:E6*9@#S>-!]!7@Y: M8'6T^J4<^K$ NBR.%^+:_0Z&BKV^OC;(*@J0)0#PHPGAJ:E\\X4LDJ MA:W(O&Q+JW0%7UT1+ZW7_L*!^X1?:MK'NQ'%,Q!G&_T_&>/'=M8;AFUX1K:AH.-S(0460@3O M45CDN+6(6 &FK[$2S.&E54!L\@O4+JT!\ #!I@W9"WR@U?TXW?\@@5B/*?:@ M=4W[16\T%0ZG]TYCF]A(ROQJ8PQ=$=K M,R!$N;/;[=$6!CL.'621NDQ<\Z/;.X+A]QGCPK"\W?*#R$I/N97V"6(X% M[T.O>UQCUF7, E.3&<.Y2\PC@AF %S8.:0[R%*@%#2A=,C2"*.%E M(^>()K:&FV>3$8 ;23C%,&8H:@5PX^"3QN#H"F:Q4-+ 4*D,-YJP!U+$SLB$ MOP]S6S6I8VOP>D0RX'X&,NV$MI$DE'RYJ["G\<;3R^Q+E/CSZ/DJ?%ISVB0&9PTLH(EQ+7V2"M+4 +#2A$FI1(2\(+&$V0(+Y/7#<&*.1C#I56^C)FXEU'U MXLM,=R7+*_UB(P<%[E%WYQRWP"FKR7FEQ+SY3R4]'+R4H/C3,MHU:)^2P_>KTQCM1!L889U=A/C M4M2['M9ZMM;#.I>S]?6J#^>@Q)QT7PXRYD!/+WZ/G6&<;>VW7U>UO)NPO*YH M^6!V]SFH9GEEL0=+:Y+41E 3.(_6*,JB]!Y;KZ1,OZJK=KW \@.7AN>Z.O+A MUFEC_>AL]_"?X\;Q%OS^Q'>.=P\:S?T?<-W/K;-]L;7^Y\'6\2=\M>+DUMDF MWFXVCAOE?>'W^D%K%]JPO;Z&X7W/MM>/?FP=;YSNKG^^S)+-(]&:TUR&(65V M5Q:1,RXASXD#X I&";*TRN1+<+O.;!Y5!77JXLA]CE:C)) M3%CJH#WSA&-IREIAVD1CI1/1VGMDY=9J8O9J8E*8V-(48O(>$6,XXGE1UUIO M$+4ZVL@D4<&#FJ"5+4O\_&JB L&]6DU40Z\OH)JHA#>1)+/"L90$45Q997VB MSBC0!AI38?R#R1%K-3$+-4$NU 03+.1\*V2$DGGOAD7@78"NP,Y[PZE/$M2$ M(M=K:2VLFJB]B3E3$[4W48G.>H":T()@9ZS" "\\J91WI#J?4A1:R$3#/5+3 M:S4Q>S7!+M1$3$YJ2U4NTD]R8JA!SO& >(H$,\9"4 G4A+Z>A[ZP:F+NJ1WO MQZ8[1XLKGV,_VIX_6 :H^![;W9.<5SO:>14[^ZU.C+E2X^)1HU?"\H\J,&Y\ M"$D9+G!R*GI)G#!<9I)7_XJ5:VJTOP?:GUXB.Q>>*BJ0!+6,N'82:?#D$$G> M6:+ 58A\:97FBB4+Q=9;2L M6E)#W[V@;Q(V#UISD[Q"RC -T"? Y.4*\(]Y*3#S..8B]VQ9B)4J+R& MOD6Q^H@ FX]R9V.T7%GL!$_).).WME,F]"O6/*FA[U[0-PD%1Z9\BEPC&#ZP M^JCER!##D LB>D-X%,J C[^LY$L$@VNKKX:^2EM]SDD9P=<-A$JN"+$I))ZH ML)3:Q%ZUW$H-??>"ODEX4T6CF784*>D9XDYA9+U+*(1D'7R0B?A1D=?%@KZY MCV$N7(+XE]AN0ZN6B_W8B3W;'H4O;3AN=5HC=K7OU[+&GPO0'Q987SA;5B0< M0A0I4>:XXDRS!.8JT=P3(@A3=02STH#>>#\5P20B4*4"0803@[@5'+DH#1(Z M:@ICXF6P2ZM95'CE5JP6SI:=8>["_$-?)6Q9['RP6(,C3S7GEFIF9RHV]G_]?#XO7/TYOS:FY7F."P5CGW4#E? MIH*LC'OM4@3C@&N9*3("TH$2%"D!)9,2X_B<&K%RJV;/.0NK FK53#=8?#4U M)_O/YD1-5<(SJC 18:VF[J6FIBIA8(&3]@Y)EO>N)1Z0C9(C[2S-'!G>4WE. M85CKJ6K'TVL]5;M3%=%3E7"G*LPY6>NI>^FIR>H%AGZ'P5-(9=HO;JQ%1CF? M,^_[Z3+KH&>'@_C[N"_Q]/6W<@:. M"^2_*$>@N6&8;J (S DCX_X=]>;4S_PR)82 _49P$(%P(K@RQ'H;,8LQ,N<4 MBW)/TZ7SBPYZ$ZG?C\CUHCU"-L'[O[/M'_:TO_3ORSQ_KU/V^T MSV[HT/?;'QL;_U.\W_[\]_;GM>;F=J.XE>/P^BM-L1[>, NK\8:-[>;&EZ*Y M#>_8^++]U^;Z6G-CO?BPV5AKO-]<^ZOXTH0OMC8:S2_%;U\;:U_7-^'XOXJ; MY&R.*#;OZ(R"L'?%K EA,U/G0;<-.-[?^-]A:W#:Z [B>JOOV]W^L![=!/HG'\Y_'.V>?6SEEH[1RNG>XL6W62[S7"XNWY$0>L?-C[^>=B 9X#&;^TV]W^"18 ;ZY]!^W](6\TM!A8! MWVY^/6NL[U/XO$>M%E(:C[@E%$'/"^1B8$AISR/E-A+B1G847V6'+<>C^!Q/ACU_ *98\7>ON]^SQ]?5T:_G M?B7E_19]\5]7M.M(VG[9>ZN;G6+;#[HN]C+#BEX>,\8>PPN>_F>_^*-K>R$3 MB*RW>A'.Z_4+.QP<='LE67,^MS?I:CCM(7SQ1ID ?>$%UPP4&-'<6NV,I"9& MXKG,M-]$$TS-7;3?=]OFI3A,I&$L#&L7KS#B]"95(?5^A6FZP?8*D19YPSK85(6H-%@G$F?K^1_#T/_67!\=WCXVZ>(]#_*T6Q=@NM M]R5YFY*E<#M_?#][6?VK>^E\B.#I<04>'K?"&FR)4\IAD8P7Z18*^7NY>26! M_"URM+_?B_O@^@&JP SJIM(#[$_."V]8L/;97L J6"Y!ID)TB,N\S9EBA8CW M2H+A:A(7N:Z7)O)FL1J-=6$'A87Q'E$9/01B7D,#8*0$QQ21@7E&O-J'=,AH2Y)SZ,Y8!=5C4U/,P0'G;P=G.3-LX^ MX:W#?;+]:0^[J%A*&1VL!9&Q"6DL#"+8:"M%L-$8$)EE2L1LP.)UA.2-@T5S M38"+\!/DX;0, .[O>8:-](J@')=%'%.6*Z(QY!UE%A,;H_-+JX(L8W:+U@C# M7'>UM"P&$X+KX@1,ZVXNS1K O-C*A5L+:L[-D':TW_-%%HR08]OJY,_.MFW' M/]BN3=1;1F0$ SMR3;C1#GOGDS94T!2?HG3N-FL_G[=\8M].SGGSEN[9IQ][ MX-F3$)- 6H%8B> \V/V(N73-;[ MR-TEFM*58KLSED1";S"('^& @5^:8\:YL;;],%LI8&] 7EU0@Z([] M/1Z _O]G[UV[V\:5=.&_PI73/=.]EN!-@."M,V_6V8[ML0++H6GGBH4JMHLJX)$F.2:<#GG MV7!H[M6(@],S> 3\=3;41IBJM[3]!_6=\([CEF$W$FWCKEY ];LU?%3=5P+% M<]+I9 I+RZZ;$H3M#-8.KBS3 .%\%46F)S-\?RK,FF@QPYXCH*>G3@[/-1T; MGY9V4670%FE8@@LNRPL<3>C M5^"@PYDSUJ?Y),.=2KQR7%II*7VU)+\*G? O9\^HY4)K3L]2;V0>C'C)'$]C_"41232 ML29A"AH\2%SA)VS9I:QBCXM$)*[F,9?"6-S]"CLW5B/:0D:VK ZBB=3F/ M$C_N\%41+0\_@$\8*7T\=Z^4=C3?H'?E%J'3-78#C=(K,[SB]-*XVY: MN]7:3>M&KM9U*DU =YB_MD.X?\D/Y/R2Z+%.L\FO&.GQ8>=HYU:.IO6H87"W MBN1K>5C\ERNWE,421O#_>T&6W=6W<5+O3OZPPG%4R\;"Q_X 7O'^_^\X?WC4P]C\ _^Z6<'GP_H MI5-YGZ$]HS>SCW#MP87T^WNG%Y_V3NG'XU-ZN =_'Q]\^\CV9P<7_\8*W?-D M7&'LZTB&DH2A%H3'L4?BD&OBJYBG(A9,A.&+5^QR[L=?M[ V]^,MMY^[5+A/ M"IS/<'IY)6Y^9T(H@YL=7#XW7+:J)/@BX%*'A 9)1+@0D@BF!(DC&81*!H*G M>B5JW$?#S,=;:1UF;@O9O!MF?F=RH@XSUP(SYPF*I.3,!8DGGA4B,0-B61>Z@8R=D4@?BS,?"J>^1@^W=OE3]LPGZX)#VQ%^&%$^UB; MP/S:DUNY>!_+:?M\E<2WQ2_+OLLK:R1@=ZS^RF&PF^OPU&Z'^W? _5G+'2LT MUQ[S8J) :=,L3; %'S+^Y^:"W+ESW M.WVJK(.Z9X2Z5GY]Q4)?1A&AFFK"4R\B(@H9@)YR10A*+7#E*JA[[E20Z\G& M.KS;()+WI/[0#N^>$^_F;E >TP@XG" PDPGA*G5)D@K .YA?G]'(=]76X5W' M[S8([]:%WWVG+[/#N^?$N[D+,Z9N''/-B4RI3[A %V; ?<+2R T#E\+O:MOP M;I.=E%L9>/I'7L KQO.#RBH#-"CT> (O6(]@TFVDK-_OEKP[A%=3O7#%7FNV M.RB_"Y3W7[>\DCQ@J2MPLOP4J&L<>22.0X\(Y@GMQ]I3"4"YOW:;4=M$7;=N MCWXSJ.L=]V.^WS?Y'?LQ'0(^, *VXCZ3('9U(HD(60#&.UCP$9,@/%P"".J8 MO+I2YUXBNI4D9C2%"SY M-""Q"#5Q715J2GDJO7 5_=M0\.N8WP:!W]HPO^_W6G;@MS[@-W=CTI R&@0N M"94;HQM3D A/28):\STO\4*>Z([YK84'=K%GN<),I3&#?IDMAU-0D\'@E7RM036 1]JS:;UHVG M=IOKF\!3GR-ZLH.X>T/<1:M^=LJ9SQ*B1C6<;<-0K>UX6[/$1G9H=N]T6WN1%22QX+Q@&B)*3!\/R$B]5(21)[+N.>[ M7K R]GM#T6U-G(B/DR3^1[JTBS.]I5QB):]"5XE*JV/O3J&'MDI;[MAZYP=P)J"OV/I4"Q_I,>E^?3--ZG+$F[XW4K#W[K 9,B=$KV3 M$FV?C=JUREVV0D=($(FV D M/,OQ^ X"'Q$"YSY@Q6CH*M\EG@P#L"-"L"-8P$C@^1X+?2'2P'UT+\GV!2-T M +A-'/!9SLMW /B( #AW$R>:Q@&EBG@^=X$# A1&' #0HVDD NK[E&%1]7A; M$+"C@!N$@&M# 9_E!'V'@(^(@'-79BHA;DR!TOH**&T2A(2ZB4=Y"+H< M9NT5Y=N5*67=B&T7 +$!F:&^W[69YL5(3.!1WR:_7>@B5Z(<="CX;"C8\FQR M%C!.&8FC!+-%>9+$22*)3%T_A!GVX/^PHG3$*'NY54BX;D[.#@DW@/D]AX^S MP[P'P;RY,S-DJ1LK&A&1J)!P!3]$D"H2*>$FG+,P=04PO\MG2S<9[CKBMT%P MMR[$[_L=FAWQ6RL0G/LS719&J2=2XHM $:#N0 &9KTBL>!#+P&?"C3OBMVZN MS:T,XCRNDX0*]7E:3D9Z_&AG[K=QF_YY?)?R=/SMM@<9\,/=9F[+;C/J/N ] M/W:/SZ0G?JC3R/5"$LI8$$X!P"//E22@-$SCA'DTPK#,J,L.VNW+_]@L]G'= MEQT0/CD07BP (75#-PY"CP01'O(*5$)BR1AQPXA+I@(%FNTIF>SV;=)W:+A% M!/#[79@=&JX5&M)%6@C\+_)C1KS0U4 +I21)H@,2\L0/N=:Q%X;;B88=-]P@ M-%P7;OBX'LX.#9\<#;T%-.2>3F(_B(GF(24\E8K$3(0$+ '%9.!'2=IQP[7S MOLWS$R[:-_MRZ\Q:^WVY9_CK'D'<0_DM3P_";R8A@% '-@;+N%! M&I'84_!G&@-%C3C.[+9E35XW7V6'X=P#>1J!S[$DU(%P2: % MUBIR R*82HD.M*\CF021\#L^MS[^Q:V,HK1+O7T\?#V"*).\4+HP;X"AT/SC> M1:2W3LK=DR (:>0'BKBQ'Q'N^8H(K@41J>NE0: 8%_K%*W^M$F(^S#+! D!#0A M_'!U[+D\\< 06550^M#X*M<^*:N"$H1)X0-V2* M(U_] M#WQ8-[@U;+@QDJ6SER-1G&9C,T3!O(>O_B9-Y[GV>* =3",LQC,G*ZN^R\';P\N#O=V+_I[![/#XU/^Z>W[$;2='O[SZ2))_"AD<<0BZC&7RTX:GE@:3NF)DC2.DTB3 M1*.YD@0IB7WA$3=( ^:#M6DK#EPA"P8O>C#+@&5%E2 9(6;G:,=)[:BW<$3F MQ5EN@*1!E#R]*Z*$/)">QV08AQSLXRAFH0;A 5O9BX+$ZV3H266HO_?!/_%# MP520N" Y(="R&%/\\L0G?J2CT(MTZ/H)R-#E?9J?=U#3E-I1&4Q"H<=2EZ@) MIT/44"!?PDG%5Q 99$,9R)B\GP"Q^ M8%$Z/K@X\86OJ58I40(+H&@O(A%H)Y*$- ZD2'PJU-,[TK[CQ$HWW]?.M_*5 M]+T@)LQS%5;\2@G8Y1KP(^4N#6B2AMZ+5Y>USZ4/G#-[D%.<:N(B:-%,<[&I_"4(A\9)\A0GX+M@7,XF366BG.>#8=. EP2<"O-T!$RG 'A MS,9?=5D5>#DK\J^9TLXPAWEW4L!C>+!I':#S^61@\6W%6P4\.L=@WR6WBWGG M.)]<\]Z=;79P%;#>"E03:D41CA['D;>2=[C =&W_NE)ZB>1TC#^DL:: M<(5<+)0ND3KP E>YD9?058=A[B$,7;W--1:&.4GO?W[C]=^=I$$:*Z%30C'/ M/$^Y3P2/)9%)FBI0$< JY*K3H'?FY/O AI3*\.:>N>QZQE>=EBD7JBG"74C* MALZDF&HR/4/*A!^>P;L*9P8,V]PKI"RF<-7T+*_K+IK+FD?-JS)>9FPHWMM& MVK:T3L-#K0-ZN'L2QX&6, ?$8QX 9$(#8&I,$,9$X@.(^2GF)%M5>'!#F%HG M ]?* .OOG@2N[\G$C8D,4H]PSF(2,RZ))]PH\9DO7,I7EB!Z7$9V7WO?7U=[ M'_3R<*IJ5*X@UD*YV=VKU$ VT:-R05>8E(#ARW(5$)\+,.UK1\%SP/*26_'6 M62:;T:B+">]COSNNTEZ?QQ_.#TY/! Q[Q%)-7)I26)]I0F(-ZY.&*?=B%7N> MP.(**X(/0!S."DU06(9Y:7U L"KJBLUWEI:' O!.2!Y82,Y/M/1RY[=NCN.&YEVWI=JS+]PC<0UG8G< ] MK, !:U JB4+?!8V:N#[A.HE(HD'T?!F%U..^ZT5Z)6OX^1F-ZTX.'E@.WIW$ M',.:/&KC4+A'!1&@($B0^%JZ22P2A=HIN!/PK+:E3<0M7%EH4>(O5QBG/<"; MU4QKF6,UKUO"-;O-T8GH5HCHZ4F2\#1. :6 1KN$AS$C,1<@HBZ7FOI)*C E MSDH1K60/]5A'E;9"',Y/$E^%00#V;APK"7PZ3(F06'=7AF %TR"(O/ *JE31 M'6-UJ:E&L1CEA:X= 4M;C-@#34*\X@8#1 MGEG9*C]XC1=NR8/7%=_;:.G\O#\#(B]C/W&UCHCG^2GA5(!@ GP15S(WB$.5 M* P?65%*K^6-(<8;TRB^JQ3E2IY?:< 5[IDEAPR^7]K#>\(&L+1<-&=Y:7S> MOQGG,[STY7FF)H/?J.O^_+)RB_#*4[/J-I&4^7 ZT2^K U]N^_X75WF#L/NZ M>%KO3WP[YP\>#E@8O=;/03$_90>3EP"_^4)$"EWY30S/Q:Q\\:^%'H^RM@_ M/'YSY!P?0A_[1X=_[>_M'K_9<_[8[^_V7^_O_N4<'<,'!V_ZQT?.+Q_ZNQ_V M]N'[7YU5(K.TZBQ>^@'8_IX4G#')O2@52C#.X ,-'"?QF85^N$>K72P/(Q,/ M+6A?<4FYKVG$:11*R;PPC./ %U>*T2;%5^V!6JU,@$L$?PYO]M3KW 6]&T[3X%?!A+74Q$AC;4WQ5' M_I'7T0<,[I)<\H2%DK@Z O26;DH231.B0AX)-_(#J=&.]WI@PJY>2C#C -&K M6,#Y().#.0BOB5S4VO]&T>B#V3TMBK9M_0,*B=O?/>&^X)1A>M34!; -64(2 M%B0D"#U0_#2.P\3#@_P]SV6KA40.15G:Q!%FKQV^)-7@.L-Z(@R8K(F4&/3X M,)Z']0,0UB<)!OGY6)2X-6?/"4SR<2,J-56!RZ''>O)# PP_?'<2! FEE"DB M8IT0T-J2Q!*((H7?F-;<2Y4$V>FY@!LK16=N/^#>^YPYXJ[H@APML,1&J*H= M#TO\$*FN4V K&&,BAL*<%E\CU59#6%L^YZ&J96/7-&P1F&-#(C' 4:L?6"SE MQ<'I24)])KS8)S*&'YQZ'"P924F0IISZG@@I-V+IN72E6()8[:TTR1VTT9S#;)1-;,JN=L!JI9!:C]+?SC(0[UXEF(W9 M=)Y/APK/?,'=N#*LCWS.WYK(@=:%@%S-*:/I9%K4&X5W<4]N*/%=[?RYV9G3 M/FEF3P:F9DH?(A&2_?4\FPRJ#=FE.PY EP@YF()"F90@>O]<>:7Q1$,[,*"Y MR:%4)<9Z '.VI1P!7\Q+]_JK'4WT$>/ M2+ 3+7RFI2(TX"D0[#0D,:6*>%ZL71X%B0S04'5I@#L(^?1T8#9+EW.:P9H= M(1S@:",\M,;;269FVNM1=ZIA=ZIQ=WYYL?_^Z,6O1L:^"ECFT](@D)44,9T, M\B)#-5'IRJ>1GU7>-_2LE1_ !"]:'YJZ-F_P?*WQ>_QH0G2!^UD\I2DFT4IT M"@0\8)0 F6 D\&*5R"1) DJ-$/G?(T2U;,#\HZ7?$@S4%*M.',/'ULAK.WQS MDX)2FTW81<@$M@)8,9R!#H(&C/,JE9PY2)%-,.G;%.<>WJS@SUJLWQ_-]]@J MR<3>A0MGM1,]S/1772ZTQ&P!Z_\ SMM3T$9AJNII^"6^9^>REENQ M7DJTN2"\*WG5C6]^]EF7QKI8$] M+*?6_A*X&34E\XOAV: 6@3V5O_YV&[S&D(SJSRKRH@K2,$EKFQ&QR7BA MQT-Q5NK?ZE]>JJP\&XK9;]G8],#)OI M*ZZ*J_TY.-C;O8!VT8-_#NBGX_>#P^,O_-,_;^C!YWV_?['//KW]<]0_?C^\ M5%QM].;\8._@6W_OP[>/%_\>]M^^\0^/!\./QQ]F!Y^_> >?/WWY./I(^V__ MG1YD56&U(_?\)/8YYVFLB,H'*#:\_N1) OS/Y2P>@ZP*@%PV )C)*X?_Q<',4 X F/HFY%L1G M22(B&:?4Q]#%D/:\%2>[8A7EZ;40VTB;']AQ M>Z&+7(ER<"O W\.YUNH2ZL^3IG70?Q?HG[6\M\H+(S^-8-98S&U-=R%$1#Q) MM>\&/& J0;R*&&4OGP#Z[[?2MH8>WPZQGY4>/Q\6K@L#?G8?; >(#PV(Y4/DFPR':^EN[>!P ZCA MLWM4.SA\:#B<^U:9CPE=8H_H2,6$1[Y+1,0T254DI*OC*%'>BU=>C_J7Z\)M M,AQV['#3X'!=V.&S^T<[.'QH.)Q[2KD*/<8H)W&@ \)CJ8E0D22N!*V6A@$+ MN6&'WHI,^9L,AQOO"MW&F-=+IY^K:%?,"V-_)>@=_0I+?3S9S!C8ZLOJ=1Y\ MK_(I'KK>YA"%-0B2O4J'=)KC#IJC_[KE:$W3)$A4D!*LHDRXGW@D42HDS-.) MC+4KM=C4,-E;+]*M(>(_5A3#DX+PNM#X9W?R=B#\4"#<"K6-?,ZX\(G4L4>X MU"Z)?5"CG"6>#(. ,3]&$/9[G&]8J.VC@O!:.H<[$-YZ)OSLKN4.A!\*A.A.%V\%484O0@I5Y,>! G).:)2\+8BT.18H$\;D'89QT37D]'^.-D*/N1 M+NT&^"D&^%\FY6F[!D4[Y_#F5Z XFN3RBY.?V1SJD]PYFQ9R@#5M[J9HW3!1 M(N1N&(415Y$?NZE.A6)2*A%$UN5TC=]_O__''33M[GB2U4'T1UI.;6)X6S!= M*ZR-B5G7I[:2R6&ZG+)[U]3?69>J,T^>8?G@^.#B1"1RGWPB1)D] 5D=)1JGCH MWV00=R+RE"+R[OQ$JS0*@E03Y0N?\"0&$<&Z69$,@2HGH?(EV+I!S[NJ6E:] M:YLVJ8P0;'I8OUQ<3G>4B#+#JHV8_KJUT>NH>=7?=EESE+_EBIGE-66 H25G MMESZ<-:[A_32- %0\[S E2"]#//(>RE-7"I5E(:"WN!3[Z3W*:7WHWMXO,_Z M%^_<@\_2Z[\[X91'FF%Y HEIY&DB29*X+DD3X4DF?; 8.,HRI5<4:;V[P 2! M)R.=RH!SR97+(L^7,G'3U U!"[+P!M.S$YAG$QC>/S^141))D RB79H2CD'U M<>B')-"!IUE,L:.'52;044RQ!.- S^T@!LD#JFW:<][J< %G%4@(&?XW85E6G M$5CO)M5>FLJ(I6Z<^C[W4Q&'010HJCR0[5 JVO&\=95J>KA[$J9!XGM8]C). M7,)]$1!07HIX+&1Q"CHM]J(7KUCX4!@H/::#, 08% F7-!%@"_ P]G3$DICQ MCO*MK;0PK,$7YVK._'6=7*5.Y M4@R1_;4PLZG/-2_MZLCIR,!O!;E#K-%Z13LN56IWYHSS+)]H$$DQ7!@ 9Q[6 M: ;G2J -\V8COG"4VAN:JX*A;$ M@X^K)R^2!C265G&&UL*\81W?<]DV>807[;6[5(*M:]3^9NK7PNWSVD0_OZQ\ M7[RJ@;3J-I&4.0[BR\H'[[;O?W&5RZ]*Y/RD+K[X=AX^%BR-7NOG':H)\J:: MX*"8[Y:<:I(46GPA(H7^_R:&YV)6OOC78C6J;%PWB;.=$,=^78?TML4&7Q^^ M[;_Y7^?UX?N_#]_O'N\?]E>4:;RR2RV_\(H-G/7H8?_P^,V1P?'?ZU MO[=[_&;/^6._O]M_O;_[EW-T#!\O/WW<%F5'HS^&'QZ^\;O MO_UCV-][!_]^^MS_9]\%U?D9U?$G5,=O/YS#NT&5 A_=>W=QN'?@P7>@MM^= MA$HE;JR!WPB!)HP*2:12CT1AZ&L9*1JF[G+)R2CEL1=&3/ XY@(X4^IZ2M,X M"(*0JCA9+B6X,#7.:]"?IS<5G#0_[ >72ZFNK$9Y8Z-NVEY:R_VDP[%S(&8. M"VH6W.+8_UTZO^>B4,A4]C(@W).\*!UQ=E;D7PWQ+A;&_6P(G!'^)P,'F.3 M,IFG'OY[?X_0V(%G*SW*I"T;O+)9%0\3SNDP3X#CG^?%%^!8LJIH7S,RT[MO MP*Y-V=\KR?[8<.MEZ]GWPB2@<>A+P1.=B!"4L_:9T G7*0].]@VV^"QHA)X1@2F(#!3 0'YD0E]V3BO7AU.03E9R.'>9IB1?0*X\N=6U&(I<5_ M0^'F34&-=G%ND%:S7.P"-6[*I14H+2 [:9&/\"*PY(5L-K 3O;3H?KIRU4U+ M]2!+[DYA8M"^,K]J,' @B!UN.YKZ_RHMS.HV= MN^V P_H2_226+XR-H%^IJ+ST03^&=4.P$-+8.""FFV,1#9N MXQRZ;W0%#17"80].QP"QJNUJ*>%3:.- #%-\LG5]/EE-\VN K>PLF)HU?#AA M+** )(!>/ (P Y) $JD9@)F4*E ZC76R;,'X0:A5$"@O"31' TA%.@T"GWL> MR#X5RQ8,"I*M&FYDP];ZGH[ _@:9L9IUM4Z]5&+\!J/G,2C*8KWRRE&PTH:Z M<5C6L,ZY'^Y$D?-_52[ M.F:*!K[0//1U(CT1^<#X$YD&*F7/X?MY[K.!][27[-G T1]?^O]\^O+ILQJ! M?03VSSOWT^,>6SP9^_ ?:-WH_ZK./].-G M.>OOO1\='G]A!Q>_9P?'I[1_? KW_OFYO_$5ISXO"S3D>N*:J>#W/7V^VXG@\[;MMBN,9 MSIE?5ARNTMKE MKBAMSUI% Z8CJ"_U(5Z_CIO,2=MKB5MKB8:XL#_X3RV).< M"Q(EJ2)U_!4 M%.T%X\S$53Q2OM4;QW2+"Q*L4"2,4L5"J0.1\-1E0G#E!9K&FH4*H*BS0-94 MIV0+%HA_HE-0_2S&,V,BQ%3;(1&^%(1)3R6"16X2Q1CP'<=/4-/U0=;8MA@= MS^#/W1*$7 NJ'5.I_3!TA:\9I]I/.*"DU*$?2"IT?%.:B8YJ/S$LMJCVNV\G MPO/]-(TE41$F;G*I2Z(@]4GDI5*(.(YE%&X_+';L^L?9[)@,=.&(LLQE9D)_ M'I-+W]%TW#KV#&PY\/S8#5,A.5-QXLO88Z&;IJGKIE[GOU]7-3%KL^<;I^VY'KR:O6A>@^HWOAF1S9#YQB>AV4XT/NB7Z74?F0 MF8$WC[ZOX]&K3MG=K.Q:E<*0OE^9NGJY@0J?9J07T2 M&4&G-JCJ7N.0,MAI,!?%-.JT], J'I! 9;FE02<'7Q M-9.8%2,2QHGGG23, UHJCP5N:SBISX+ MR"HOC,DK>V=?RS79IW[@Q"=+"2..]T^8&R9N*E*BHC@@W.,>$8(&1$B?:B]. M8S?&/,P1O9SRI)EOYWR0VV2O.C-!";7H:9"CPAF(K]KF1AGGL&XR/#L]$),J MJWPV'.(YZM8M\)5PTBG,KG8PJIA_9\>=/AGF-S\=M[FB;E7W55!:#J>-T[FXHH MLP/5SNVBOTEM!A_S=TP+Z,-_IJ* _C<)7>Z120/9?OSL^3:O ,.K8\X;))RG MQ!EJ+$TUS$22#;/)S,D3Z*_-GF,ALTR8>@?W _S F.,"8BRD>9 MK!=5M=PNA4+AV&-2FN&L&<2A/H7Q3A%%%L>D66T+G:LRO]5+:N4R;!K?*$F\ M#%J+/A6MEC/O/4O")/@#&J=_GQW/SN [U)-=TJ0Z:=+'$Y>F+'6U1V!,00>F M$>A &C/"?*4CG00AT^YR$J2[@>-BUB'Z_/F)K\F5>$-J)V%S",_J-5ZM6WR"6ISJ9N0TYCQJGP7&+_?Q^1>*<;IHW=9H;F;C=RM>D@3&KD/2TUNH@=C]JR4-N5'VXSHGZZ M-#]U_7(ADB#A"5#ZA C.A2YR)#_J'_>_?!P= M^,M1.WWHUZ>W'[\='*OLX/-'O_^VGQV,]B_ZQU]F_8L/%_VW'^D!>Y]]O!@N MI8'[0$]2[44>U2%)--.$TS@D<1"E) QIX,=))!-?8_!(Q"A[N78'+[8VLT^7 M!VX-9JM3$(^@(() L]CUHY KGTLF11KZ,0TT#;GO,E=V"N*Y%<3%@H)@(8M< MIF/BA5A11&&!5M#CQ!6:^K%B?L#23D%T"J)3$&LIV)NG(-PHE*%P6>PE$?=2 M$7MQPGP!8,/#2 2=!?'L"H(N6A!2QZ (/!)C\6[N2T8B/W#!EHA8J!1G2B6= M@N@4Q/HJB,TX-;T."F(MSD#[KO1<5[I4"L6# #-(>T))Q<""2'0:=@KBN16$ MMZ0@&'4%"TD81(KP%'/9!=HEF@=A&J8N3RC[T13$DYY<[M(\WV<@5U:LW/8, MSVMA >B8,_0[^SH(N4J%B",_3=(P9%X$6)&NC!_MS@$_$]POI'7^X)UPIGTT M"0A584QXG&B;UMGG;BQ=SXO3-'VZ4@$_<@+3=0B$Z'#QX7"1::HT3ZD+*XF' MPH\DY:'4(HI8%(B8=KBX7KAXL8"+GG(C(5Q&0A\K&H.Y0B(O"8C67"*3V-6*T$ H5PDO]56\(0FS?F17Z%:&F+\6Y< Y$S-S M%'_[2G$\WL#]LJ9^SK^KN?PC+Q:0O(/PNT#X;,G7&;@Z%1@21T./$LZ9)A'3 M@JB8>GZ@A!NE'O#:7N#S2PC^:Y>O?A-"&SJP>QBP>P#G98=HCX%HBUY*FFBP M)[@B080I1#CNWL@ S/4X\6,5"S#@ ='8Y9V;#LX>$\Z^ RO6A8VO00OJN>CH M[&,@_(/[83N$?QB$7_3%ID$H(\X X1.A"%=>1"*/22)2*B*9AC[UY8M7<0?P M'5_=MCJ9=T&SI_2M=D#W,$"WZ%\%/41-31TI0Y]P-_5)HA@ED:#*I0D35%)C MG$=; W:;[DO] <)*^_F82/2N%EU\Z7;$E][E),&1GDR&6OV38:['"7K960?R M=P#YI3IJWDFBM,=2'1"J DYX[&D2N2$C20ASZFL1ZH ^X>&"+KJ@BRY8:YA\ M8I?M_<(+.K!\*+!<=.[*.(F5JQ(24"G ])<>B;2*B(C31"E?1V$D,025KJ@Y M^9",N$/)#B77&B6?UNO9D)1PHG@.B$\2!@1$=!*%5(&,QQ* MZ?..3'8PN5DP^>/Y4SNP?!2P7'2O)G'L)BH.2!1Z(>$I,<8280,Q/M5.(2;:L;]W@:QKZT\M87S@M]L ^7$! M?1N:E/^["FO@X-99!^5W@?*C)2*A1NXB1]Y M],6KP%V[Y"SKB4%=8, 6@]T#.$4[L'M:L%MT@J9N&*>NYQ$9\(APW#:*O#@E MOL_#*/%37\;>BU=/< :_P[H.Z]8;ZQ[ M]EAW=-BW:)#TU4BX#R.2:P"P#K- M,-93E'P!73U^\>H)3]QW6=5BW]6?I.ZQ[6JQ;]$>*..:1$"&A4DC" M&8L)3%] XE#!-Q((>P2\+F1;!7:;[H-".8"%2Z)W4023XA( MQ9IS2N,7K_Q>&#^!%EV/E;(B,Y_Y297JZ].1SVTCKI8U%%:)3&CC/ T!AT510K=]RY)J*_BQ-->RD%' M1>SRF;Y.0W4:JM-0G8;:#@T5Q8D?41%%,O9Y[-(HE"[U) L#+XXBRCL-]70: MBBYHJ#A5?BK$H2IA/"E 0#R^AUF41 M;9Z&2ID4'@VT=)GFH)'B*'%E(M,H9CY+->U<@&NAO+P%Y07:B8>8C]H- DVX MIU,B!$N)+WQ/L-!+TCAY\2KLN=ZZ%V_Z$=37#3MR*BO/AF*&DZ17A@QTE]YP M:3? W0!O]J7= '<#O-F7F@'^UT2 AH9_5?;U5!\(]J"(*V4[H M6Q*PZDZ1 +>83O3+BE"X[4K_1,[8UBUEAYUE:\HISX/8RJDT*ZGM?:2)/1TQA__#XS9%S? A][!\=_K6_ MMWO\9L_Y8[^_VW^]O_N7<.#7]S_F?^U\.P.C\>/'^\^'>G]GAWA_9P=[N[./%%S!^/UP<'@_0T!WJ__M^ M]ND?=98P'H!AZO5'[V8'[-WY1_;GY_[; PY&*S_X9__\8._/SX?'[_S^\8%_ M^/;?Z<'QOM\_/4FB*,$X=A)Y6%2.L82 D>J3.*$R2 3'0^C6)0%J0:M=="@D MJ?2$F]!(^)QSGXO48U$8JQ1SV[M)\L+1I11GN B+J7[Q:C[DCAWSRZKGYD6, M\;U9.GNY5K)\!?;_SY(FM9)UX["].AP[?TZ',X?%-K2QYTP&VGF=CZ"',Y,Q M)7Q9.K_GHE 8!KF7%5I.\J)$S\]0%%HYPC%I,6$(,Z7'YJJ?[N!M4CZ+*57P M'JYYX%.A$R\2D11,"=!(;K6^0A:3^I>VVVF__\?RPD MT3"D,+@$("DA7&&^,!%QXHLP\F+?3:D/\P^RZ5_>T'#.-*C^ ?S@Z0KZXV]^#_^W^]?%H_\@Y_*-%K8!Q M 9NJKWG_YNC#7\?FDL._WUBR>71)XJ^UCM9QI/[(BW/0'N2O//^2C4^=HXF8 MZ,7Z='?3P?ZZZN#7NIB(#!M5]] 9":4=^&@R . L]%E>3'J(@^<:8!+QL!## M2]0:O'9MGC;08 MX[< N4?:8'PEO.%NCOD[FTZ&Z?.7"ISA)909B+8IJ?/"3 M'(:K: \FC*!HKBOUN*QT/0QNZRI0Y$XB2N!YTS/0T3C\,,T%$NMF\,SS[> ; M/5WB5(.LPF"5^"&H8T=_M8^#*V56R.D(WC&6,,#.^2"3 Q!\F-O"_#/.)TYB M5HUY&ZR[(A^:.^UC[0W8'6WD!ZX=YTZ:%2.XH)P6YKG.*;QUW/3H:J&J&Y"- MY7"J%OI>Z%.X!R]O: JV J#HBYXXD\+,N)-.)U-H29J-X<4 (LB=S$8H-,.R M:3LT,(09+&B[(LSZ/OSW_AZA,1 J6!0C,#RK 5YX6Z'+Z=!.5PY/M@,," "X MF(,IXY@],9,MR5X/LM9;.?"XK,@8J5 MXBM\6L+8P+HVM*HT=VA1P(CAQ0J>/ U<#:3#OB?G8W/1=&Q_+[+R2UE](BTP&VR:#,3$,1!)H]A5FKQQD$3&5IJE$6 MX1TPH<,:@@=(6BL$0!!SCJ8P#%>]J!*HWYQ?Z*\6+''2K0CT'#6U4VE7*XPB M0.?L2LEXZ?S"?FT6'MY2S26L#I79-5DP3Z [P+C'^6C6JYJ!DSM__=42 M:"3(7E?Q8G.M (68HK;""0$=5J_*$AKFM7H'M!XEM8=70FMA+(9&-. 99U.0 M&8%3F4"KA#/$N@F-&,-S>.LY(+J9.7P'[Z_$MYX#T^<2K7A'#V$BBGR<2=,T M,85'Y09MLK&"!Q0-"./CFW[:0:"*,OZ[EE+Z,;Z MO%KW^,3@JB<*.4"U84X49VD&Z#1Q4#448S/91LQ,;^ A8?60=(C+3S23F%:9 MT.QLR]EB2K2RF:)*"\+JS[Z*JM>XELVB@^='U?.SL0W+P+DLK8Z>.4C=)2 C MCEL#-^6L!.@#\2^+Z9EI#SPFOK*ODPF:BQ5(6>+S!50;+&,].AOF,VU&G[J_ MFN:F( LHL7"GAN5EM *L+(!),"4,[ &!.Y\,\!:Z2A2,_OFB9TXY/3L#[5R8 MM0KW3U-#!('U(1L/Y!6D"4QP;/81S,BRH -*UCK5==W\0:-B=X M!+Q:#V,IEH.1CG*+C8TQP-6%V"12J-9-1P4=\]7]R+[S<(;B2\_1Y_]<# ):"% MYJ,R,0?M6L2E-,1% MCX!M6S*9X8/KM83W5RK!X YB(A!F8B&CUG"HVZ '\/+LU*P+?$1T":3-&(+T M:&#:N+S.0$4 O;!=:2\+B4Q-8Z)"?"$V\A3!O7J;Q03\J^$!M:XQD"8D:$=T MI-7KT.K/-FJ#6%D%"U?.4?D(1D$DJ!KAJ6KIED \0X&+\PT&/S9K:@IFY2@T9J:IZX1% :CM%(&/@% 6NB*(R;4S;D4>@U8:K!#$2T1$Z#0!15K.(],'!58].U8HSX. [ M?PO0L_L.V):H+\'>'CG4)?_/3*<9H0S] MH,X,:)MC["]G#P1JE$#;/(K.-AH;ZVQZILS0@)EE7UZ_W:E?#$;LNRE\91#@ M\BO?50-96ZY L.S96;R9L(,@BR_P=FC)W+&( M'3!&],Y"0W#(AR(;E>8%>3*L%CXVIFRV"N!)H)ZSZVU0.ZU#LXC@#;FL]+01 MP+: P>!/Q^T/*A,(J5'; G*, VW>>M/])0O,]&CS74%OO@'_,*OF\"NJ!7V^ M=2Z@_'2LOX'<%; VJHV8$MDN+ 4)+#'AP"@RM )=*D7*#8CU!%C[8#LX1V- M_K2VBCAKV WHW.'LPER(B[Y-[=!<-J8@HC R8;L2:D91:Z,%73T1:+J<&TNZ M>K=Q4UD- (MY?]P@>J6F#06J*;GAGB#9#34OQ5!?TZ&%S25'#,LY/I?-0Y-9 M-3;8Y)$PGA6;B /9!' _XT,S&GV(2M;:D,#*,N/AJOD&MA>MR)J+@0(:Y.=H M:/7J:YI7 H<#P<$UBI Y1.T#0S\&2/O9 $L^F3-WJR2'QLS/V!]AL-C'[#$8H"FE@-QS<87#5*U6)76]DUFVZ<1#O.O[,"N20\'05CUF;@ MA?$MU09=HM'A,'_$ ELWW"X%4PWOG"T7 MVHXL/$" A98+95QOELM74@PM*M#(OG(4Y\QQE9W<:UG)O?D5\P6: L$S#4UP M1(#/])PS()#0%3TU!E7ELQEI98P.,!]PM0%6K.J.6>*7I.5JV5AMA[<[958? MVG]R;C$;ZW.X^%CC/ *Y@-Y)PR.! L$4H,GZQ?:@1/*"?!87.ZRUT\'B$^S. M'O1LVY;U^Q:0&=!&7Y%9'DCL4)ZJO5Q /9BYGV@0]]PX[$%CT/M7X9U9Z+@1 M#]S.RBCU?VYI@A4/I3&(R6&;XP]@)2=:HY8!:2MQF=NEU7C>K"EF%P4P:,3< MRK9:<'39J)W:%6;M*R,N=7LNN;H,505TJ6R]7[T#_DQ[V1N.'=RBF WC&KMJQNM;X]_4W6NR;6%S;1QL,Q!MO:> Q0;5IL:.S%!4AI<&F. M)="M;.E$ BX?&ZC5A92V"@X\B8#J:5H^@I>B&JR%ZL8EMLB#0 MWOH"HF&X?IL+YDC7;*/Q4;W*BXUA2M8_=[G$LPELH[P7QA&JPF:([!92)2OH M=&@[_VO8AZ8VPF7Z7EIN!'3C]%3;,#KT/>AS?,TPQW.YQK2J7&_&$K2B:[U# MR]ZY51X_T^"XYX<4&PRM>_.MY54L=7UAK]Y9;(M$K=F-2 0W2H19F6=%!@L M!!4GNU):A<"9;AZ[I)H;M6R&/*O&<=M6W.YEX+&C4U,%NQR,;[J:NWKS%O"P\# M8$XSTU<6W/9Y1H7\TVZ>,X;6U^VBMV^7V7[\"2:6SN,8>XN--8]NM?+6O497 MJ7TZBUI1DAL;3GR%I^[]/.K@L(DZV,)E>>-F*QJQE7L>Q0):#'8*+#"#HM8% M!)TD]K=*QK+2+,9S=!N8,"(C397=).KMFR:P UTB9GGAF;!A@0KK:SLF+L@I#=%I;;/.6&^4\7ZOUHXS%_%4,IVBBFXVX M>1P+MF/>-^L*!-94^\#LPJV-_=OU#'WV8UTK MG.C).5J5M8L.WI6ERU,[$#B,Z& TNT'V!?64PF@6U:3:SED_Y=#XH:I-';O; M-$+/(0:R#>740O9-W=;?5D=D7"^+=2TT:,[[6XUOH 8V\<,XP[],X*:!A%USAD(XOWS8.=IQWN[N_OVK M=:G8';-JMPR]V_8A+1&V.@H;9M@X;K[, QE[S0S"8K%@O:+YS4NWC">81BOD MH$:L?[-+%B^;.VV^H\?5GY5M'ZWG&,R]4PO\\R<6]V+?M2XHP!WJ_]QK3,7) MH-":C.#1@VKY5I$@[0=X08_&\?P!;NL!9?9MX78$'+O8;A./HS(KSP.!N\&- M[ZI9V$T$TW=Y$C=D]O8>TD57[_0B4L/ Y@K];?-A78@6J*!JI5>MUSRA6 K- MLL^ZPHXT8=HXM2!"EJ[;<)Y+<41&.U:QWVU7?"L88D6@@PECFB&L9^.>,?EP MSV$>.63BF&8F?J5B]NFTL$&\@^E$Y>?CLKTS@"2E"K7X'M?F93=F9<*J[W9= M6A*$M,%$(N";0)P'E]:PC5]>7))6[2VP\Q7Q>G,WQBW;6OF1OK]YCL*=T#%" M3?7,6E:P(?.-B&8?IYXC; 5HNHGU=N=I6J(SN=FI3&9+HH>/6[7?T=H@LE%P M8E;MC=A!JW;/S+4MVW)9>JSR+ZM8N3$L_HF-*X3F51LN)FK6@&JS8!?<9>@" M:0KW%B-NYX)ECP%4TU11P"4_$:4_WS0-\<]7CKRE=^:X MBG$=+OK1[#X3K*0%I;$"Q%I0<54/WDPQ>'"Q[=R]L>WLNL8;J:[\TU9(,1JB MO!9M6R>!KA'_6W3H+?0# >[U(!N+.\W)BA9?-[A5O%NA;[V>3"\7W5U7#XE9 MXA8%6UAZ"XA8'J/Z% /8.86-QG=VRTPL>KJ9=_.4LVNF?'$W8FGP5K9R8_U$ M5[M0VI%W=9!@?=+MO#[\LA ]8X<[*U;M.:/QV-;*C0J^P@591X&N>-Y\NZ@= MA7GTTL-7]U64"R[))6663R=H0./5"^$; M<];3D I+#H63ZG.G'&$H-WM^1NG*M8GQ8!,,R,'S,9E$ M9S;.YM0P6NA=?8AOSCRKX1^94XQ5B&NB9WGE@VH?[<)#.T.M,-ZD%<&"=I8Q M)- ?,T87M@G$.IW69*2>_E(BGAOJ4Q^LP7C@7%91QAAJ.0__KLA8>\]A8=O( M4J 5] B1Y$IF] "+NTMZ=.<]?L_M]OB?S ME=_@/3">VR_E6]ZV*7C#.R3-$ M"8"<4]VV9.K !H22\ H"L=I&A.=:=T1U"L.0I][*$ BC]A;NP^VQX\&M:&9[."V7;.;+_$(SM6QS$N;%'<3G2WSR]^!Y9[>VD[PXG Q/4.F_='69Q5C5BR=MRU7[[_!T" MQL":HE?TW+@>Y@&\!!<_6OESKF4(BN5DM?_WZX( VT;94=XV8;M6_;_W7V)T]O+-KU?$L/W$>I[55F:[ M)[IYNP@4FLO8?(.(7[-!Y!B_5W65DG94'MY^&40[+HNO_O[:FZ__DNT$]+Y/=G?H=5_ZWGWOO;')C-W^ MYJ?/;?P\=>Z_K^+TBB965NE&5YD^OH1&]ZEST\W?<\W?T9)JN,7L/?+BOM?D MI.:_F^0'M<6#S@M_M'FI"4*;'QAJ_(!E3FXY:C?5-7&_KQC3XXWA0Q9C6C%6 M]RH"TQZL>Q18>KS!8L ?P_C!2^D\WKBMBY3=O[K;W=;?D]5SZV!A'<1[36#! MCWH>HQTL/!XLK".=NAT=WR Z];]SU'QX([C=4ZR5=WT$!GL+P[83YTHQY/=?S.F'>.L6U=7Z W5;.1(4G MMPIMC^GI<6EV6!Y+A=V-H&W&JJ<]C[K/S6774\[6TXKMA/D:ATTO8)TP;Y\* MVSK;:W^,&R48B?L4>FL;V2KM!>XC^&!^*+;:F5YK(LRLY_-'V&?XH81Y'?76 MUIE>QPNIGSH[Z_8C]TL0TE\[4MI96!LNQF$GQMNEH[;.MCJ:Y/++8ZNH;62A MO] >]=P'7=T_% /MS*FU$>20=6*\34IJZPRI0\QET=E/=UG3<=@1S\Y^VG Q M#H-'"+'XH41Y'=73UME05QRU8.[CLJK[QE177U9O\^![E4_Q/.4#!%T_WCFC M!PVZOAM%?9C1O >R/MYH>F[/B\/GWD1YR(%=%SE=3P.X0YX.>=8#>8*@Y_%G MCYS]H9'G04CAOTPZA2U*O+&"Q-7Y-);22*T^"M(J_F-RO RT4";]9I,&>Z&H MC7 F6HPP,XS2^@SKXQ:F?&N=Y:.=_JBI=;VR 'J3!2?']-@K:LI@0JBZ'H%- M#6CS>F2+#VQJ;S=APF=B5M5\QNI+6% AT9FIF%&ED*I2.-8A6?78.9BMT+3' MY')L=07K3>$3,(U0G=UFL?BL&+?3AM=S@'U]^J][M8J[?IVO%S*W7I>9=:F(OYO6VXG.1-U'TP9:.QJ(VM#8\5Y4OGM!#C*G?7JC2PML)4*R]T6T*K M1C?)U1>;T4ZQ;M-L.>4@2XU8VG2K+>D[*[!HF*V3C0VK<@D*6Q;&EBI@K2&X>!DV8(:5N=(FB:[&#>OE++3V^LIB!C_L@$E< MT\-A5?9Y89Q75/?;LG1@JQ3S=>G^<,QI9)-3LBL2FM\[.27E]L$T^/F&'(RX M$.>UKU!YMJKA8O[=S$ D/K3I'\KC5YMB%S0SEH0>3TP=E7:E22P'+\PG36GN MNB@]4 BL<#7(SJR0HLCK;UE9%Z2KJE*/557)_BNF5\[&X_RKR2OGC/5Y\RR M(Y-HK%QO794%>D069=EF0[XJ[YG6_9:"D,WF;,3X"& #![3EO;:4TNQ!V%8P75F*Q M*+*MB1F;SI^V.R\6.__+T5N#'KNMM(R+9;BBGANWDBRR6^1E]'MAX#>W/&!: MQH)", !Z8E'[0X<*:;[-WL9[DST;$[W6"?%VR@)X?19T@;Y.>VCJ[_X^\@%>,JVU# M.&O#OEMA%F:R?(UPIRY'?'-;=*?VV= MG75@0G&J2*+30HRZU/=W6>(QCSN"VEE:FR[&M,>\A\UH]4,)\CIJJJVSM%[# M4S&VVQF*).^RAMS)D>(%'0WM[*E-%V/:HZP3Y*W24EMG3W5Y%[_#6T*[O(N= M,;7Q@LS\3HJW24=MG27UM'57MI&*LE[@\^>.L5I/X>KLJDT39J\71ET^QNW3 M6UMG6SUJNN"MI**TQ[V'#:7XH=AH9U.MB2#3'@N[TF#;IZ*VSK2ZXAC@PZ8, M?KCS/EWBSH<\U[*AB3O='O6?G?__T(D[?\"3AAWR=,A#6=QC\2/4+^Z@9]-R M!J]*N+4%N:4NL<%YTJ@J3^M:9 6]W2&6.F$H-LWFH:H3@IK$=B9Q\57TMV?3 M@6(Z9:7'^2@;B^H9Z>*[LSJ%*@S)N&RR*G_8.=IQ]C#35 'MF#1O-NVKAE(X M==Z\X0SDH,BAT47[SNOS *NIQ)2@T&Y["XO]MT%S#1:X2HU??\- MECE,"%X&K7V/& #KRJ9+?3W U+);EU?R<.P<@*"PH%JPK%*C*W=0!B-%0SF4J7LL@2 M%+,$E@@LIOQ4&VPV:J:^3 Q!FZF9,Q%?8 JO7"A?,<_KL%XF1O/!"V!\[+S8 M1+# *[%DQ>EIH4_M'ZC5$[+Y?>#J9B-*T4Y M;IY7B;7> =P8BU.K[E0.0C7.)ZVDXRCD> >Q+7!&H,!Q\5@=BNLX*Y;+B\RS M<:-D8?9JQ(0O>C;'A70ZKNR*[1*D:S71_G@"IDV&]OQNB81GWPR?&?HMU4O' M@\6\Z# T>!6BRI+! B98=@HF5*61OF;ZW.8T1Z]<9A05CIDE7F?YI$YK/Q_" M:\FXP="LK)_.'U*RWZU&[#:*MBCW6K((E M_-E"LQ3EP$GATU9]FXF6@S%,S"G:IS9-O,V$7]F4I/,'UGI; KS8F-!=-8FD5:51::%PNZI)*[//)WR2//NCSR3P:K_7Q, MYG1T?PQFD'9^J3+(_[J-B'JIG%2Z[%([!:9HV,)/GA=8/CA><1DPX=+R2"QL M%817EL"Z=[&3:UI&N7NKEE$W6BRXM;I6RB6WHGT3/KUZ6 6*2Q76K!&/'J[* M<,:NZLEDV+@ JM)B^ "ILZ_H?>[-/SP3L^J3L3)V4R&KZ0&418=!J_!9H;'$ MB=48^5C/VVH]?<.AU0EHZ(^--Z"B_I5;I/%\7C5<5Z;TKQUUYZ)/LI.B_G-M6K"1YA^&6=-@0MU4HT\CD Y3,ETP-61YL,LMQ4-DPER MJFEARQD9)T+U (%6U:FNRNM@I^S\?U>:D]8>3=!K,/V_?]4CW]U]K- WB&UJ7=?&A[/N$-UGM[ M:CCZ0E'*86;M3R,Q158VVUJ-O=&J5KGL YJ7I$1Y=P,[D(TP&4X/LV-/,>IRU] 9 [#V,2JB8 ./1_/%>+PYO9NB] M5;Q;?Y-F2P#:7\OK F8;YT6&500UDKM$3\[176Y]&K6[W[P5GG V+<[RLB(* MIDQP>S_,N#U;'G"\*\W&0!HRX^A'ZF'V&>JGF ;4V[U -+/RTI:!%&/TEI[A M9K$-BYBCM;T3=T5,1>/J 4B^].ALF,^T;F_-58/U@,6TUE:TKZ7M;V09FUB]V]2@ MC7]>\ FH.@ZBT,VN[-PJ*_+4[.J:LNU88EY;FQ ::0WKRC^!C?X,YEJIFJ@Q M8ZG/N7OM:E@QYPNA7F.'1JWBO.0LS\:3I1"B%<^XQH:UV]E_3L?:85'O[E;_ MO4,'GW?5AJM7[5\9V$ *;1*U8NSF!437U!DWEM#JK[+HF0@.$JF;NB6Z68 MYT:R>5RAC7?,6K/"[+Z7RPL =,IT-+7ZP]QD_8N-7Z?V>*%*C.*@1VU%4-S_ M@8\6!7V1MN#+X"G0Y:PGEQB=A7&4P3ZMDM%C[?-T@G_T0!S'4XRQJR)@0%8='"=;6KOE$6\7,@9 "U7'W#G)-!L:+0X+H0]CCP-Z(,I2R,$47=06![Y" M-_(I[HD;5RVTL_)E+2UA&Y^U&'8-O]NUAZ^H9Z/::&Z*CZ^(]L%P%+C8!JY4 M!E)2@6+<_G)>UQ;F 8P? 2 MEAG4)> QK'%H JH)C-VHJL7NY,EGJ_"W+6H$C*)6..@\+$PH1%P,\ZF@5AO+O_7F_I)_\8K(.XR#-J=0&CZ(\7*F#3BJ51!V.X1H,0Z],8#GT:WG M9IKM?IKQ7:"4ZTFU6LL)D=/)9"&XZ-I0CEYE*1KX6AD B*/5Q2O<)5[!Z^(5 M'G9!KT>LJ=>C]D/4Z_ "HZS&^9@8\E"]HX<.PR"R/A2S02RR*V*:YDNP]K'- MP]\O[[R:Y^33YRDF>:#R00*/;1&I/)P,P5M!I>9FA_<1L M\*>9O$N6>YN_@0CN7C8-EL\EU<]6#NM%U(:.E" GNCH(9:#?;/\QVO,J-[#9 MAL&)*^NS2VV,ICU&_:L?Y-.>6\6H7+T_A@T%3O358OX\$KIM!(51+_"-#01= M[>?UVZHC//]_>]?>G#:R[+_*5,Y6W22%"0)#;.?N5A$;9]EUC!?P/OZZ)6 P M.I$EKQYV_.WO=/>,- ()8VP'@>=4G5H'D#2:Z??CU^F++=8^+]8*8CV]N(!9 M=66$/NF8[+2Y2+#ZHP[M0MXFU+>9%H<+DSNNFEJNKS%4CI%(,(5=KDHRX"DZ MZ:DKP4C7A1-UG"2KE]NH'H[=,*I!;2& +:P1K:4MH^F3OI:$,K)]+^*]T,V< MCW()19LT@ZG0.5KL$+S [JJ*#+8+43(6!CXNF-FWMN/*Q*MR4.9\HGF;.GN& MPOJQO^GGF'BX^@%!J,F/KV;@4JD>/I9<48$_PUB:M_W8YAL",XGCG,-;4#:,(5@X1U0K>)B) M!XK\+];;K $A2@K0I4E%LKI27)J*"3-U13RY*:I"%:!%>L G-'.>D%NF5%DF MRY3Z+"Y61IL@?4%\:<$NL2?UZT]"=QQ^K&?S;BMXTU I1RR;WAQ%QXAKVQS) MU!N&F#7YL<)9P:OA#4D4D"0*8R&NI 10#:%T[81#[B=IW5M!.,RO0>LW6!*] M6XR2[)IEHVGD5WW!5'AY0.BEC>N2"_A6$,NH,*HR60@;:%FDM M1_269R@(PQ&\D262RCMF/PDF_A+ MRS82CH K*+X5:O%MGRK--3;/\R>=R<]O'#YN6+5)6/;9YK<$Y M;XQ&'QN\]7]6K?$FY_CSS_J!+&&I"*2 !;K#SE?"=6DWS$_C@3/W[I#LX/NL-+ON= 6M_[ET.V==V__?.D/6[@]^W8P^*-:JPDV;V M+:=XK.\?"6UW/NSWS@9(OA?]WG'G!"AV:]^Y@&3; MH7)Q,3D +F?(K(:]9S6I5*4Y@3^E5!RDU?4=!<+3)L?;.FSL+UI(LD.$3RID M,5!*,)!VD=0(:2*H,B?SCV<.GXI'B<>B==[#*&F0"'SZ_C21[_+[2K;> PT9 MZ8N#BT(Q5D+*\5WR0(3J&?,),N!;J&_A0FE0:AU=D0#VY9W,E>/-$1^ WH=\ MIS%T;JON%NP>E5R.,>9U,[%/%7-(8P0D*].T.UP)3*\E'FT\0V!_ M'R/^$!SQ/7LDOG*=;^"I1/[B[^>#W"NOGKPG5,"JIT*&5XM1=>9O'BZY.[WQ M!0_$2W@<+Q&>&;A6&4\)Z$3QA@?A3O1PPC'IGXZA*7B&!6Y(VH.D@P$V3*4PZZXYE* M +IA(AP6-R6A!'&*P,2FP?M1"=/]XH3I8\RVPS<;3K.6T6Z[:/>'K-L]8KWA MKYT^ZYZ?]OI?A:_1.U_;/K;JK]1YLZKLK/.E?48F;^>D>_YEYVS>/V71U-@5 MMH?L^.975/PTID!=*$/#6#PCU, $ZHI=Y;QY4*P$LC$.*%V7]@IB:DLFM *L M*Q9*P2,#<,15*AN"(]AN'F6##>ROF>.2;%YL%?'C2/5+4EI-Z$W(1U3T&BEJ M'??NM2["^0X9F?J#VZ/4MU,G5180246@-.1B_*22QO=0L^>&4M;W3JWF:^6^ M=A6C(.RT?3SL]7>.\TXQ*BC3S%P0$>7T5:('B5=PE3N1AF"NB9\6BN62729K M0!:,BM^'G(H6,;"B'@JN3!R&A _J0XH+W3Z*<^)#ZY^ZPJ=0)U24VFH3OF2? M4TFBET1#?T^R%5/Q*/$31'PD,[H@KD.9Q:GONOX=Y0G2^LCX!@.@])KA#'<+ MP=IL7+=XW?]*L"ST?BIIQ!;>@BV\P/\\<>EL231J2ZBU@"]SBRQE-6^V>$FW MI$< [9$68DH'2(%>4/3[,7A)9=^\9=E%]99O)9[PE >J,2IDP#GUFEA'(#S" M6R>(L36];GUZ!ZH.#=JD"!A:)C SKB.B',\$DRM?=\3%EG@2QY=2?A,H+16" M 4%%_!0#4NTY7)H6QJCJCL0]E&O ;*&-R)3B^4I#IAF&3+IL>4526KN&&;^Y M.)*.W@AP)?0$06:V-Y&E#/9XS%W,6,MW6JP)D#C*H-X3Y&;QMA(T!UO51X)X1C$-TD=(:8BXYL;\0;"-77 #B J(+ V(HX@ 4DX#>I&F5+V)S!'MLNUM.SR%\!$C.$P$?\1 M5129II /PS/"L.L]:!-LL$YX T@+I*U]%70' H:UO)$(:R+3 [ M8&6_2L$B)#$I(4(*+DLA(@2,^)Q9SMYA>8?[::ULE1 GC8 M4#XDE 66J^#1BO,@8U25DX*T$HKG9=Y\""J-0:U'WQ<"\(F'5"GK\;SY16O] M<5207(M92V6>,I6"NQ>Z1SPH BT6W#I8'R8.";,]R3J4M2( M#:>#;1+Z0\-?@F)H%& L_^TAB3L^?_19S(6B(U8@2+<*=UE)@S1JE8$SHJ9-JN )EV.> M'/N!^+P+D5!983CB9"\0\O -M731[!U]FHB;#E),42"$FLA/BUS.LS!2_,#17A@46TYSOX5 9BD40$:E9FE0GEYB_+KBT&G#< M3+PBQ.GW(G\/X_4Z'E(F:C+E=WI>1 >1EC,&<*8F+@&5E(8?).YE"&CS"\PG M(%63B>D#K#+&9.1BS2(%+5584M#F66CS.7)WNQ@T 0O M!OWQL:JP]Z'P%D%"/;"J?6%$.5-()T-A6QH+"&%.;_H3:AH6@M)!;:D&W6&+ M*MP4Q_!>.Y%,7*J0H"&E$BQP&2EIS?!9ZLF9>(8-G]H0E\R(-+21H"<9*@_- ML9=@@<7&D=;FOW2\BK20L'%1X9^H7D=" J4A0UCL88Y\\PLL2+OJ,Q8):B#! MQL$SQO0=?K@WPE8V.:+<)N/8CC"4!]8QI0"G52#27-+$?E*6Y&UO'*(JI0?KI]'C%2J#I755)EZ05O63>5C$104,BLP M^,7:+RRSI,B9<$Z#$<1!"!"'WD/6.NL5SB]?%US!?H0$9'#5GUIN%#7"7L*?10\?0]I%$-V5(+@N@0P MMJ0UKNRLL*00.@LWJ4'Q9"U#+?0NZT4SM*[RR0GP$M!0BI.3G5Z]O?M8C.7X M56P %0/#WN3!8=T@3C1--B M:#[ H*Z4:UE(TQ\RRQPWXZ$)YJR7[<&UQS,U MO;R0%C5$?CEF)!=K-4'#T#39"TPG30$O!3,Y(74?5Y9%![Y.F"L.F 6FR[F\;L@ M1H_@BW=UF=X\$K[#.M5=GG>[WSI#H:=?N>$#=IGG0'KG;+. M'Y?=X3]LT#F^['>'W0[!WUP..O"E; DN[DHLU28LZ4M*&^NH/@DC5)#WF64Z M[>8Q[E)@5]G,I9!1@!$(]38/\57#T%@Z9R@+IU'>5[R8W'8GC8 M=->^"?F1^N.3,-:$CKP_+_ M$W5_Z1Q6R3G\$$T6OVRTJH=6H_C[I1+%'Y"BB:H%>P#G_?RF\>:1HDMS2R#(-L]*Q*)S<3@M MXAF0G"(.5FO.68WZ/4B ^LWWY'HI N"CQR]8QK:>LF1=V!<'L#X^+-6S*F#% M=Q&B'3"044V?QQ"!P#^%1!Z@;,9_*7#T-"!=O,WFT+?AT-LTV9U.%X+6$J/) M=B;X&:!O(P&8$]^1$T__2F>=QZS"\>(/H"(IQ (%_'(=<;N/7[8 M]@ASELCE O#UA7\JZ4GZ9V^M=X9\=H1\VFD,"0_Y!*SA@/UINS'/:@RL:\"/ M(&KWCW":/_,Y+0+_NE23+AY!0 _8&^NH#&TT& MZ,;W68+ [9\ )N\5HQF"URDJ5/_#%QDK'" M:/]%7>0']W09I;YNE?\L6U$;PG]Q+^9U M$+_)YJV4S1-^23-Q4S+CF*,A9T/.AIP-.1MR-N2\ M7>1CUHT6,*7/X@8Q@Y(F1)Z\P MB&Y4L&&9+6(9HX*-"MYFK]S(%'+@/R :1A[ZI,Y,6X5/^M9Z!R _O7'D SY? MO68=5.80__( R>)HY@>(NT,#K-.);E/V4YWPMQ"#:P$_4(=!J;*+!#XEEAV3 M3J@@D&B"*W3A OZ/OL(JZZDIS5:](K'3GK9HV],A_Q[Q"D0KA"T(V$GJ*0HN MQG63]V P"2(#$J.FWA-&D_Z*:A,J"G$F!9K)P(4A;E," %R5' M\E9IE+5\LI/=#XEMI3\F#[8FF@6(E>7?<$\]/+FB G^&L82HZL#SGFWU]>PFU8"7:[O$\)KJ5Z^0("=^UX>N.:JE++_2BEEO\J^ M=L\[;- ^[0S_82?=P?%9;W#9WTD*B0 DTA6FB=#>3Z"5CZ^45II"WPY_[?19 M]_RTU__:'G9[YZM12;VZ/422*T:4?6?0Q1?1Q5O%Z.*/X*I&+>&J#6.2BXT8 M[XFM!SSZHS"^%F3[@XWVUFH[GW5/RBPY6E76^?O7[N?N<"6 R!\-7?BQ]G$] MZ,(#<>FZR(4/(M\MN?'ZR'<'K6JSM013[S'(=R^9V%\A0=U*Y&Q^H. @ATI? M(DZ KS+A8Y\P9X_(A072$VOK?)\Y(R=B$G6NK.4MFWA^+G4]LY%\>[Y(-G9+.#3G]_8K?H!Q!WWK-J_W^4E#;^'HQ""G*!9P]ZS]M_:[SY8S0G]E41'.1NDT[8ZWW%D M"6=MFM1@'3;VW__O!WO>T'TIH?M\*KT\0K>^L9+&716Z/]:,*45?E1&Z/U+H MUA\4NJ?).*CM%[J[9^G6C:5K+%TC=+=*Z-:?:NE:!^RR.J@>5X7D;=8J,*;( MGO@WD /6?R8$+][YL-92>?B!'8QLCX=[O>\NOU=BN%ZKU=\;X_=I"^LGXEX(+#,8S_BUS4[\<0Q#(]]O "5F%SCBN'UF-/"6G-<#''%LNS#8 M$Q7*F>-]&T$-[H_CC]W4&&?MST9C;,EY/< ?9_:(NYO@C-W4'!?]CM$<6W)> M#W#&!0P%]R*C.IZ504XZIT9U;,EY/< @)WSJ>,ZFV&,7]<>^T1U;%)?C]:- M.MD K<>!YX2SI?2^ BP4O??IKO)-M_HM&J+V>.6$@$T0L9DP M'2>Q>\_&=APBE(03 FZ"'^!C1IR%XGC%%V SBL>,^,QVIVQTCS?"DD+Y T!I MX+$G+L+[I7 ,BWVH/W1SZ^MT(>Y$6]]^M5%;M4?N45_6#ZOUQKJM>\OO7+5J MS9>Y\4'CX"5NW+2JS7I] H2?5E$BQ$KVTZ)1JSLT&%N MD5$"]9@.0'TB[O3QS.'3Q;Y?(TVVC "---FAP]PB:?)V"7C H^KJ5**R6=: MF%F969F);VYZ-4:AFOBFB6^69.<@OGEAQRX[J;*A/[F:V=?&<3!RK@1R[I4> MYJY$-XU0V6XZ-$)EAPYSBPR2 ?<2Y ;!DALV5T M:83,#AWF%@F9MTMP^G)"GH4#: L;BTK>BE;*KK.#XJZS#R-_'-D[5U;<]LXLGZ?7X&CE\U61;$HTM<:9TMQ8A]7.;'+=B:[3U,0"4DXH0 - M0-K2_OH#@'>1A$!)CK1+5=?[Q\;???O^?;O>?GQ[OP&?JAE-$ G#%$ R0!UYQ, $_ M/,1_@A&C4_"#LI_X!7:['Q71%9TM&!Y/ M#O]7O+;]E%K^_T3L].[*X%X4G7 M\3R[.[3[;A=ZSKF+SGJC8]M[/[X86L.1"X][W>/SD2AVCH;=\Y.SXRYR[6/8 M/SMQ>B-',9WS"^Y.T!0"T3#"+^;\LC,)@MG%T='KZ^N'5_L#9>.C?J]G'?WS MZ]V3*MJ)R_J8_"R4G@^9GY2WC^3K(>0H*>Z.R;Q0W*5C@N;BG^F1;&SOI'^6 ME)6SB@+ "D1CB ?*FDY"Q19MV=U;:L#(DCOJ L#9:=Q>=6Z$M$1\@,N?W4S M%A_FW.L,OVUH3@>PH*? M==Y(DH1(_M'-J(OU0T)HH+C()_&SV0R3$8T>B$?2X"\2JW]$HR0 E8);A6M1 M_UQ YC+JK_!#1S-&9X@%&/%\8%0,)@R-+CLR/'83W_^G"_T/0I*D2*F"8M>5 MKX\$B1OZJKEW67L2#M*6+SM<0.*C2$/[W'P/C9HV7Y!@@O\K6N_#8=/6"Q+D M_\V+8+/X#W6P:T 6*$DC2WX^6"998A1QY]^2C^GNYG3%Q7$1#N.06 MC.F*_:F2+'Z8Z%&K7<*ICSTY!7H2C5#C9$Y']\(ZE&C<5.TK^6CPL!0>?0%" M2JL R7AF+SB@(Y"Q/6 UNJ)3T; )(AR_H%LQZ9T:]Q5SAGKT9+$/!%2BV;4>*CIXFPG0GU/<0XU_^"G&PV "Q2G9ZY$Y[O3,C MY"1P>>Y_ Q'_ X1EG6]KF+*:MQ[S+95V*4 C M>( BDQ;I_1IB]@?T0_050:F/!KJO)M7KW[%4XJ2@?\D'*$8@SZGM(#S#H6_J MOG0,=(#8O6.[[*MJ 'O(HYMC+M2$DK@ M(Y)KD\*[?X(<\\\H@-C?!-)-:];9@M,[<=P)\D(?"=?C^_15KHT+[5Z):38.)!8# M-\ O.%AL.7IN6RR]C3J.6F1>RT8;.,]89N4]$ZF5Y49R*]L&B>0'>ZW"_.VJY?$T_F8H%$KF $NP0J2OM3+:?!)09 MK]+E";09%.O$*@^PN"5F*@!^K]9Y0E21-@ZK38)$P4*;83H6W8Y<1:1MS$X1"U?SZW4T&H]2E^F M+FO4?W F4@W7H1BRHZ^"[32\6^_XT&IGZQ M2*(//2+4E_(>"3UXISBT4=M-PM 2C3X0'=OEN6&F[_:%HJ3MC1S9,I'>)9TX M5FEVF*F\A2[E5DA.QEB86K2-RG0^L42E=RRG5CF9E;&(-W"U6.G-\B&5M'I/ M0RUH;+@+76L]ER'=$(RBZ(ZP*8U( =5=@FL#\CAE]4,NJ6 M\("%#?9=5Y/J/:!ME3/M&1^08]1V#)IX01T#O1]T[/*DI1J/-GK"2KTV&CUK M.>C]VK%CE:8S=="T<-A6J=G[,)"7JX7,NZ(D8-"-N\/FV)G6H,?V MQ+%*PX\:;+L@5R6(ZP1II4#5>K" 1%_9]/9PY5FF:6>]=TBK:G 2HB=,5#V\@)G+3ZC:& 0;L]4B?.WW#X73M MB_= 5@G>R4K_WDKL']$+(B%Z1!(UQ=0,U HZ[>3'Z5GE30$Q$Y#CTFK5-YGV MU%)KYSR.99>SHP>6!42]TU>F )\1>L-MP.\X6ZM%;@NWT2WMQ M&EI"4K>I?Z-^2$653)>"&%J#EJ4=;]/S2-H=JM+-*0*Z6 M ZJ*Z:IC91L";,I>C_6Q\/)F6)N=.#M '_6S$6)"*_&;M(,*5/%_F\D_#"_OU+/13FU.KO M6\>LJ MAB#/$<0L#^A$>F@RY3%AI)_]G-GE%;A52+5Q*J35=",/:<1)[Q7/G7YI+6@U M: QK5HT3[N.?W2ZM!*M(N7WLK2(*K[$!=KH?J! MY#=7D3=X00R.Y8ZZ<*ITQK\+ DR^\ !/U8&,['Z0 J[\1FXB0=[VK&?K(NE- MS7+ZI:4C U-+I.S&8H*0,E$+UY8LF2<'L< '\RQY$NW+=%[UB'C ML*NNNA<$WX5PS29M;RV$W@3EYM3&)FCB#G,3P4RZV/:4? >+J\?SRW3FTP5" M<0I,?MN4^Z/6B<0YTTO$ M39*)T9P$VS*9-BUS?&J7]P;$7S943-J8@LGI4 9#XF(?QS%= MCM_B3SOQ:^2)28@O?X0!98LKRF:4B3>"\E'\$U 99B%99!>9Q6\H2ZL07N,% M\Z;K63N54.\KSQR[E)$M&%07%$668XY(Z&CW'P>QV""5&Z2"2QY "@@""F+A M_\9S5[(E[]\#RG+U@K05K?3/.7M9U\[,T#]W[(H+PO+NI(7:7\JMJ(&XZ3FS M2E)M]#SI614'DY83)Q&GMH/0Z,B?AH$VQIY8=GF1J@:0-H;;2L4V1UZ@&W'-O6&ZA;8M%8Y+CE80GX;A]R[ M[E5I=;T+_XPXZ9W=B6.;=9O6WP98I>QX(7MCT);XZ"$[=>S2HGL=9,E*^P&P M2"7)#@-,"F_%#\2VT/G,V.OA/7/LTD)W';SIA@E,ELK$5;82^*=PR-%?H6C MEQ?S2R)*5/KQQKE5/AB=L0 1CQ8KO=E22PVQMJ><]AR[O!Z_#,%_>P_X_6C. M+^!LALF(RB?1;T)H)+MZ))X@/SHD+:%RQV3^YY,\J ^95W&$Y2N:#A'K #CD MZNC^94N'1*<3D5KR07#I'M8TKK=K=NP$5HO5[ MUIF^=2:4.V_>MU *=]# M8-C,^ D)T!@Q@V9^(6+R/$,WT^'_ZD&K*+ASC)Z0+WKK^ 81N3(Q(-[ FXH. M+L57'ZC1]S$SXITWLG@/]:-,?=R/OO/HQK\K,5T0(Z&QVDUW/[J=SB!FR%/O M:FUS XX-S#5Z-82^/'(CM(2&N)D13RD1484M#'0T<%TACA?ON5GA7&L*[QSH MZKT0@^1 8N11Z"A*=F7EO%JF\\\A M^A>"[ G/:Q70F,_ZYNVJXV1O9=_R\W_)_J\ SH?"9XUPP"?TE4 NE"H'":+" M@ J;DY]Y%\1>?"!*%(?Q-<15WH_5\8?_MK$*ND MSE>84F_=><0])I 338-6WA*A16'=MZ3J5$F(GNDC>L&B;\?;L)%W3=D(8?E! M KDP7V\=6^#<1#F_,FH\P_E"]'Q.9_+B)32'(OXK,8:+6S& 8@3Z\6G">/!= MJZ0U..W:8K*O(=]7?9YY4/X ^S.:!Y]\$5)JU; 1S[>*OT%2A0P^77^^+KX@?!8 M>$=7W2TK_=\@#1?UUK =[OOJ9M,1EY#_NZB.!6(\++>PQ=?'U<<> \I]'7;< M_('_$ ]".> E[@?]C*2F\,YG)*NNMUP=$1IPV ?__UE.__%0\57S8N&/7Y O MPKKWC-P)H3X=+Z(75Z+?T2EB:7M$='M$T1"13_",WP<3Q)8OZ!>%GAGTT!2R MGRNFJ;N19>7CY693\MY =KOX>.67N:@,<]D&80XB^G'L MZH 9CF5KY1(FW*F-;+KCS.*6ZI8%;-/"*:4:VB4M^XZKW=$(YX!BF M,?IJ@@E<83FUY7=N0%5NO@1JY6GE*SC# ?3ET\%4SAP;A9*UZ]A3DQ#P(BX' ML_=#3GTY9(N_U;U(M\/6.LF5E/LZ0$FRLEFP"Y 8@@6B,0^(0%\FCU:F=/7$ M^]KT9KFS5YK+G&69M&VGZ%97LZ>]IU$S[XEJ5MS*N,U;5N6J.O95C[.9CZ/K M&IYFR,4C[":S\B?JJ\I6#7(:<-AY\+JC9/R,V#27S]>W3D.P\\94+%4\32@+ MI+S")U:(7K\"L@:K/;7HE4DE/>#&Y+N''[% ]C8Q"KX??48SF5S.OKF2;GRL MQ]R4?E]SU5_A?+L3\77Y[>U$O%$$2]?GXN4Z_/(F8PZ#:O;4L]3L%%"+/%%2 M*YZH2C4@@BG["@F,IK;U@_F-F&Y[PU.SO*Z8F$)&TZR^0/CN[FJ%>]61[-RE MFJ3:XX?9"N96$O@:KCM.WCP_3K6N^T!N0B1[IU1WNP[\1#+ M/50K65](@%?-<-=BM^M]!IMF]OY08*\.-%NO9U^3!4^AJ&:X8B-XH>F MV&2?M\C&GMQ:M?7FK6O==<\RW0H,Y=!J6_N*B\SV=?A?O4U\A0/1T>SIL#,^ MZ;&T$+9B9XZ69N>^8NGC&O$&L633SM7*UGE5RA^]GO]7L-3 M:26Z7P>W.F#(W0F:PH^__3]02P,$% @ 98']4!$%WJC *0 [L(! !4 M !C9VYX+3(P,C P-C(X7V-A;"YX;6SM?=MR6SF2[7M_A4_-ZT$;]TO'=$^X M[')-1;C*#MLU->>)@4M"XA1%>O8F9:N__B2HNT1+)#= ;7LFHELN212PD+F0 MR$P B7_]MR\GLV>GT/73Q?SO/["_TA^>P3PNTG1^]/?9XNCY_]D:#_\UGN%B?/_EAT?TY/ M/2'_6/_1R\6GLVYZ=+Q\QBFG=W_;_8UR28W5@C#O-9$I"1($C\0GZ2)8FI5( M__?H;X&%'+VB1+F,'W,0B--6$8A">6ZUI%FN&YU-YW_^K7P)OH=G.+AYO_[V M[S\<+Y>?_O;\^>?/G__Z)72SORZZH^><4O'\\M,_7'S\R[W/?Q;K3S/GW//U M;Z\^VD\W?1";9<__\]+Z)=KF3^*Z]E7 M/U&^(Y?9E<_.^X@__V'>#3_0HI6J>:V M=/DOUW_\_+KWZ&=Q-5L/]@U^?]%$Z6P?(/!E"?,$Z68/NXUOWB]FTU2X^V&) M7PN9^T5^^PFZ-<9^OX$_VFH-B>P&_4I4I>?+OF>+>.M#L\+#17?YES,?8+;^ MZ635DR/O/TU^[A9]_ZY;Y.ERHK5(/EA)+,6)*DWBQ.(\)38*ZCS0$%2^+:N+ M\:QYFWT?UN2]:/IYD>%SF"W[RY^LI4HHN^#POVS <"[(_8?S'DYAOH+7:*M0 MH,O.Q^4?:,)>KOKEX@2ZG[[$V:I8OQ=]#_B_]-%_F?C@= Z>$^F=)#('0ZR@ MFKCH<\A.9"53BV'O@?6V>&XP[447GRVZ!!U:^1^>?89BDR\,_CEPW\5[%+QM M;BX^\;Q?G9RLVR13).'EWQ?K7X*0"'']R)&4I??:(5+(6%/HZI&V8PJ^90KX) MJE320#5&_ ;+7]"=.H$W.+Z)BC0932VACGLB AGZ$?*B@_//X5R$_M?I?-%-EV>_S)?00;]$U=QNY:?_ M7N&O?X7E\0)_90C!?U(<7,!0&)\I(44%X&XQD51>21 M)0@\MF/L/3RC,O*UZ35,^M6H<,'I^=&-P4DFK5?6$YM]PL%1C%>-L 1'YDV@ MD2M#6]!@ Y:AP[NU-,NU5P4D*A:(%!*');PG-,=DC>&X3A_6_W]:>SE4\W=I MO:^HJU'Y/?2 S1RC[7V%3O=L\:F8V(M)-D$CR]!Q!D+!H:&UU!,OP))@$A,A M">6":Q,&/8!J5!:N-B'JZ:,:13[ #']U]#-:W,[/$-B+=#*=3_ME&?@I7&*+ MWH #8P@/ BTQ&E^"(1DG*FGM*9<<)=*"*]O!VX8TXELE30,-U30PRVX5EZL. M$;X\]MT1]!/N..-&&1*U+(/UFOB(Z[M&MF5>V"V88;\5IDQ6/KU MW.>33W[:%6/V-J/#[^='TS"#DL!9]E?YG!+&?Y[.9A,9C$_HTQ.FHD6WKABZ M: +J54<5&-/9B29.]2XHMV&.^E:9TTY?E2.RPX2GWE9>H$Q51[5 Z2#FT.1I]6F^)2Y23Q+D2F7LM?1.GX-&HZ&G# MB+$R]ZX1&*K2:E/]-0IC>C1_N>HZF,>SCYV?]SX62?WLI_."ZUQ@92- L$AE M,4-!&71S0 F"H!Q)!D0*X*-/34+6'3#N&,+\+Q<;4J#B@ZW^I5U?1=\CW MK\_OJN$-?E_WN,W+QZWT$W7:0K E-CG&5>D^ P#)1HQ@A#K(*OD>XLSW_31/SZ\97,NXQ",OWK[\Y?6B^X!J>)NO1W@U' @^&)TR M <QD/PP[1A,:R1"3RI$3[IDD4N=, CKOQ&3GP0C&@FYRAJMJ:#0^#]X( MBF;,.&(H0^LF64FW@24L9&5$Q)GCOGT/?IR.90OF;[LL/@5]#F)*OKZ]]F*> MUM_-[O@ 5PN]DM1H+LJV1Z1H%M<'5X,@D:-U1FOM4FAR K[-<,:4DQGC##@@ M6<:Q37$NRV-8HA<\:[QG<;NO@VY@/##,FE>P?_2SZ<'Z8[GT3+25#H1#)+24B2$6D=Q__*@A@OM=0^.>=D"RMZ"\7@^["^ M+T?7RS]E"_045TCDVXOE2]]U9]/YT7_XV0IP\8.87/"$@4$;8'0YQHZ18;+* M*)6!!]'$=]H*W9@\H/T9XB 5$>TZ'Y3F9(Q+2LQS; \25Y'!<+SZ)O<2[H)8L=;)=^(VO<6[]OO?KI:E7EW9!Y\XALNP]@&MKO(H4ID4,?O8.Y^4O\Y?^TW3I9S=P3KR5,2=< MIATO!P2]]P316>VL:7)0^7%H8PJ[ M*O.ELEYJAN:7.+;9W)A8*[S/ND0"Y:YZ1*1!871 BP'TS!O7IHK>CCC'%*O5 MMCP--5:-5F^F'L/*=>9I$ATSVEA'0F#H+RI6!ILI,5K$9$%!4$V<^!L8*@[G MT@N603,J9";)2K3N-&3B<_&WO+GQJ':(1 [ECNVK][LD'RCP^I7% MWH#OX1+5V6^+>;R 54Z=BO49)$-Q>AFGB:>:$JT]IU)$KE2;/(1N3\U6+ M%G7548TEN((#=I^N;B3>&.\ZOZ*MME0)DH"71)ITQ&E4*8!D6E*C#&_B<3V" M:TSN5BV&U%1%]=7P[/6B^WT>H2N^X/JH2+\.(OH;!/8N":MY(DJ6VLG6>N* M!\*DU"($87V;E.<.&,?D7-5><&JKJ*:CWJUN\+K4C0HIZ$ #B1Y=24FC(MX[ MARNBRCR!S90V,2OWH8PI1UZ+$0,%7O>0X$TK=DW$I&S"N$&1S'E$% F)& ,0 MX1PN=<,":4]UDZ_0Q8%6#RDB-2U(3=.C*)@0KM>29(5%2Y:A$+] W27I^-:@< M3=PUG!,/!&,[R;WEYH]E,3J1?39Q5 MGP8#M5#/$UKO1DX">NPIYXS6W&.X9P,:=^DRNO,A>ZZM5+S-N:%U]W4&<;5E MFT!;QSRA,98WN)PD7EGT,UQP2B>@4C=9R'?>T3[L0N@QI0(JD"$:O)OE$9^7\3X-O_>GY?OG5 &$J+E!-?,1&1P0 )3B"MZBX$) MLK1-'/\@JC$E>2IPHIX&JI'BJEBS*KXS+S?Q64DKZ-)Q\IYPXQ/G0AC9Z$V_ M_>IFCUW5>\FU7F7/,"45RHA:9%LHQO>B)RBD& M_(X&UZ2@P<.PQI2VJ<" BCIHMT=TC2*126=BL7\2.:3@3;0>FJ3M M-J+9A@'VVV' <(FW2-]>!J=&<,T"=<11X\I"Q8ACTN,79H54- O;Y(SO8V=) M]MJE6E\Q>N?/RE62RP'&F))/N!)SH@@>JHIQ'6:\L3.B_D[$2(Q00L3@\3(O5%][-'X!Q!0STX++-B6H'X0UIEQ+9:94 MU,>!"@W=*BE3M:S0 RTWK(ISH))!MPH7^?[X]6SQ>7#IH,V--JRXM!EXI5)" MI; "=O"N6YQ.L;4?SW[ORW)[-45>Q.7T]/Q$A<%)Y@WUQ%JYWI P)#!CB%;6 M:IZS8VW6M>TAUC74MRM\3H1-67J>B89RDHY+0WSTD=B AL%J7$5HD^370Z#& M%" V8M+#QGN CFJ^)MD5+*_@_%\<HS0B#,F<^MHT*;)7O(#F$;U!/>!:%-+155SK+ 6^BU"OYKVYYL#+^;I M705J'%6>* N1>98IB\VR\KO#W?'(PG?!M ,H MMN8Y&#^/./;KPG(O9AAOEVS%ZT7WLH,T74<7?W0HVT7.+_(2.OSPXA2ZLPE+ M7!NG+,E6H+$U*"MG;29*2:\4<(KSI]$YF0&PQW1NXD"&X:6]TMC3H)1 M:*4ADIQ"P*"7,V(I]\2$J+,WW)O4A(';@-OQ=,9W8?RJ*ZWN]:2WGXJHRI'C MRP> N0U@'%,$\1@B10RE>',F#(($'8VVHLEYGLUPMJ&,^[Y,4P6]-#0Y#VZL M33CC7+@D2(JE0I MQ>:20>\Q4)8LR*C:K'\[XMPJ4TJ_+UJU5.5@OI5-ELE/ M7R+TQ1M\&WH4X!*NJKV^//;=$8Z?4I4#2T!4.?6.L6PD#MF/'B+SF2;N[[W/ M>W_W9KNNMF+(=Y),;R#\A@;HWJE8A.8,ITY%1Z(I3[C1+(EG%$BFGH.C6F.P M.?"_[KBB7[D)! MG<>?KL-1G 7XG[^4&'95DK9?^9,K^\DF*!^,7H4EU >+XA- @N.2Z,S!)K Q MQR8)T@.-;RM:?V=9^S%2YP#AY<6QW(F)P++ X$1YT.7R?":.:TZTRQIB%"71 M?-C8\@+95ES\SM+^==75ED5WCO).#$_@(_+;EDUYZ9(B/BK4N](42D$BTZ8< MZS;@MN+2H9ES(X _1,XZ47+_&@/]E>:D" MQ#FUS@?I:)OS6P^AVHHI[KM?K_;5TP&28^\!H:U@XI7*RD5*@N8<;1M8XI7 M 6LI)$C.G3U0Q'8'V58G2[_[#/P0=54L\?"I@SA="ZJ<%O,)A"P)?T6D@42" ML8J$1'7. >-'V:CF]S6(K;CQG>3>!RNAWFU&'.6==WW?0[_LIG$)Z>+=W]L_ MN/')=]!-%^D^P2\.LO[T):YS8._]$G[*&>)RHK56.:ERM[M4HY9E>.4Y-I#6 M2"ZTQVBS!=$..\P*;N*V[%.@?'#6$B;+P[CK,\(!%*%:2,VRDZ";'*O<]T+. MT]Y/&3';-_BH+3A0,Y39A._\*-]M?(!QE4<[2*CB M>*^X#^A$LE(S6^:$ :J3D21E MA#-,4VZ:D+G!6,9TL^<;8OU3L^HI3+C3CM(8(]&(!?%%#,10"H2%J)3 *:UR MDXNU^YKPW86!742 U+]&:O[2]ZMR;/UM_G#L.^A_G^-<0#JAJJ:G9?MD_>,? MD6.I/+H(\]Y?GBWMKUAWX]!I/PE*4*NS)QFE122+):0U&0/9:-#R9>Y$DXV, MIJ,:4_31B,L;*DJ/A"7UBI3[L_69FM>+[CU\6G5HU'HH1VJN'S!&@RB]HP8E MAC92? 19.4^>/0OH7K]-4Y6%=AU8E4[J$5 R1LWR;I(%. M4ZGZ:HC/9<,98B!6J7)"B\<L0B_MB M(Q*#>@RJ$D984B86FN3+'P*UHX_Z))-L*)6^9M\'*ZGF0SA7;G.IC?"K7ZXZ MG.3H)+]QE_8'>N8 M4MR'XEACC5;W2J\FPUJ++H5:7)Q7F6X/:+D;>P#"B5N;'Q1B4S'Q](DQ*CF[JM6JEU MAYX.*-F&E5P_E'G>G6&OTZ/Y-&,'.)W.+[S@['V'\&+Q&/<0ZY8M#Q?C/D,X MC-C:B^_@8FPCSM_@,QKT.?85S^_V[2.Q^XT,%\HCP(:.^[6?=O_A9ROX%7R_ MZO8?^^:&AH]_"X!-9/"Q7"&H)XF+YAK)8Q/8)E(YOZOCYS?OCUW\'A>1JS]9 MS/U[**\:X;S]T??3_A4L_7163YQ#<3320U7Q-%%@;44T%F@3P6S8(T>5W0RD M]_'A'FVT@KNV&_#F^Z\YP\5O;^XGG*/(@(U'E=I5D01/O M>23>\*"CEUZVN0JW%;H:MR\FPD,.,0-Q0@".T'L2E/*$Y:"XX#%;WN3<4NE\ M3,=CZO/AWO-0NXJ[6H;W5YQQ9[_Z[D]8OE[-T[U146ER-I83)9,B$H 3'*,A M@N?$%6=,M*F._0BN,6T:M*='3275J8VWP3Y_.%YTRX_0G: LWBSF1^4_;VU@ M2&EQQ(Y$8(S(\O*)8PK_*ZC@LA51>/[8VK9GWS6LX>,:SCX)GZ,@MKS<)O$[ M8C.7Q###4S*&.MOL"MF."\+3V--#,&>39:VKNGH%YD_1@REN_.M%5W8!/Y3@ M>AU\OX*PO/[N\NDW056D"@3)67@@EF4J0I-;<(\:ZJ>Y2O04W!FJ MEI;[L8]%8E?['U<3()]/@ .%L[OT?X H=F]Q5 I>[YJAV\;GXLF+A- MTP D^(#S&B>R#CI[D?13KK-C<.4.PK9]5]B=--C,G;LCBAA7)T5/D'[N%GW_ M^[P#/RNR*:6>?BQ&HA0AGGC*(@0,Y7 1T:5HAR:!64NLP%".QB@3;Y)5JH)^ M#*[?*)C97O=/3MOR7M;H\C>B(OMA:V WBX3<18R?N]0^ []+X-^MVB MGZ[K6X&#F+V+I; BVMT$E'A1"E,GKZV+2&_?9)]C'[##JZL]U.?YO:+58M5O M[IWQ7_$3Q_W;KD2LT$U BN@$ $G"EY>B+"56>XE?1*2,*F"RB:]<=QAC\JB; M,_A^J;BM"HDZT M>7.L[C#&Y(U_8ZP>Q(@#L7HS\AL^V[J&L%)>1A8ED9(E(G/95'8ZH0PE Z"@ MM6^R?UL!^[B,PEW!@J*1><4)E0'*^W>,N%Q*I2:K:4Y:J-BD1G;347WK"^$0 M]K>U($/H,Y)E\NY2?V](AH+0PJ.1=BAQAX,+#E=^D8,SR?E,S1.XT0-']:TO MHN.9$37I\Y19A,=W@.(QI-4,%OGJ">=\\PGGBZN=9TW/>-8&>8CSGTT%V_Q\ M[WEEN^GIU6WN5TCM_LFV10? .8"N:PFKT:;I5W>6K!#*)(;K- V<2.HML48E MXKV2E.ELA1_1WF!M05PH"[\K;_1.YV_G\/_ =U>)OXGT(2H:!+&68?!/A2(N M!$N$]\*4/0P,E XOGL=@C\GK;<+$W392JVJYSG'3;0&_R$OH+O!>[$]\7I1O M^FOT(4GC+3K=3 #Z&<(Y$J0+1(O HE(4.,3'K&]M4&/R,ILR\$FU^0107Y? BO%ZONS@@\R%0B0@)<(!\7/7P4S-(MQH^']K\'?;Z3JB%M<;;_1 M_'46Z<8/!V1BMFVZJHRV'T2E#,EE-V>_P7*27&:ZW$]E*IJ21*9H-70H+\L9 MFU-2*C9Z!?0:Q/#'*B_:>N\_H\V";NIG/;;[-K^''KI3M)!9")H\323@8-&- MLYS8K (1,7 E&-,R-GJU^S%H8\I8[,V,^^]15M5(Q6=-+W#]L>C^+,^"+R+T M=X!)*:AG!OTIIAV1/F<23)#$"*N9L DD:[(;O 6V,>46ZG.EDD[JD^7U=#[M MT4C_O%BD.\"B,M9FRTADM+P9S^'\<=[@G4$GW.C0YDS&%MC&%/;7)TLEG1S& M"_W-=Z6J^RG4\4WN-5?5'WD8[%#O[4UYD6HO 5S\Y?"Q;H)09UC[^^&W_K[6 M$%MXW^K0&?OX:TM6+ MJN=_-UAJ0SNN)>2J J@4WI3C6@"W.[QZ3>.RB/:K%4R,Y]9S9D@*&M>)P!W! M98@3QB,DR[)VMDGHLRW P04"MNGG/9SXZ5I#^?6T1S*4E,XD6."*6EF6Z(2B M88(X)=!##T$Y_'\RN^/Z0QQ1&-6'@O3H#A]%NO7(56PJE(/SX>3$)"I2F M*A-)LT"7WPCBN1;$@H(8T>'BWIQZ?AFQELV7BI"XU/P0I M-UZ(Y!1(*,5<%,O&ALPH:_.<[5\P25,*I#!5@D2ULG^'"5Q M1DE"O5.6,O#X^ZKDN=G[-@PR_^,8M+=^&N;72^;_\W0V^VVQW"_G>KN!X2FQ M!P -33=>-KU_@OE."_5&VR+)?-GV@#SIW2;J#;A)/OF7^=+/CZ8HRO,77/;; M(;K31HUMH8=@U1[TD&-,&UNJ+X V!YIN]S%HDW!S4_4%T3*#7_9VE[@.G99G M-&]W6_:/&7>2*Y D9<%QM8-$;/":9,U\XL:4)S9;!#(/PQH:SSW0^D6EL+7. M?OKR">8];$[LII!#"+@4*PGK-XT5">7$NI)&TXBA 3!U8,ELBWU,^?N*_+L; MZQU:R]72#;L!_PTMP;D8HG9A(T1"4B":22T>R40R932H#-:%)G6Y]\0[IHS_ MN(BWLS:?D'KKK8D0@(<8#-$.9XBDU!*O52(L $TA26#"C(-YVVXU'2KU/RKB M[:S+I^1=V:)P3&I*RQ-9G&4B-4X4&[U!'Y51SQP/3-&1\&[++:=#;1N,BW>[ MZO*)>/?B,C^]!NRM ZD0<'$_2]U2C:YIBB4='G&N8/"4F[S>-0#SF+8=1L/ M_;7:]%C_QD38Y,Z2/RA?AXTUR]C=!7J8G!V-0=N$R@LL =J0LO7(A2),>,O+ M@T@L-#E>]60YNW5E]0EPEGA(BD212_4(G4G(+! =%2XZP"'RO@5=-/3]5VT7^;] MLEN=OX^YAPPW-S1<1EL ;"*#_6?>0\TUDD>+V;>QHP'[_P^VUT@N3<[#;.SI M[6K9XU*;IO.CUXONL^]2*53=^7BAG-J"V[:_1H+=:[A-!']=HF;CKZ?S#TOT M=LI_+S(Z1GX>IWYV62S\JCQ4;?741=5(B0U%UV:.Y8P^;#D,.O@PTD[MMYI# MVPRGVH-EEP#.^YH(#"&H E525 RC2PPQ'6640!!,*!-YA":;+W>!#']KXK*] M*T*^S7=GU[[VQ\5[6*ZZ>:DN?SY/)]0S85A"@,HB5&PNE(*9VT8L09'F 1!-IAU\,I8-NAUU?%BY36__K9+_.\Z,X7\:IB?["'%B+>?DCUQ?G8 WY5 M);MM9RV$O-= Z\O[%63HL-.+WU1X>'+G/EI(=Y=A#17JA^4B_OFC[R&]7)R4 M X8WSQKN(\&'&QPNKAT -Y7-_O[3-LTVEE,+K^K!#@=,R:W:;2ROPT^]#R6D M[LX6>?VIMY_62]MP^S:XS\:"WGG8397PQSHK NG%*73^J.1]5R=K2/WO^ ?3 M^4_]CI7%EI;#5_A^0E5LS@#N(C&/AS[#L+=ORJ>;US_5QG MVGG[)Z1WT$T7^+F^H=H;X6S-A4.(MPI!WL.G51>/2^'VKJ1&3O96X?V6*@GY M$8AMQ#"4T%]ML)50FE#DH_^RG]]__H?#Q[H!P/!J2_B?L&YX2+VINXW4N*_U M(+"*XRXV9AZGL^F%S2F+4%F/_!+ZUY#*?E+Y9E7>V7FYZ#XM.OP-_N5[_&>Y M*);+S\_ZGW*&XJY>_F;1776!G#R=]L/R:T^*MZHVGUCEG;"/Z2!'(U[> MW7T_M,:K'?S8!OC:%KV8IS?8VNR&Y9HH 7K180USQRI?;8_+C8B">RKRL MVR2-MR#Z5EW/Q#WZ$ M.>3I\AUT$:?-!'@T7@5*HN.!2!N!N*0T :^CSD(I%9NF#F7YEN$G+GGD3C!+9IOG$6! M,T%RH)EJR:G/=PCYE>=Q!L'8AF3V^S!W!]99T]IU5V%_G([D<;LJ\O$:] MR <1W?8]-A+NGD.NM.]VI\/?5B>AO ?R:CI;E5W$=?\W*L5,N(C4FFA(3E(1 MB0XV\1!QA=.46NHI18&W\%=WQ#G4H_]*=_?ZP:AX&BZ 0MF,I$+'W.6'L*QFSC&GAF]3MW!/OF+;.GIR!E=7;T*U?GRE=Q>6J0W@8Y79' M^]YVW=!.C5L_C\$;?EWJ?@]#+OU^M;4VPFAS\?=^/[^5< MSH:3\=]_%'_C/_Z XS3)P_'9WW_\X]TOS/_XO__]7_[EW_X?QO[KZ9N7/SR? MI(MS',]_>#9%F&/^X:_A_/T/_\@X^_.',IV<__"/R?3/X4=@[-\7_^C9Y,/G MZ?#L_?P'R25?_>GT7[G4W'FKF "P3.>L6%0R,<@Z)/2\&)7_W[-_C2*6!(8S M$PK]6L#(@O6&85(&I+>:%[UXZ&@X_O-?ZQ\19O@##6X\6WS[]Q_?S^&'2\G!-$TG(WR#Y8?E MEW^\>7$;Z7 \_RD/SW]:_LY/,!H1XL43YI\_X-]_G W//XSPZK/W4RP;T5\- MN8(R%<[_JD_[:6],[PG(-%U$9/0ICBO!>\2X[NG[8[Y^%LM8X&(T[Q'Q[6?W MBG=R#L,^!7SKT3V@73R(G>-YQ&F?4+]Z[@V<5R!7$=9'ILG9&#_17^<_+< ] MF] J_!K.\'Y@Z6S\B=7EE%OI%PB^_.,;;R3NG M/^NN,YN45S3O%LOA;#=!W?O4'B2X'?(5T:+7M!\&[Z+GVJ,*$$!Y*S"E&*R5 M@^W&T(?,GTW./TSQ?9V/'_$%F0?G.[*T^^.;:>'>L:PR/1AK8O(Y247J,/2% M$Y C$=X&X_5&==PSJD9Z>0U3^ME[G \3=-B3]U+2U^\ZI,;N&.6*^D)*1DNI MA<2D8]5CE@&\-29*4XK;1GT;Q[NK+I_"J-J%;]\CSO=>SKY^6*_:N /GBKB= ML)S,=)VXTMH+'97@)2LOI7+!B#CHA+@7>?8Z$^YXP%1LV) MV]$6&HK7"!!1ALUB[YW37\TAF+W_933YJ]>M^LM#VZTXZW&O"%UX0.>3(G8K M+9+T*5F3K8K"$AR#FY>6=2/86]Z3\O8]*?/]9)3)G?_YGQ?#^>?>Y+[VX6WD M?_\X5O2@@D4CBQ,I$_G)9@I%H8%TM/_G]MAG*IK=T'1UO@%&&& MS_'R[Q?CM_-)^O,K^;V9C$:_3*9_P30/'$JPF#7+V6L:>;0L:."LY.B+5<[Z M'%J,?$N<7XOE"XV?3*\$M/0>=W0OZYE8KRR93PZGETMNT/A^_&$RI^ M+XW(K#J?7$)%DWU..E?";>Y(?;EQNT!#T"#,@XB*\;1*'G*+(+C+)#M3F8EEQZ;T.(V ME(?-B#U%?YL,; MC'XQ?HW3X20/=$2RSB"QK"*ML"XE%J3V+&#,+DM0&E,3'O4YB@=.P:,I_#9[ M52]+V26DYQ?3X?CL$M9_PN@"%S][]6%Q4O?S)YRF(0UH@-G3?..1"<])=!8U MBS$I!CP[*2%PF:'92K<-T@?.PJ:*N\TTW0O3WN"'BVEZ7V?&3=27,V,@HTM0 M+-!*[NL=:^ L&H)I0PC6Y@!2F&;4NA/:(^!2?ZJY31[3DCP+R@^"EDYYYYD& MR$Q'+XG=)C C4TD%K,K"'YH["V2/ESK;*^8V<^R^S'F2_^_%;+XXT'HW>9+S M0O8P>@U#VH.?P8?A'$8+CL?5'?T-DJ1FPSF^Q>G'8<++0;W!>CBT>,KE^+1' M9Z11C(9I& TVTP8N#4--4X.G*&UV+8C7>F /F[3F%0Q:Q=]Y*A;!+R>SV8#LOA04C<,:+YCV*C-O$I$2N$?K"N>AR=G$5R@>MO9W%_AM[8=] MM?]J_AZG:ZZ%_QB3'$;#_\'\'R0#VJ9_)3%6P*_&;S'1QCT?XNS)E!:W\=G- M?9P&]ZJ\@T\#J[DI&B6SQ2O:RC.2FQH<@YR2)N?"J51:$*G5@!XV)T^"!FM. M7_<^FE\,[-U[&+_#\P^3*4P_OSC_ ,/IXJZ"QO$AB5KF'DWA<"FZ9:A4Z6 MX0AFLV$97D9'?[$\?R&1/WGU[,5R%*_*EQ%>SS443CCTR,C!IKEF>6&1%\6< M#4Y8Z[E.\9!+[MXC>@0\/CH1UE!\[VN.NT9&N'%X-GYV,9WB.'U^-P7RE=)B MC..\^&ZT,N+K87G'@W$I,P4F,IV59B$6HB-W"4P17+:Q3=L,Y_&2^T 46,/L MO:] -ETR"Q3>HZJ0/&>Z&CP^Y\10:1)R]I=X@9F<%T_/%]MH)U& EQ:U/2JQ% MU:<5L2E/[PXB[*^]22O1'XP77"O0V0:F;#63>/',FQAK8%',OOBB8Y,PG /R MX:L\R./381N)-Z#!#:/KMX7)/2C91K*#$BL6:8@E9Q9L4#1.,I1$$4I@DSB7 M6T@.[U3TH*'-@9P[B+=!>.^&*[\E."^%DR49)G(B<%H(%F2V++KDLPMD+;?1 M_9VH'@(/^A-[@S7@#;3CJN@#J%20BRC\% C3@.9"1# M9EQEL$$H$DF39)G."!\"2=JH8V,([;_]M"(KRKH]_QK]?3R9B> MFBZSAG=1P^V'["WI>W"M"M-)04(K5AFEH0B2(OD?,JO%.;CW@SL1;B.O7V X M700(_H8PNYCN+K/U#]I;;AWPK7!:FV)H*>86T(7U$KV->F^Y M/IG-<#Z#<7XYA#@<+2ZDES^G;?CZGY []Z9>6-=0H:5_M^U)]"]L71 M1I.]2F>U5(!'&[.A!W&OM:O1A%F1B>1=4E#K9#1!M)__=/W\2QA/UL)X-;Y^ M-?W"[Y/Q]"LD7VZP2DG*\Q"8XT)4RU[4A!/.+/@@R(?P/C3QL7H=Q:XN:9T7 M@V8_HGS7R[&>?9D_@RF MT\\DAZ"HQ_4TF9-KM7OP75X3O6LR4D[-31@ MR6IL[I=0QJ]C> =9Q8#<2*9M38U(2 NDBXDE;\#HP#%CD_"JK@ ?&F^:**;! M,?Q*).&SR7@Q]H5PUNVV$J/.(7,&D&HM& 064#DFE%.TV4KG2AM#<3N<#XU. M+=74H,[%C5W]+HDX;DJ,1/L4 YEN)C@6??1,&G0246*(30\#L>+V/J*FR8=CN?UKFR8EU6VKT>/2T"ILFR40[8'V0/&NMLQ8+6@\;P&5D<3(A92T"(Z/"TT"( M*9"L8+0ET*BR5L8VB0)N@TO?_\ M$C_B:!$*&UTP-#<]XY[,61VM8C%XR;R2.?D0LN!-BE9U@W>LM((C46<3@?M3 M88.M?.U=SFV\RYBJ+F!;IBQLA?8XJ0PMU+Z)6&//:B M&>@(9'Y@)'^]%'+<'RC![LF-.#E^;:.JEKQZ,?YP06Y3E8!8!F<:3$5F;\E@ MI352_\,;H M(EF64)@.6K*(Z%B2NJABM %HDG!Q!Z;'QI)=5'&@M40MH4D-"@U!TZACS5?7 MM::>9T6!)C<',>69_*:\FO=0"74ZL+Q$,[8BL8C^Y^ M]:/?#K9Q'\HYD,>U"I5G6I M-\P(!4PGZ1A$X"Q8[92MB1>A2>7JH_&GNW=U M-/ILHY-#.>K7J_)R"^82M--2,!=#+=61$O->%98<*F60&\V;!-!T 7<:9M%> M6NWBD.^CDA8>UG ,XS2$T8OQ;#Z]6#0>J;.%@) =&#G+(BJF!2?[K]"4"5'I M#,HY'YO4>=J YY%;/STHJ4& S*)&6\%I%H0XQH@@=A M'R==[S/93IZM6VBV276A::UJ/,>GDSJ8JU#;I=4002JPUMPQU/XK6)%?6FK@8WWQ]MWTX6I\OD6,C 65':&:\R4?F'6ZRPMO8P MMN^J(VVKAW2I B)3+-<,2SS(WY#+?FV/FRO#$BD/%=!' 8D::JK20.Q.+4KI)>=(FH_G6 M,QRWX7F7&Z;#TJ/!<<5K^+RXB9M,[\MT6NYG).$T'WZ\3$6'DL%DLD[$Y86= M%RP"]RRH&J^80_*^R;*Q%^K'S.'#J;O!PLQLZU%A#8Y(NF=[/IF2]7^V#"FH7[TJKR[FM<+Q M;#&FEY._!EFJHD2@(7 G:HM#Q[S@E@D/)CIE#*WGQ\W=[3"*QTS6X]&A0;3 MJP\+K..SEXNF2):OH?\Z;W*AGY1V@'C/S M>E-6@Z.@+VA>E1?C.;%]2&;NI*QTM#[2 %HZ&9#)4H/ M"3/*BK+ MM,\0"^1D;;O6O-]0'^G38>XHR&LQ#XSY\^ MX'B&;_ C3F%\[(#2Y%=H']'>V'D#9MXGJ3Z?6D9$VY)B0\9@+&=6@&#C(3'F+W!@+,K1- M9WZMH-IT/%D<,BW#=$J6P/ACR!3/-/ZTR V4<[1LY%2_J MSM&EE!$]] 9EZ;M5NG[UUF\_&V0KA4_V%7R/!]_7(*["0CK V")MHSL/^H^Z MN#_38@\-K.IP#_$UU&:MX&NM=HQ##=H0UC%OL^+K*8%8E KEB38'J[(4 01VJ7C9 M38,WW_P-:G!GP34LK?LD_?-B.+N47%U>'-:H2:(3EXK\:*XDBRE:)J2211@C MB5PMK^!6\#Q.PZE/)36\]+T)JWXY1;RJR-,!8,O#V$Z>8?I_7@RFIS12OORY;.KZ&Q=:+>LMQ%8^U^K6 A224PDX/2Q*5A6 M(D W-8#;_)+#GVGVK(]) V'V:#TNEM!I;+.^/HE;=/F9FW\IK$(O5I?)1%XC?:]7UH=\=BHWM MHIPCU:JS#FC-3(9Y'3C35BH68TZ,I^1<+H4GTZ:2U#=3<8F[LNW6ZMN*ZWN4JMN&Y6TK 9^=PU]H3D8 M:P-34+ML<6>9YY+^$$9I(< GU98X#[R[2D^V45\J;!!AO%V]["Y@OW=7Z5WM M>W6_V$5G1^^NDAV/(#1YH1X#TT)F1JNQ(*<4E-08C?W>7>5$^+6-J@[<$<&7 M*'E2CA574]RD+RS(E%DRH&T.:'+\WA%A#VUNT1%A&U4TL*=>C&N"V-LYS/$R MG#W!];&XL&@$SXY!EK7W!SK*'!;?IFW('I<5M.?2FK05+,!FA7 M6VT'<"W-HSO1'<<HYNE.E1G^MRW_I41@,;Y@W62F9I?E&WVF?O87IV M7:/0%$M#SY*Y6,C:1Q=HMTV*90W2.F>U;-,@;C.DAT2.G@2_<0WIL?3;,YB] MK___^9\7PX\PJJ8^C/.+\4>\K/JQ4_VW^Q^Z=Q&X+7&O5((#F9)( K(Q7"NN MO8N)C,\8HW8.91EL-8)>Y;VPAMM(??GH]K)?-X85#1@,+AM(4:JLH_'!@C%1 MUX:(B6:"N5\#MT?3JQ[V*'_8^=GM-=&E+*(K@-'EHH4*VA<>M T!DBP2-'E? MX7Y5]%,BL;Z"_,.5-[V\3D<+NLA(\Y0Y)W.]^/,L8JKK9_0F.E#%-6E > ^N M_6W^.4Y)DN0CXW!1E6[ #828:D5S7Q,OA"D,."K:,X3@W/!0VAQFWH9R^%VY M3Q;<-N_W$G4#$VW/$@J:-BQ?DW,4"J0AU,+#7!>6D]7)>.Z4[I)AN)NU_PW5 MS&A)J@.JL$7W@A4\7Y#^.EWDDL-H^#^8?R4ISP8V:(P!"Y.Y%C=*$AGM$R2K MR,%+@;1Q=\G V9INVX!\6.1JIIX&N1H=L=8Y@016NL@M><3).T6^L0;B/0=6 MK$W16V%5:++';87R49)I!P4U",-\F]YCOACAJ[)>))>W!DZ"(1?"L51J]Z#D MD'FM$LNEJ(!26>>[).5NS:).Z Y5]:$E9_I7P[%K-%S'S<.HEDYY^Q[QZP/D M5!NK):Z9#;2"ZE $"\ -XU%+G]! :5,E>1.@8]WM-5#]:HY0'RIHD3^V!M?R M6+ +LJ;IAANA'2G/L!<5=N#%'O(_+$/( @-EC&71U4":7"(#]+2#)HC*88H: M#[9\'#.G\,#$V$;LK2[GGEU,I[0R7L9"+ _\R8T+7,I%_211>[UPYKEUS&8C M@XY"&FQ7UG(-H",DJ/6DM'5^][X2WWBD<\@KEF>3\P^38'%$KS MK&A9 ++Y;0WG! C78L@BBL MD)]3#,])^"8'"?7EAU],V['@5MO>;87;X'C\-YICGW^#Z9\X_^5BG&=/YL]@ M.OT\')]==N,1//&B%ET6:1/16606O2ZU+X5WH@CNVAQ(WH/K(=.B3Y6T: V^ MUE5=!5F[<.90R.ATGIQ66%1*)_?51W2+%G&F3>^93N@>,GOZ5\]!#[*_OLM9 M&I\#X9-'36:F,[5"FE&>^: ,,QJY2$*8S)OLM5OB?,B\:JFR!H?;7>'^/AFG M)6(H,:F4:"'%Y$@Z@;,@@)-7DX5QTBMOFT3L;0_U.\]V5ER#?,V7D_'9.YR> MW_!'!D[9X+WT+$-=7PMX1@Z09BD'$R KB[K)KW06"R+9F[VFU2D0O :V\,T(06C8*4+(V:MNR756!$+,+7NX.8R(#30;$H,#$K#:T[V2?Z:0NB;%9S6M-.W./TXK/UO7Y4U:&?OZ)&S]3^ZJAK582PM M+W;[',R1"EGTP9+)B:GXU&D;)7CA!)D"O*:8Q1@9^"R90H,\)16+:U+I\/3I M>E]9C%-GZS::;<#2/]Z^FR[R]S]_V4F6%ZS*!%5,S"RB(F361!8A>>; I%)T M-+2;M.#<9DB']Q6.I^I)$STUN+QY-IG6>/@Y/IU4&:V L\Y%C(4S%2R9O*76 MDY6"_!K- 4,QQHHFR>QWHGK$/.I/6RVR%&I\QU-(?^)M:-H59:/VK""-7*.I M\43D14&Q"C68H$N;I(3-F!XQC?K25(-KG6!"=IMF1886 C<,YN*]I%(KE633>U.5(^82/UIJ\>;F<4A\).S6IRV M[K77UIJ*3D0:6."Y7DDF^DH88)AYMH"0P:P,T-KI26L9&$U"7=<@^41LV5?S=PFBSM\W/G; MB_-SF'Z>?+D[*)=W!P<*-]_F_>VCS'>6QDIP.>84>8K'$L>**U)DU?=G4*((TQ9(H+UV2G.FA,^>HK5LHW MG$_(-?D?S,\FL_FB>NG 6B&LMYR9DCG3B40#V0KFO(,

    %NBIQU-L MPZ[[PK)Z55J#H]%[\*9T<7XQ(N\W+Q+S_QA/;]1Y>%I7 WP'GP;&EQB"E\P6 M*YF6M3^SY=6DM5Q[DZR+[@C,ZX;^$=.Q@7H/4!FFZR!J^8@O@_!.>NEH$-*1 MLZ6Y)1^;/F*"+"\'+EDMFX0:]H+^.T?[5.\1(_4'.3D;DME%2TXHS]\5213 ZTS+,+ 3'M"&@8(MC1?.2C?/) M"OD]RK%7$K51SJE'.>9HBK,J,M A,>T],##HF($:1"YL%&U\BV\VRG$KY7>, M+M9E+-^C''>)D8,<@*,%2U$(IQQ'; ME"1]L'&MN["F9SVU*#%Q9Z0D^" ]0!UD#;J5F%A,M+PZ7;0NPBFOVY26>,!Q MK?OPJ#]MM3B_NB-:$AP7.?O$^&*=K%5W(I(K8QSJ$+1#WB9)^^'&M>Y#H[XT M=?"01,* P(UE1DM-VZTJS OO6!:\I$(K*/=M+FT?<$CB/D3J3UL-BD6L#8)R M( U(EQG*9)FVRC ?B.B&0S1 P&*;8DD/,$!M'^+LK9L& 8U? E+JV!>>I7=6 M&*RC2Y$\RV*0C#/A6$HZ6ZG(N)=-*@#M74N0/"MOUN[X-XK*:W^RGS3F[TIHD&OE0'I$7$DA4M;%PXFB0.!0N% MIHNTH@!/MD;K/"2NW-OZ]M!4V48!#2AR71OG1O3C5<0M0!1& 4-74FW>Y1GD MVJ+$BP"<6["Z3;K-1DC'Z&+:KP)7S=5^I-_C0=[B6'%-D:2KPR'O0'AE60ZQ MD$7D:3*4()A!)U!*[7U9J;>^X0AWXRL>C(Y[E.3&>7_(>/8UD4I8?^47&$X7 MA45G93(]4JQ[7]C:Q\$WD>)*C+R7P@"2,ZNBU\;12B*T-\4($"Y&(^^/D>\+ MY2'CYS'P@HG\>J5M9!H]KP6^:DU(R854PJ)M4JOEH/'S=[<[?#89SX?CB\G% MBNY>UPS?RF2$-K@?['#>C6M)F1-KG8!L\N6&5[[[@BQ*&+I&$8- M-:B$6].D+%2_P_C.YB8*;W#>V.]H5N>F%X@QT-Q,2GNFR40E.3M@2KKD:'^B M(3>Y?FTZJN_D/@0=&MSQWCVX]4,:H!:V0.(,P&2F@>0:)$U264*..AN>\ @4 M7@_V\3*S!^4UN G>!?/JG"EDVN1Z;%1$[3MLR8H'7RRS&#!F03/&-VE]V /V M[W3L3[4-[IWO6>O)Y#[#%^/74YSA>+XX#OKYTP<C_RQ\O,OM7:H&#/W0-X,AI-_JJM4.G[9U/, MPWF=2V\PU9"@SX.ZX,M8%D6':W"((D=0.4DNH16!6U&;EQZ>DG>#?KQL[%&9 M&XL!'2*7-;F@O%2>B93K+9Y4#)S@+*=(?ULNP#>Y7O_&X70M4.<$4Q!XF&Y(P1JRW5'@M==\QE M/1FV;J/9PW;L,(!< UFC7B9@.M:FS(9;ABG7$WLR9723>\>'F]FXC:J[9S9N MHZ>^0^IN9^KRF'(VT;&<56$Z*9I8'@03TI,/ R*%U69^CR4;>@?M]R#C@^>R M1FT,JFP9H T$#B4+6=&WI>3H3=2ZS1W8@\YEW6/EZ$];!\YE#=J*$)%VYU+3 MVJ0N!"WG6B9.>L6++(V:5S_<7-8]:-27I@Z>RRJ=SRHEP;+PM#VJ @QH9V3! MQ.2\22!=DR.$!YW+N@>1^M/6H7)9A15(%/?,DUM OH($YFG[)8@ZE*0T%&:\/Q6AI81[Y>O/I6!]%?X&\[I4?WY> M&VP=K?W#'G#:<[ O6:VP3023+ 2I3%$Z^!(4IR44NB MI7$):$] Y+6W%B06923G-DOI)&:;8I-3SJ/VBOBZLO%20?3=/X;S]\/QJS'^ M-\+T.D-I(+P,@+37F5 /+E76+)*7QLA?<])(B]P?H2CU?;!/_;,VUI5A ?!P";-4 A/9I^4 MW'8L@]@?J(=(NZ,JKO=JFMN,XPKZ3(0!229X%:V08#2RX5 M(WDV.?'^.7@OKN\T[%]]/1Y&[C"4:_"7@_EE:FX_EFOLRZ&0F;\R%"6]\UYE,NN05GAO M+8NN5HES!B/JB-R)_KEX+Z[O5.Q??0W.1#NW8I%.NX0*&-= .!.9%"$&LF1= MKBW2C(+4)#S^H?3+:>>$[*BD!DD8W2,9%9=68>(L"Y68EBFP0 8I)[C/'NRN_: M+V<+)9QZL&:7L7R/,=ZI7\XV+&G:+V<'%9\Z;9.6SD9RMU%E&I,T6!./:FOS M# B"2\6;K(.G3]==^^6<"ENWT>S!XP4=RA@R[5%(?];&'"2O+"WSED2G)8(/ M32Y]'G*\X%8*WRI>BN.$9K8PF"!R:SJ3_>4@W&H+TTU M"%N^.X:Q%-KPN;>,:V%J:Q=@H:3"!!AOI!3:MG$H'W+$Z3Y$ZD];O9_SWVYT M9PR-S04&VA :DS,#D($5H.T*Z*N&1E)FL"SC^5[C''[I6)OW1PBQKA&Z8V)8_5*8X<8RYO_?.^8R(U8 M;D7,JN2Y!D_6G>9%12FS3#X%)ZP+( <;4.THE\5!Y;[263ZD3QFMP[4B*2F2 M$BHC24;K8 JD7#"D$&Q)@%(-[D2XH[R^1!O?^'"/.-ZNC^Y3MMW'L")QFSAX M'ZQ5VNJ" ESVP4NIO$M&2QCL,)H=]? [3,GU'G[$?F1_ZW%]ROMNK"LRAIS M*M!99-"1=MM,)CJ(A,'7%,2O9'P7ZFWD^I(\T-T6@>6_W%M:ZQ"L"":*Z&)2 M7D#(VGD3/ 8A8K+ L7"G!K>Q;"^#W9?#K_Y]3_+HL AJ;D5*D&*M>654 JTA M%)^L-U).\MIIHQH:0:5LE^='$$CX BB2E$Y)LH"SS MX'ZLV\OPEXOYQ11_HQ&>7YPO/GH-GZM-]BJ.AF>+EC.S/PCD]-4'K*\=GUW^ MN[U%ON^+>])0K^-?73DES](8(U+A.M-2Z6/0N4 T)4@;KZ9"CY+81O^_3B;Y MK^%H]/MDOML"\_4#]M;''7A6LVI,4DF&PM%JC0% 11V5D*8X'1+M^AN1[2*? MW5?@E2?T)J$NIBBG=9>L=C2&5N%BH39URA#I<["@Y& SMEUDM,=JL/J(WJ34 M988&@V3$\*BQH 9E?$9GI$.!/O$B\N .=-O9B7,8GPU)U(NCT1V-PY5G]& 1 MWH5J551:%1X,3]XZ;8L';[7EX'2=>Z;XP5WX]I'5/@[AVB?U+K<.\S%S%"XY MKUV(VM63K']4[U+L-%_),O*B> ,\:8C% M*U%;IQCG(GKA\RTQ]I,+^4L='KXDFRNOON#E=?A>0)==YIF1BQ1K/KM@@73. M.%G#A#<&^FFC8+1[P?40@+?I'8O.;(.$Y'2#! :ZYG\H[YE723,)UA29K22W MX,"#7P [_(%H[UQ9$X?7GRX:7/3?@>]&6?DGYY/I?-G3ED M)"&VFCG";:42& \^=39 ?5Q\ZD-?#0(![D#\.\X'2I*=6W1DRA=YV;N%MHO, M?'12:T4> S\TFPC6XV+.MGIH<-/_XOP##*<+/[JLPOOY4QI=9/*DK^S[@9?2 M&BT2LPER+9!C$L0[BQ?/[S8CBEM7.<7]+'P]%EZMAL=G%^6YROYN]K M%^U;(C.0DS%1B0B']AKN!?T M"7LP'3;(2KS+>KV-^@U6B=>C]/++<)9@5/-U!ZEP$:/)S'$(3 ="']$K%A,$ MD9+EKC2)8^\!^TFQL6>R;.&GM-#T81V7-4/X'3_-W_V%HX^X[)7-:VRL!YK4 MT@DRJ".OX5$T#F5SBD8DD9H8!/O!_D[1%OIMX#!MA[[.IW=_30:!O/]4"H&V M6)@6-6E*1LTP>N>UY&A#DX92.Z']SL4>M=G P=H!="T',R@V:B04H'?I-'A8X7ZG89_Z/+ISLT!-OSO@R:FYX%U(;EH A=(A,V*"2:)%^L)]O! M>SPP[V[= >Y3@NN.]RPK_>AD/>F .0&<:5,<"Y);EA/79-8''Z%QG]_[(!ZJ M"%?SX]-&6CFAXEN;!O7T\V_P?R?39R.8S19U4WS1&6.Q3(I8^[%'8)YSPVBM M2 92,#D?>MJM8CQ^D:Y^6=)]2=]+6X<]#?T"]'X+8MS;8GW:/6W MVNB_.\]Z4]X)< ZM+9SL',9=G8HA".8C%J(&#S7=TW@?'RS7[B^>=9)4VT9G M#2CV?$B6^3!>+.[]AV?OY]<-&VO*"A1@F5<9Q)18=,8P'H(3R6N,NDG_CTV M3LK1V5^3DP9J:! >^QP_XFCR ?,[3._'D]'D[/-7\$ 72W,BTFX/6/TJLDE% MRBR3WZ*D%#9 DQ(T]^!ZX&3I42E]-]IX=C&;3\YQ^HS,^^KQUTH;;W!TF1?X M?OCANC8*.?J6$Z^5M,#(4+0,K+/,:&65+3J5TJW^3,<7/DQ&-!-YBPC7\>OI M).%L]@9G2$]^3S"73*Z.WQ*D=DE[[0OS22=&7P0&*7D6.68AM%(V-SD)Z(3N M89*HG8(:W+DN0@IOB>(2&AIM/(;(,(=ZN$@$#UZ0V88HC$L> )M$1=^!Z6$S MIB]E-+@2?3>%C.!/&Q& M["7V'N\D%QOC;:-ZH^5T[QZZENKT2[<&G)R7WG#:6[TCZ2$B(ZI[^E9XKX0N M4D$GP^88Z!\F.;\-,C2X"[V*[5\$[<\N-5G/-X0S*B8D(S JR;1(@@7 P*0O MAG-E,;19"S?@>>"'W'UHH8$]O@[697+'U5SK K#E$?:]"(]S:-V+/CMP9']E M-#@OO!^HEED$A,"<]C7%AWQ-[^M]NTHN.X$>V\1]'XDM]QP['XU#N*;?=ZSMM?E@+&7:H\J24#,DZ;Z,D&]9@!)V5<9GE^60>I)UAQ>UT,.VXUNMQ*5UX19$ 5I2 M@@WD3H9HN2G7;8"'LQKO>3&]V2Q6&-"VU'X& M(,BN=5!8<)$S++QXLFTCQB8^X5ZH]^Z_ 9]JC=S+W&YZV[(?]^=7Y9?)HDW, MLXOIM/8,^8)R)@;1\UH13;+DS:(NAEIDD3$>:AY9"BBA2=S-3F@/;\W M6G8T5V>3^)WMQ75YXED0)/<2F2ZE,$V&"(E*!G*,LK$^"223\52F[$$C](_' MP,,H\U0B^9>C>DZ6[-EE7:+%P5DD[UPEGEBT'F@\/C)(VK'D()+1ED"K)NT7 MU\,YUM7%@:@PZ5TE#8ZD;Z-:GNATP=7R_F(3L.-<6_2AO'OYL(?D#\D,<,)E MHS*3.BBFI3<,M%2,9H#-@(5 MIQK,)7U"-$[[M-Y Z?KFOGR>+V8W!^*A%#09E2:KQ^K$O*-OL\9B2I$EM&E[ MN09+?R[=(D#E]TDE!8R>G$\NQO-!CNB45L!O2@L\UIDU1C/0"C%P!$6:6@=YVU2 MM[[&<7B'O&]=;R_.$W>>.8U<2A&9$2714(1AU>UC(1CN2J;%VS1)$#U5YWD' M!7=SB;<1]"$=GRZX'KU+O)7RNGI NTC^D,Q(2FO'!=0$C5J#!@2+#@L#*R1F M]#[[1^L2-R'$-@(_E$LLR=7C2;,@D!9"X2L!5/(K"\*=&K"@=-VB;=2 M5!>7> LI]V@MSJ;SP=45U8+5QJ68><@,G:^%VA+M>%)H1CZ=M"9XV@R['(#0 M3:0M<___%FH$5!E+PP)4NN.;6"!<4MTU(& M=!Q$YFM*I>ZK6WKSX7;C_G2PJM1M!=AG?/T5AO_S^K\'P*V647EFC4SU%M:Q M$#/9EC4>5W-,6:TQLO95(KWY(2AQ6P&VF(F__=?O ^VB%YF@BZ1H$" X \4E MJ^?@2:4DHEEC.^VK1'KS0U#BM@)L83?]^O0U&8#"B4+.G!!.,:U38K5""I/& MPX)B"M>$..VK1'KS0U#BM@+LL1;(-8;_^..70=&83=*!25'C69(AORHJ0:YZ M"CQ*33A4_TJD-S\$)6XKP!X+=5QC^/_>_&/@ +-"9VDW]JH6M'4LF MF)RXA36="/95(KWY(2AQ6P'V66;C"L.[?SP?2-I[0?G"BJWMJA0'%E+13&A( M,A8TRJ\IW;2O$NG-#T&)VPJPQVH1UQB>/7D^<$$J9^H@K*H5*SQAR."9IX4! MP!AK10/WD=[\$)2XK0![K#1_C>'MK\\'/#A>:NB.REG7%@R"1<61.:U]RN3K MA+*FP="^2J0W/P0E;BO VTKTAXE:NBI?,BEK?SP?;]\B7UXVZA0M:$<2 C+P MM=.*Q6(+(T\M.*EDYXR\'21_2&9D MKHS06C,I%Y7/:"8 2LV21<=M=N#U@=)Z3R_\L DAMA'X@<(/+4\JFB(8D,7/ M:J%Y^LH:QF6,7(-TR36)3C_M\,.M%-4A_' ;*3?PL];MF0N6.W1!:E\;@CI) MN PA#)%(7ZQ)'N@_M^8BKX>ZH1L ?;$]B$PX[XBQ06Z23ML=XA%*Z?:DV,E!M-)WF>0G*4TO\!KF55\%(38\OU$! MB"ZC62V[;**7SKE84.M@A+=)%Q&%B"9*+]2&@@_WCZN'.I]K/OR5F/IR,FM0 M!+3#RUI5"-UVG*NUA%$)+6W@425=)YK B#Z1.^@]#VIC^= .KVU0I/#J%5^. M^B$)D4JHM?)J1S$,B4'1B8P1)8/BCOYLOKYQ9C6&+R.'EEWDO#E86^&LS^7YP;%I6*5)X8(PW22A<5:(2S1AJ]S MX-GH)DTY#S?$HQ8/;479UO/7>0_"&949RH^1FUM$0 ,B$ 6=2A MD!U1LV^R!O 'BJTXP5O/%H381N 'NO7,"BT9BYX%HPKM]1H89!69U8 A2"5S M:A(9=MJWGELIJL.MYS92;F"L;]@D%T277D#,$9BLWH/6P3'RT!5+(3HOP5A$ MWX( =V#Z;G_<:7_TI# M+,"3+46Q7",%M" O-,;:QUI'+E(L7D&3 [$^4X)-E&_@W(\09G2 ]\ M_V2E"=+5IKT$IR#G&))A4=8AYX)DR7')3,B!/D>0L8FCJA\20 M_L1_B$O6-T3B\07]>OW!XEF[W-"M>5V_W(5MMR6=TD"!MK.TCHSSW3M';GQ6 _EUZ!FI,Q=.@$==K,XB1I&%,SZIZ*0K(-9( M<;^&D;>?M_SD^7 &9V=3/*NN8_S\*T[.IO#A_><][I%W?E<#7>PRRM6NP<$8 M<%Y$M*&V](P1B?1(6PPY4RJM8WS'M^YY'?;EZ?3*5V7YTB]W*M8)ZT(6+/DB MF#;>,U_(+95&.9>,2:F-J7(?L/W-M,7S?J'-YBH*^!_#^?MG%[,Y[373GS^E MT45>1F#0?_D=?!IH7W@,O$9,"<^T-8IY4(99TB,4KIU-32S['; >X7*Y3R;= MMN3::JO%1?-Z>2R/43(&*%XR:ZO-DD&098%DN$A:SXU*CILV!0#N '6PR]R6 M1.E-ZL>^>*VE6:\MWJM%?YA@M/">L78,(@N4%2LDB<@5$E$*3/-,1JG7NH@N MAY^=BE!O1'&TX\[>=#SI6]8]GB$#^$^UC/#%;@X%UK7L6C93,68W:<(TQ= G .$7]WU&S^I#JWT;" M/:O]"9DVA.3J."*CR0'!LJQJBTD5)//9.)9$ /HODN"[I-UTTO77KSZ<-=FC M+B:]"++G5A(_7TPG'Z[.'FO32%0)F(J)#!U5"H-@ W.!YZBD<$YA7PJ]^>)O M79T["['/NM:UA=WT\^#9[P-(7I8$GOA3&T1;5>OF<;Z#;6MFYZ9+[^6.WU=)(OTGP&X_P6 MIQ^'"?=)@NGAK0<[QNPZ\I4#S92LR$J0/85&>VU#)KIX)93U1GIC.Q]HWO'^ M_0Y@?A[/A_//_QAF?#$ND^DYW,!0#Y)^I@%-QS"Z.D3Z<@ AC"4[LM16"='4 M10D8>)M8R$GJ9()PO,FUV\Z(CW$8&A*7UI"0HB(?6V<>:>6FA1R2X0*Y1AZ&.[U<4JZC1H;G))>U6Q]5;85V>SI]=+QY,O2<7D(),F<-V3CUSH= M-0@VU"@U8I.35J)"#C8U.5YM,II#GA[/')\ IG/0N!_)JNAS&91D)0\Z, M-YP9Y))I3FYJX":PHE642<<2^^LTN [ L9X#D! M&E'\:I?##8<6][[JL*<7/>ECTDR8O9?*^?!A-+R,<'S[ =.P#-/5_O9V,KI8 MI'!S9%>OF>Q79V?UD#S>TTSEN-7V(I+@2MLM5&.+ Y M%T$/H@E(4\ZM4>(.(]Y/G\^QX)0>O_S)DS0??B0OI5 MNRCF[@?NK84M\*[6%?,*DTO)1^,TR!2\SY8'GH2&'# ,.B/O3;Z[A]5W>6Q; M67<(MD\R\)"DCT4EG77QEEP*+X3R*9,]>(_$]XN[O_/1>ZP[G9[;5O)=UI=8 M@K1:**<$[>S>1HW@E=%)15""P]VB[^U[F.*M5SR93F%\MC@&?/KYRZ^\ MAL_UHR=_D8_QY90T.1UL^@%&#.J%A0TG[DFE2ZZ',0WYE]* ;T??)(V^APN@!_B8;F7-UN7WU8 M?#2"\4"",)HGR6RIM8@50.T;"ZQX,,;HD&7B]YDBW5[U:%C40/(-JJ;L+)S+ M(/ 8AL,K>UL)'-M:-/+6P$ MA2%RS,EZSO-I;?>[C?/1L/Q;X-'&(,5=+W(6!DN'P#9,E^/*4@1ALF-!I!J'83(M!U:R5&P"HTJ6UG6[ FH'\M&0^Z2T?9O% M>G\6[S%CJWV#^5D$_+@^M; H]F'IV"&.@D!.=%L1"*K$E]@8'+ MAA503ML:(-"F[-ZA!OA]"IT"Z,^3KI6+@8N(J&))^L)&4(0T+SA@F M5;;.@["V3=N^0PWP^PPY!>;"8:)P$Q#!EE(Z>1#=WO=HN-9*![=I$O8[ MII[-A^.BU,'TM>8^9+_XW&V0/QF-?I^, M;^%/.@J#43%I4LV2AL""5(Z):&11WHN@N\5J[X_E.^L:ZFX-]_:[C'LQ3E,D MN;P8KXMTN,=?+KL94Y?7'VVQ/B5^,;Y M*8Y)>_/96ZQ7&N.$2]G-!AZ=SHL&';S>9"1/7E]6R+C.V6-6*N8VIS=N^%_^@8? 2MKR'OSK=,&^V86V-8-5.J.3Y[!A^&9*;73Y^Y_^]K!(>J\W7L2\NC:/P4BGR] MJ>-:U*:!6$(*9(L[$P59,IFS6G"$OM(*4,7HQ)J*P;N5Z;E^Z_'+>1U4X9-] M!=]ST:8%B*NF@QU@]%VIZ\;[#U^;:T<-K.IP#_$UU&9PW(J<'>->>S+MI&#$ MTUC[2-(RJ:2!T.5DY#2T>$>9K7Z5N(W4>E;>;R2I\XOS)1 RRH5%Y5GQUI() M)&A;XX1+9!6R<#8*WL5PZ*2^K]Y\V%)*.\M^TH?@>FZC\!M\N@%$(T1KK&12 M2E/[='(6LS*,8R0_*R0.HX+!O794Q;6%[]Q\+N,*C#FG,]<&7;,-9#*;K!$M=D;"&&>DTHF*A!;]IJ MQT(2DBGGHZD].ZQNTI_@VR'O!BOV&^'N-OIMP-GK\\4OU0:6]H($GA*9'BPY M)(N/C#P&R#-M-9$3+!VL;7+&MA'1"1[\-E?XION)O;35H ;.:YPNBFJ.ET?4 M5U55A4E9H3,LH Y,:UFS0I-B)B1+L%));9HS;,#SG4*]:*K!.O0&9_/I,-48 MA\KM/T@OLS=O_[@"I[DE4UM M-? IKL:YV/>ED=9+6XN"F<1TB>0^1Q-9D09- G*81!,SZB:(Q^UO[JR.'JNR MK&)93H$N:%HZBJ?@XNVNG@UZWD.V#?:7%52@K>2N9(:Q'H:Y3*@DU&0V!4Y' M[D1I$EYV OY0*T5O(]*^Z];]BF.W"R=UT/%]KW? MV;:J\M:C7BW#GS%&4#(&GK1&&V+6087LC"^2YWQWQ>4MQ]^;KE=JH3R9S2[. M+[/Y_J!_,!PO,ZN&X[/KZBBSKT!>IKUC;D6,W@&V95%;>:Y6M+?>:VE-+%!T M2#YP:X0VD1O(%AV_FW(M)=O?6G3G#Z_;6*QSH)HM5?M#:KR2]2RS%=8Y6MQ* M!$PQ"&W!15]01 P)C0REB'L6NOW!';\JO?$<2W;,VU28-L*R4&H\!UEZ&16W MQ9U63=671Z]*?V_UE.N,L#>3T>B7R;3^HX'P*F=A-,NJ-DG5#EDPVK#D(9$M MQDW(WUCUG77#/,$#L'[GP.%J\.S-HE.J:]]]M)>U9@961YF#LLSQ>O:,RC'( MAGP7-,"+1B_T-U8R<66$W]!,.0!5#S^K=N#9,>(#^BKAQ3D/Y--YEEP]ID5( M+(!23!7DV0'2H/.W-9^^V>)O#VDZ[<&R4VI(L&W)2!Y<""J2G2!,58:N9Z3< MLZQEJ9&93H;3LIH?;K'1AS2;]F!9@QNQ=N-8-]Z!\2#D>)TZTC0]UDJJXMT#[S1D4!49K3&8(6C.=96( I#5MM""[JLB2 MW3>JL&WD\ VME-_,(5(S'GY33G%W<0R4 YET\$R!$TRK8AED&9DR*KNBP%O? M)!SD% ;_#4W 4Y@!)SB;MZ+O-S6%M^U_(CB/25F2@01=C2!-2S(FLD^MT"JJ MB-^:J_YP>^\\JLGY?)ISN1F%O\T3Q?ME(+UP(*QA'&J!2\&>9ON!&=BF&6BS0FUHJG)RU %HPL+X )U.?ZR;';H^AX,96 MBM^NX,866CM^MNYUSE2GSDO+'CCT54VR6E/OOEG:7".;4>RQ<_TJ/C@@?)O'>9-A]; MJ^UX8!R4X<8KJV.7:O!;+ZP]C^- ?XHGV(3LF&W=L2K:-"ELDL5V[W/W([M+]MH$6-Z,2.5"&Y.9UJ(TJ W.Z M) D6,+:IC=AD-([DV1V8CG]T=S3"3-HHKH%ON0':TO_I J[EZ=R= MZ(YSS-:;+KMQ9 ]%')PM25OAC;0LV*R8+K7Y0>U=(+DMR4:9DFRRU1Z!)?>< M9QV')-O(OP$YZF+YJOPZF2Q[B"]/.ASYE4EJS@ROG<(M%!:,K/%Q.ND 4B1L MDCRQ'L[A'8$>=3;I7> -S/@W.$-ZX/LGX_P^EC+"$JJ.T-T; @ M%;_LNNEYK8--N'6.)H74JDCP?=@>$D'Z5D7?M2#?XH@^/UN6-2243_(YB7LV MGY($/EXA%$Z!,=HQ*4/M9Z2)S[D>FOIB,2;'95QIS+NA*&2GUST$_3<2[L;H MY;[/H=_@APNB+5GJKZ>3LRF<[WQ2?/M)_9SEWH-PY;05BC")8\@)I"Z>9"LD MKSIO7@2J/1O!;/:JO)LBS"ZFGQ-^;/]_>]?6VT:NI-_WOQ#@_?*R0"878("=R2 S@X-]$HID,?'" MDR8A2RU*XB*G M 00YT^6 ,W#@>'&VN-W6">T#5J&11@6VB^',<)[I"*:8=%'2 MJV$#\TY [;5"WU=0,+6I"O(BM(LGTE!UM+CL\PS"[5*:73315D1&5,=O%I$,.@VYS?W8EY#]7'0Y7AF';#&#?>4=4[^[+H"!3"JRJVSUQZ7"F2\9 MF>-%6D5B -_DUL63B";+.6C,B7%$_KWD FP6O4.[O0:82+\8T,CJR(M,>^=( M2)!9T#JGI!QHVZZR1B>D8WJ?U@@PYR86_:UY,VZVBY9'I6B!#2T#F)?W7>XW%>I#2[!UZGG"O MO/RL,]TA&44QBW92'=L5>P#OMQHRK@J[#Q'JD"/0^=O42S \"A8LK^5D35 ^ MU$;LZC25[SWI8A4^1*)/ON,C!EW_@J]X4F!P^XN# X =S]\+] 5Z P)**!"$ M=LI$"%RA\]%)--[HV0&28^:_C>C(BJ.CB 4IS3 M0EEPP7 AJ_],0$A^]BS"$^55,V;GZ>KZ:G>_IUYSJS?>8(VK=YBW[2IA?4,+ MT.WKQ?+?BR7]A'[S _VS7M0\7)C?KMZ6@K43X=U/%LO[1] K].6J[M8#XM=G MQ3LF"\XL[?WHNT0O+1H0-NB8(F198DS&2^'II)YFWXO<3^3V.(QKP8,^VC%. M96U,HI4@ZB0L *T#M'%!=JIXKF8=XXV1'4P#OE[,:T]'G*?;;WPWUD?)BV(I MR+BM@P'.T1Y(;$G*>FEL$\?6LZB&GJ/N"7G_E$K+QV1_M=XG^*,/SZ*2'G-- MU:1C!%D#*K+H'=9252)&CJFD)AWH1L!^KF2Y,3BV?RJ;6I4-4F_[3.'=8HE7 M'^>//O'FBGYQB210N)YY1:M8KE?1BY%81(G,A!2%BMQ%G[J0F7)&9^O47G),:UW_@,M&<9D))F8SR3*=:$837WCMD?#"; MHTLR \^I22&UT6?RLU&UG9H;I)WTF=#K3[6RR*_SMW.H13[NM@!I#"^E9BLX MI'U !$UO7.3,FZ2#M<7:T";C\V3(/QL31U#I+0L\%R9 *\]!\2#Z^60'P;@$&DVLC 9I*/>8WWZ% MSU?S#5CZ7HV XAO<_OLK'3LATE36M^](J'\LKQ;+_T98SE+64E9I99L3T[$D MYJ4'YD7RR8!R632I>#($]"70;G+EC9C1LGEE#D&NR01=K6M%+9S#]?H*5S-; M(H$(P!(G>6B+AJS2J%FA]X,7%,7TC"/T>=HET**-: ]U;P?I_H&.B^7?\X3+ M-4FK.N06JXW$5S-MK-%1NHI.D3''Z]R)GB(:G>D'TOC82_$O/NIBM#ZN4 ]5 M[H;N,R\"_)UVRYME/8<2.]&"\H7%HC(=0I-D$ BJTBD%\)RK-MO*$1@O@3BM M57/((C]HX?A[OKPOM[*&KW%[ EQ]6OPSAQ4=%O--JG#7B_D]7E(,TA?UX[!: MX7HUR]$4I\EJ-SP4IJ$&S27)C98_)U1V(G#HM;:,@>826'0>U1QR*PQ=H;Z= MPX.#8?40,+K;/6DGO=]44UK>8)ZI:JPKY0EP;>R$V=4N;9DE65#K4H2S3=H> M#\!\"=R;6G4='L]AN32_D= _WWQ^L-6^L>@W11?>W.!?BP]XO?UIK<^P_$+V MF^ J<^2%>3 U;A \"Z98)FD55EQ&(93HM8J=". 2R#.9 CI8,RSM[C?X>A)H MI:75BDQ 7@FN0=/F700M*D#325'&X/KY?4X$<#FLF4 !':PYV4V] 4WH;NG< MOUH0PO4"'SP&\7:S)M(2^0&_X/SFKOS=K"A7@LB*":RW)RI<+Z1G7-N$QM/? MI=\Y[.A'7PQ3V@J]@R/#_,I=#J7J+%K]/:?AO_GFIL?26Y+4QIV01/ >?2W2 MJ6L(ACOF708FC1%.&IXQV%Y$.>WY%\.6"<3?09F3?G.U MHB5SO973G0?<@HF?TQ\J<4U9M6J,]B6BJ"X\3Q!$&"?M[ MN>KX39#MW6+Y._Y#1[U:(Z#>Z%TNYO1EVC;XV);7A&03YYGQ"$B+I^(L<#2U M0HEW4+@1I@F=CD)YK@N1(Q%CO[Q\,P4U2$FJC5[>EU=YL6DF>5\$\65,+>]& M=H$Z4Q>Q=KI<-%+$5"01+D1)JW+-1*I!-BU8 *-9M@YXR<*$-H7,IB/'2UVZ MSLN-8^3?K/8UK9V[JC7KV\TT$3 925LTV'I+C+9E%J++K,00L\P$"DM3\^41 MG,O:6$80>8/DP$-4NPN#?7"UKY9_".R]%/@R0_"1+Q Y?+,*YX@RS M+H9:Q!>W199=!&X31)FPR8WZ:1G1JRC^-(0X1N -B+#+RW]==\?E[5U=]I(J M&L5HNR),O%CF->K:\H_^HVQVIDE!NBXP9_2,#%+58F0Y-[B$0]/"U?HJ/08E ME<>B569!3HR49"V60!>!K2I9N+)XF^037);F1W%?Y[8)O6;#QW M*_.Q%-F+'P.T,-GRL<-87P RD 3#VDM/ZY!I9Z.ULQZSHW<2(#6I(#D]0XXV M)=L3Y!CA-VD"O@DKOUY\_GRUJD+"Y>K7)5[#/.\VON2E\;5II]DX7(*J/5T( M)4BC;/%*Q]+$$_$BLN_!W#A5D0<==<;40HLFJNO-M:2'3B^UK2$)8G?S[6H. M=Y[6XJ)7@M/;46]89E6]:8E@2Z>#BYF&;E2]N!_ "R)-$YU,41?J7W2X^K3& M_.H++N$C[HI+/P+0KQQ*]T"#*Z+TP+??]URJ8,%PSJ714B1O4DXV6=0I21OT M[$6D@^5W>H6IYX9K(\L>5:>R]Y"#=UP&H;U(T8=:M"Z)I+6V.G1+=%C]J7:\-I+M55_)@#YT M#?+\(6C!1 BF7NJCHW ->D6=31 J1M.F<_DHZ,]4RW$ZQAXD04RN\P;6 MX]Z"LNW^\Z;."G=M%M[?K%=KLG9K]X[[G(.85>6U2ION_D_J+\5D\)<.M61(UDCD3+@MBX@FLM5V=I M2C0YC\$G4$T:SHXV@ZF2$L],U/-H_+O)=!RVA_QRVSW -AW'20Q!T7[BM69: M2,E\3(XAR<'F8&W@_CNT)IZ;T[FB%VJ\QRTDR(Z3WC(_O'TDM)1G 4RS%F K(P0(M#;?#ET>RD; M]$=EVS%:;%$3\_._KQ>WB)MN1.^_37!%[63.Q3%E4B)@"NGPAYXIS4OM )%P MOX[;2*4#GT(T_3EI7.7M%P<<1?(-CMT?<+5>7J5-072"M@,5M84LT,=N?(\\:"K@]TE*P&[O>G]GWUV?SL$4, %,!&3K1'N\_O;.]U;]+BK](QSZX_EXMUB^1EF)"1A7";*+C%ED9HWD,C-,YU<168S)-1.G" MO,B:Y$@BY9B#Q"9NG)_1D3F$KN?1^+B.S!$MF8V]=9/6FS[,KVFV'T]+@>@< M9[#5\3*Z_Y0/"1A]0MS6$9)%TC_@[+FISU!0?8S[W&;2+GY]'O M2=SJ4IPNL=ALM$;P3@@P)09?'#$X=4K\N7D,E?V?-Y\_P_)V9,GOC=I$[L\A MWY.Z*"9Z&8K"0ESW!8!'[>F8Z9RE+:5T2GUO_!$<#?[PH MCJYVW"B9MKUL-9V"@V(R.XT>D([;36*E?<"-XFFY>\9F?#K;U9UYM:ZEWM+N M:S&SHM#NJB*C5LJ63HV[G?.D!<'K[?W3N=/IDQM9-*V_= MWELZ \Q<%\C,875&*9UKT+LP*X3STEMG99/0P-.&QN5RXQ29-\U.>8:Y6SME M)@%MB$$SY(4HJY1AD( SHT C2NF#;'(WXPB,4QW,FG.EE5Z^ERR19P2X"9Y9 M8S%@-$Q9I-GP[!(U3"W-2AH] KF+ MH_0!UK[X50>R\V11C*K'SKI&8REA4I84SI%G(>J->L7HS"@9"%-8S_$ODM!?N+RK5WM7D?\N;JJ238E0631((!/2 M;NTXRY9.N=JIDF,3I_1+P*8WA$?2X:*A AJ76 ^1L> 6PE /PO0Y [+DX@NA1+CB+S%8E%+63^:[0Z71EF4)),>E K5 MMLJT- :@*4?.7?8)]KN C;1(/ 'H4I@PBL"?+)/7. ;TJE:UOEK?7LT?_72W MI8[L#N[WL"9>XA/FN><\IKE%Y+J&183F7FW:=Y,*2RQT4 ;5Z2+I]]@)?,I6 MR6A 6Z90;=/;63">,Q$BH<>,.C9Y^2?W*>\&_["XOGZW6-8H[BSHJ*U,D05! MEJ &D5BTMC!>I%,@1'3[+P0=JHK7C> =OYF4,-F;! MK'*$R17!Z#<#XV"D%,58>MNG8L>9*3%48SW8<)2XFU3QZ?!C^^RTS=58PUBS MC['6%D''"*ND35PD6M]_DMA!2PJ<(NX&Y8-W&3ZUA/8C>+.DI2OUHB0Z('M- MZ\!"R(Z1#6>+R4$XWR3D^!2@RZ+"*&)O4!JP:\Y_XGI]C?E?5^M/BYOU:UA] MDK/,54TZ(M8"UJ9 ,=/<169&F6B4#\ZD)GTM>N*[++*T4,HA=TYNU/0/PJL754?F M ]D)@ANT+J# U&3>/VJ0?LA1K95>?I0@?>1 +Y-*3$"JN2MT!(G%:J; 1.6Y MUEDW:29S"4'Z8^AP9)#^&+5,&G[M ^S_@_2GZ;%W'/84)4S*$@T!. ^)HF@LF!29$G+IBR,IN^8 MYT'Q&(+W^TU]?[X@_5$Z/#9(?XP")@W2!YDA^X)UFH+I' J+]"XPP(0Q&Y%, M&\?3#Q&D'T*)<40^:9#>H)!H ^,IUZ71;S)PB:@\!%5B"4HUH<*/$*0?M#B, M(? I@O1_WL05_N\-G8#>?JGNTE-B[P=C# ZI/X]J+U*N9;99+YP]AV^(K :D*SPUU.B2ZY-JH$L6)6B=T!GM5*HIT%9H&90+()0\ M$.!()3 >C_K@9S ">1#),S+-/--1 HM.*Q:#+;6CDU8V-/'+/ %H<(>PJR]7 MF01>>]])(XS*K/86H"4E.1:-X8$&8,:/6<^*L<<%C(WDDK%M"GATXWG;-[ P7I^@3BG MR+O%#<)#6'<5,7L :^GN>Q+9>=Q]H^CO94X,$/ZD[,!$IT?TEAD(FFD3!(LV M2>9Y\9+,M6+M5,O$&=U\TY+B&)FW)\-=W4 \. #.Y5__U[>'"7A2LW)<3/_M3^C/T9^ MFHI"CJ=W__:GGV[?0?*G__7O__1/__I_0/A?K[Z\!V\*L7A0TSEX/5-LKB3X M?3R_![](5?X&]*QX +\4L]_&3PS"?Z]>>ET\/L_&=_=S$$=QM/O;V5^B&$W?V%(ZX%2R.84FT>HXI#FI$4*I&D+"89 MCC2N&IV,I[_]Q?[!6:F 46Y:5O_\MS_=S^>/?_GAA]]___W/W_AL\N=B=O=# M'$7)#\NG_]0\_FWO^=^3ZFE$*?VA^NWJT7)\Z$'3+/KAOSZ\_RKNU0.#XVDY M9U-A.RC'?RFK'[XO!)M7F)^5"QQ]POX++A^#]D<0Q3!!?_Y6RC_]^S\!4,,Q M*R;JB]+ _O>G+S='NZ0_V"=^F*H[.[*?U6QI^ M#"7C*4P_!A/WUO"#ZE[@C6XN%KG^H-Y.95_?[JJKBT7O7N)0GT4Q9Y,>/HMU M-QLB3^P/WIN_-=W8ADZ0:=5/0]T;HJIO%33LN+OZ]F,3>^471)?/:\?^[8^N?V_5[/:>33\]VB;*'TT3\_)F6G]((Y(G:8:U@)Q(!K&@")*$ M$\@RFF>YCK)$QJ/Y:JZ,U!3^]'6I5B7[RPC^)X^1F!]AE)DJB\5,K-?BA\FA M!=:LK78U)C],V8,J'UGS@M'>FBTU(/]>265^F!N] <- %>@ MA@"83Z4&X>B74H@M;2?6CBMFN\-6B!<;MBV^K89,LY)7F#]V7@]6P+-9N+,I]@\\8,HC)7].(=;7Z7=E;SLB,R+ MEYW(]9=J0/H3*&92SBO$>;38F[W/78K>3.=S\PN:"Q^9I.%&IE= M&Z8ZS6&2<0XQCU)((X)A*KG*-*528-7+"G=.TJ$M:1N"7EFNDL5DPF9E3\O: MV7'M>!T+.5K#7[A62]/6H*\T!I7* UBF7$=E$.O266'_& N1*^;!5A[G#MLM M-=4Z]K&8%H]J9D2RK8OB0;W]9F54(QUI1A1C4/%80"Q5 DG,$-2$Z8RB",=< M^ZP7I[L;'.E7YNJX$A%\IVHA/;5;(A9C_ MPJPU-G]^/V9\/#';_5O[J=RJ;_-71JG?1D0RBC03EK02B)'@D".$8)30*,T) MEC$C7GMG3P&&1F.O[ZWM6IW<+24'G_AD?%>9MKY;8]_1<-SQ=HAQUQO91G1+ M8(WP:YQ7XH-?*P6 U0!4*@3DL;;H!=UP^LK0[SZR)4)[V\.V[?AQGUC,S*(G MGD=__>G=2&612!3',,%(0ZRPX;/4T!N2"F,BS&9/.]UV;38Z-([ZZV)ZQV;/ M5^!=8?;,QU^NNBG']^W['2L# 8RVPY^%-T(%T MLUA>:G@Z9J0MM0";2M H!JQF9J=6Z5;9.DOMP%H]>_K>*&BW;E9%T.@8SMKI M OF0EE!0^7JUDKI =M>"ZJ2/=O1_,WTRPE37Q#?3-XK/C3A[%\BO67EO?F[_ M8W_WQ";VIS]-9XI-QO^C9*5"_=AE]-W6DJ&-:<=K MS(:Z]E#"*EP-Y;XC4C/H]I?[H[]6O5FGFG]4VM='BZK\WFR\N]AR]SED(1>G M7N3N=='J^^[91^FL*]7/1G6[,M>N5+\H&\-BM'E2,W:G*C\KNU2_ M8^-9[?NBI19$V*6/101B$5/(N-D@,1XC8K9'W/QN&%Z[GIH-;;FLQ:^\>AOW M)[NMJCU\!^/@Z_OU=.PY]9+?Q/ ]K1Q=A)L/;^4B? 66.($&J-J+N-X86JP& MXZ/5U?@/PJ MK70?E-V>CY30+,V5ABHGU"SC40P),@LZH;&65.%$"Z]S3J=>A[;$WDSA8RTU MF"MQ/RTFQ=U8>>] 7?!VW4(&1K'S/2!H! 9+B:M=W(;,X-=:ZJ"[-@^4PFZ[ M7#KN>=_D@<7^QL?G9<_+SV(QG<^>1Z\_CC(5B1BK'&IF#\]PK"#-T]P8*3PC MNWG/4_]BXYUPWV<\6YI\#J@G/_-Y=Z3ITX="\KAX613FD<:4P@ MY5I!''$)*=4&'4FS**$9RSEKYS1UMN^A3%Q\W:>" MHMVCY]2E0%_@,^4,63?N4N>[?R%/*6=-B7KZW%DC2 MV,V(X#3/90)CE600(\(AT5A $6L5$4ZBA"0^C':BKZ$QV/IDQ5[(6VFO0"4O M2/R8ZA2^;LP4"+6.F>@$8!WL0APP"4DUI[KKE5H<]-ZE$I=76AI'\T+\]D4] MFD_HWI[+O*DXJLFR5.7"&&%.$Z'2&,:8Y1 30B&5BD&-*2"O"'GP4=2)$0D M(X2R&.:0)I MJ@F4POQOA)*4DGCTI&:\<#9)PX#?,-)FU_]PX#M:G4$![=K8K$#;D!;4XJZN M*FJ) QJ8SN@$M2O/]]JO.>F,PIX5Z?YFNQ5@YSB]]CY[Q,)R'_/R(FF&9H#N M7?LU;J.5/LU,V\S: -8J7=ES85!IY4=KEPVG&^/U-D@=DV''X^/-E4%P#4FC MEPG4*\,&P6Z7?,,T>D&JB]=5E,?\NBS5O%S>/'+-THAJF-$TLH%0R!B'9EL? M:17'.DUB\WOO)!<'.AH:F]:N%HV@H):T17*+0Y"ZT5X(H#IFM$,8=;!U/X=$ M\"06A_KJ/WW%"8T/)JXX]7S+D[[Q=#Q7[\=/UAW",,_=F$]4W?Z[Q7PQ4]D@9 ;N\4-42;[7C[C=FO/YEVGYK^ M1CJB6:HR":FT+AU,YY B+& L-!:YT#)7D0\7[W8P-'Y=RP>8%="/%??@4QII MIE,,I90$XH@02 23,$XC'.-4IC@EH_DJ'WBW\!W);AX2/IL9B#U8CPA[ ,IJ MN^[1]*!LYNH+P71;-BZ!J..E8./CNC[Y<7D3^#&E0Y+R7A^]$NTQ#7?)\^AS M[0AQ)V_(&[,B3XK28R\/V_-= M#HTT+\]3Y "SV^P/"U['?+"7?V@M;D=QD.[PA&0.AUY[Y1)W%';9Q>--/[XI M9_/1%QN T)ST9+F,,$YR*+3@9@_,J2$5D<&8<*4$BH7(G [/=MH=&G-\G1NV M*.=CN\WYH)A%LO8E?U,\L/'4<5.Z"]YIJK@ DLXO/5NBX7]S>_/V*[C^^ 9\ M_>OUE[=__?3^S=LO7__/?R8QRO]O\/8_?[JY_9N?E> \$&ZV0A?P=LP0&R)O MYF#HXDS(%YV0!H-SW[V:#;Z([!H/WN_WG$+@_7BJ;N;JH1RE(L>*DPA29?8U M&*<1)*GD,+9!@TF&8IS[Y62]6*2A4=S%4=K@5ZL;J)3S#4BX?(#="++?8>O: MN.IGQ/J+@=\#>1#!ZVNI_AA1YWLH!@L7WV\Y0-I+&XM116:4:O:DUA.:Q((E M5$C(HTQ#G"@!J1 Q3(G@G#.D<)RU3F=YI-.A2X5AF?D5)SO0W-#Y:BKLL=31G MWWQS3IQ#V/5*+!ANG=^0-9 U%4>,K&!#V,I;(N2MF1,N82_13G?9\YV:D_[[ M5VQNKUWJ@K"1:<=PUU^5O+/^J\+\JNKJT"61RO,DBD4$N0V.QS0R9I!FAH!$ M)@EGE"N_8B*7"#,\.EK=/F\HT_9.OL7@^-[?=PMY?W?]FWG8K/74: +6JG1_ M\1<"U6Z<"5K(\T*.!^V1.^ZD<$&;?O0JU7C4^/G6;H76J_#M5-J,9*,\R7*2 MI AJ.UJ8\!P21-$N)WWG>ID:'2X=#[?=+)\:U-:&5G=2/$DI*?) M+A10'9-8*XR@9EG, 2S>;YD*$.I[E:W"VZCP&#,,YKG[0")P#W?0;?'-W\HI?DLRL]%:2;4_S-^?%U(-:(D1PEC"=1,2;,C0ADD,94PIP3A M5" =)4YY=4YW,[3%O984-*)>@5I88*0%5ESW]?T$LN=7^#!X=3S[VT+EM<5W%SL'9Z^V%6I,2A&<202@K6$/$5FM5=*0(*-;<\3BLU? M4L6RS&>UW^]B:(O]K>T#B,9VG:SE;>UMM,32;;6_#*&.I_O6:6HC7B=.0SNJ M=^0>M.SEI1R!=K0\X?*S^V3+> 0UTS9HW\A9A_8W+J^89)$@@D"1X1AB:5.# MLI3"/$F0VP?9'^AG:.K\AYKF,0%YPNDWT "!U/-OW\>D@ROX,#$$C M"8YTU6_XP&E]]V(&SCS>-C!)/;*Q7(9_3F45R5_'/"V7JYQ@SAEGD$8R,:3 M!&042RB9(C'6F92>I'"^S\$11"TR4+7,]0%\466?6!H(K$6&#A?T'3DD+*9= M\TD#9R-NA6:=RV,9SA[PY: K%PB.S[XW?XY0$T(7YAJ>K>O5:0= M93&I:T$X-]1/J0A?O5:5)+Q?'%J-R8]%56%3.10(E)HK(K6&F&<"XBPGD,4D MAUDJ4(ISBG.M1X]U^M YF\W=+-0AJ.8SJW<5[&YBK^0W]J[-S6&^KVH; A)T M!>RAZL +4'I\6E0E0F@J("&Y,M^7)I#CA$,A%,HBC'!F3(T:^;=3UU3@ U#, M_\-:JM??9_6A*@T64_M-Q=$_SC?EMID;@J@#,M/Z*V6Z@N/['QQ%81>E?,OK*)^JJ$S6AHO1P5GZ__901J MCN9&A&@1(YW#F"?4&(DXADS1&,I,1"+35"*_XJ7^(@SM%.%],;V#IJ,'LR]; M%;/W6T];C(/;ZM;V*.TRZ04MM;RIJ=FX-/VMZV-\TJ^KZC!5%HA1ED=("<-SBL<$XI09GLMR M#JF,TCC&),H)\2M==+Y3I[DWD-)%GI]ESO?:[[6,,PI[MS+N;[8TN*H+GE52I%QRAJ3B4*LHAE@) M"FG.-6241:E.>,)BK]O@[>:'9BA=?_WZ]O:KIV6T#9BCU=,:AHX)85E5H8/< M4(=U#FJ/;/?0KZUQ4+L].^+P4ST?R5=__&PV JMB6V@4R<3LE% ,%94:8A$1 MR#F*H$ :(:TDS9E7*=60P@V-)AKI0'U>6JV==;V^HMH=@T?SM.?^*NA8=GSN M>.$(#?_\L,[UWK,1S[_1-MCOZ[V: M3"QOL>GS*!%YAC*6P(B:/[ -]^,1DC##%,D\BK!(L%^0WV;S0^.%)F*M$A$T M,OI&]&W!=YH!+@>EXUGOA4>+L+U#:E\H<4V@_/._C4T#RN?JZN M[FZFM1DRRC.N>4(8Q$EN:Y$8BX%RIJ#@4N1)PKEF7F<\?0D^-(JII;N@:'M? M ][Q_K##81S^WM'1]Z3Y5LRG,ICM9*".0JDA!%5$:<$:S<:KGNM3RT%:,2SGM[N@_8 M>5NT-0P=,ZXS GX)H@YI>TE6J*WV^DL%=4B-K?Q/!Q^X,.G3>QM!L+QG'*4X M2S#B"J8LPQ#K+(8$,0U%ED=YIED4::_R-(>[&=K$7&!.HA!)WF@MGMZF510![4]F@WJ\-,7G2F7 MICGK[K0,2TYSC(50 K*("8AYE$*:\@2FL:WTBQ33L=?MX.%NAL8"2RGM[+=B MMCH]WH72Z^3X H#Z.34N02-A!T'7."@^HNV10^)C3[>;_#\6 MA?Q]/)F\*V9J?#>M&Q7/MV:C4$ZJ3<./;#RM4A@F)">1U )J%&7&+. 8LIQG MD.)8(YS+!&.OG-GN70^-)!J)@?HF[NV&"LQLT$C]=T]SP0-_-Q;I!M6.F64I M]!580KN4&VP(#JSDP9-.^@,6DH8\>N^5FOQ1V:6K%BWX'R*\::+=;\VK(XXR M+>,D@R1/)<0YCB&7.H:&MF*=I"E%$7(]0]AL>&CTLY0-6.'<'*PU5QO!P>'E-@\-SCX^Q9)7*[+,7O[S>8BL>6"[L=3 MUJ1"HXI$%$D&I;:!^C)'D,HT@SS."4MI@B1QVB^<[&5H4W&9TVC,/%*('(7P M]*0,!DS7VP0CXA58"0DJ*<^GD_/ R2.]2@B\>DJITA(WOSPJY_ XF3OEZ,O] MY4LY)_]6CI2S#[>\I1?W2BXF-@:#E??74VG_8R].GMC$GL?8)\P6 M620YAYA%#%(B*$0DUE'&*8V2R.N*W:77H?'C4N@JNLC(6R4'JOZR(3GXM9+= MM[JMTRBX;9J"8]LQQ8:!U?^>V0>FH)?$3AWW>\/K@\7>]:S7RRVL-!O^?:MF M#S?KX.]F[201XPEE$B8Z41 +KB!+XPS&B208$Y42[>0F?+J;H?%0%0YO)04W MON'P9_!TL-F"H-0QHU@9P2Y ;8RVXTAY6&U!$.O);#N8:2%4VKNS0)RTUXZ_ MW9_!=E:#+8OM_--M:V//V7BJY%LVFQI;L+P6YMM83&RP^ANEQV(\'Z%,9I3' M*>1Y;),@IQP2S1-CM"6,4*0YCYQ\H]V['!I)+B4&JA'9M_KU68S=K+&PR'5, MG"O0EM*"[S;D!8W <^KW=$)6_/Z;*\]5[QV16&_WK7SFR&\:K[89$F?]$^E MJ@*!1RAF'-%80RV$V1M&$D$>4PH%YI+E46YWA^V=:W9Z&QK#[/C8M$JI?AI> M&>>$IC*#V. ,#:8QI#A*89HA'L4RU:G(1D]JQHO> =[LM3>(K\#,2@P+#1=+ MP$/B[<;HP3#LF,SWW)N^+,$SPM:IZ[MR=#H"2G?^3KL=OJ#;TQ'=3WL_'7NI M'6E_**;J^0.;_:;F[Q9365[/7[/9[-ET5N?U5!%25)/$YJ&/(5E@_;6M X3-&M>0*$F@T#(5B,5QI&2/-0^.R>DSD_HK8+ AYE43E-M3 M3.[1\60TRGDD4Q@SG$.,5 *99#'D*$>QB!/-,>^MT$"XT>R^:L Q])QW7G) MT>EZU;H\8GH5$[TUP+6F PB+/C<(@XA_/BKD'R/0^1S&P2*:SW;4LH*V*DNE MMH\DEE5\GY>166\6ZF^*S=Z9N3?B2J0*<0$10V812"*SJ&M*H-*12F*&]ZU M*@"K0\!*WBW1"UKGVU>&?JN MT1HKT9XVW8N]7)<%?9H4MD:LV]=KOR#$6,Q M4_+3](M-B3\SDAD*'M)\6S4E_5[&G<5*_?,]57]:,JJ[R\+>9LLOG[UT4Y_UC, M_Z;F1M+B;CK^'R5'DHL,:\PAHAQ!3 6#A,4*QCEB.$]9%/DE(>A,TJ$M(3]- M9RO9;(F4]2Z]J7#OMT)T-\)NJ\4@QJW'KTS,IVH?P%9">AZK MG,;7\1 E&&I='YFL!;W:W$5=GT?/_VS$"92@)R&G>^SWW,-)^[U3#K>WVE') M&Z75S%C#7]23FBZ4X0XM19)FD&GK+4HQABQ5!.HD39(\RS6AD?]%ZTXOP[PF M?<7,/X4Z5N7=CT)V<8TS3B)IOM XR9CA9&QS 6@-8Z2,"2^X3B/J>^%Y,:K= M7U=N8_H?BZD",:DKG%^&IQL'7X!0QZ2[E PTHH6CV",ZA^34W2YZ)=$C^NVR MYK''VM'DS=3L&)5-S?/."/2ZL)4I%N/I77/V7$S+SVKV9CQ9&#NP,A-'>2KC M6&8":IT+B(GDD%.50H'C!"&9Q"+6/D:8MP1#L\OL(8L WRU*:4N&U;X+GKGA M_4?!C28ZQ;9C(JEE;W* 3M=P%H!L-;@RN98!XT2M2=".,YI#6!(5O(7HE?> M:HW1+K.U;Z@=]_U5R3O3_!M5CN^F50=OB@(#4!H&NSXIJY5^?4KZ%P\R.HF$]89:- M]^SBLJ/3ON_*[@-M#W#X_*N]R*P.B*Z?V'AB+S+?%;.O;**N)Y/B=[L#-_]^ M;79#X[FU&W8]4;3":20$1 DV4]<>_) <)9 PS1..XY0++S^\RT4:VIS?=&%8 MR5^5/*XU %8%<"WFXZ?QW+&B7L !=#T,Z7-8.C\_X7.PUN8*K/2!9EA@R6PR M]N-#U:4C23BS4MQT]JO:7[ MJ.:?]"W[5A>3,C^?V77BC:K_NZIUI#7G21PE4*%(V+*EL2U*02%+9$QDRI.< M>%E;EXLT-,K>YX/-;%1_\_DKPK7BQF\U&>$Z2C ME,%$F?TKEJF$-!.9V\_!?T2U0^GXCSW:-LVASWQ>+N4TT&X^B7"&5,0)CI1C$.%*0)DD*F:9Y0O,LS\R[KXSH0;G922%S[ MRHJX"6$C\A5HA :_UU)7*:M#9D;T@BEL>D2WKGO.D>B%QWZB1+_77R9[QMMO M:B;&I=W[-!'Z/&&8V^P92994!>YS2$B*82YS%5F/+L:]ZI0%EW!H]M"&@(WK MTJQ:C.S4E89]7R;UPO[ NI'EBPY7Q[0:,O7"AI[#2[UP=!"&E'IA7\@_5.J% MHQB'3KUPO*-V2X:1XJ&8?IT7XK?/;/9I]G5N3<3*4]ALGVM7*!+Q++;%#7B2 MQ! S32#-&8=(8R3S7-.$>^:!=>C5ARGZR09;"PU**[6M:-W$"O@QN0O>;MP< M&,..V;8![VL-GA'8?*6@%KD)&K!.9H&=RSP@"LF%+MWVRFX>..SRE<^K%]QI M;$0JF*VC:&H]8YU2S>WULI2VC("]J^"404U)@K74*)5>902.=S4T,[(^ )^L M16UQZW 84X_;A(N1ZN668"L(:2UGX*N DU@$/^(_W%O_1_H3_EOVK0[._ZCF(X&,84*)@%BAR#!$1"'A2D&:,2XRG2DAI)\#RK&NAL80 MJS"0<7TO-F???%GB!*YN+!$&K:Z/X)= -1>(]L:PEK.Z1 P?/G,U/A9?<^*-ESG^>E?,M!K/%^;KNY[*M]\>QXU7_,VTODK\1=D\^4I> MFPT'NU/-7DQ]GHV%&D5F>)E"?ZBSPR!C%_J<,8Q0 M;4-FE]YVM8E@-A+%,E/C*(\$$V8IA0RI'&*>F!4VBQ&,%(\12W648Z]Z#Z*<]9TS-6#W_4LQ^,QPU*X1J/ &;Z_9R%&LIM$0Y5$JG$!O"@!3' M&LI,22JXQEGD52[0H<^A,8B5%(ZG\+&6U9\_SF'L3B,!D>N!32IIC4%HY*T, MQ%KBE1OR4NJPS.((46B".==M[SSCB,,ANG%]M1WKK),IE;?%M91C:R*QB4T0 M?C-]S1['6[H%(Z3^P(^)*%W+G.OJT%?(["[E/36;]L;LMGX MR73W5.>M?FT/10V]LLDG/AG?57+<%E^4V$HHSSF*8>IDF9Q MB7D"28HYS$66TSB/8A6U\5QO)8P3Y_3OQ_[CS,;\LBH%L/7FU-XEG]L-C>O] M6U=(]W4UMY2_OI&SZ2&6*ER!M1*V[DJM1N7E;GYU>B!:7-U= &386[TV@O1\ MX76XF[Z;942]?E=,?O)Z#N;L_'4Q@H69<7&Y2A'+,X0SF'$ M;4Z:+(\AE2R!L=!ET*[,: CWJ>I M+CR*'7/:&D C+%A)6[D=?.X$0-F$OU6SI4<@M_I]X2_2EN8R)MB?+U\2_'"J MN=^^4S%ZE,6DXG/'5GHA;C^-E@SM^5;+8B=:*S'_I-]^$_=V-_?%D/^GBNGM M_[\UEO,3FUBCNXJ?&@MC]=E?7$_E]@\VGAPA$>JS'LFE?L J:$>NMISMGV!#]BNP5JO^I1W*WO285<#]0D<$8$I90F"G.<,XM3\04D6080R MI.,TE32GRU,4MQ6GZ%W.2"^748D,R8L2USG$,)2<1Q)%=9W0<&'2.VZF+HB'EZ M[PPKT&?#32=H7,\A=3MQN>D]=N>09D>=:"Z/S_EIRL>3B2VL(Y0Q[_E$E:^; MJ-0HC3G31$-C=V9FJD819%E&(8T5RB/!LTQZ924]WM70J&XI*9B=*>?D"ZG; M7 X#5,X71AI17X'7H0-_S6(2<]B=ZZY4$SFN]2PD.;[2XF?OQY_'/I@EK M3-U,Q9\_J#H!E5FH%5$1Y'$J($99#EF*4VC6=D)$3)1@[K=Q![L8&B$8(<%2 MRLJSZ<_@UUI2QQ(Q)]!TN&N[&*..N:!+>#QNTBZ&J:?;LS9P^=V5G43BY/W8 MX3?[NQ,[*?G6/=CI)]OF%ZW6^V4E+IN2V*8"?+THY\6#FKW])B8+.9[>6<<( M\W_REGT;H2PAFM <:IFG$.LL@B2*&90LPRS2*)>1$QM>(,/0Z/)<%]\I('#KL\Y/.J?]F&M].Y=64:KY+@8I)$E,0"$HHPQ 0QL[G,$QC%:2Q1 MP@323M%5AQH?&I/4\@$KX+D,M>>!.TT3E\+1,1]X(.%5C.&8RA=48=AKLK?R M"\>4V:R[U/@!:'<_G-D!Y+^YG M8 BYH!_KJM=%_(R^NPOWN9I%@B&4=>GPE[P M.,]^)_5/S'WS_L:\-__:G?.G.^AEQCOIN)SO;@][WOY4=T?B>?3UQS>C-,TR M+J6P:0YLRN6OX^D=>RQFZ@J\J=,7.MY< M; )UYBJGI?H=3U,/S=TO(0ZH>L+D7CY>S\OEOW;GY5:C_=Q('%!C=0=QZ'5#^H?N]]+OPZM1[7<\T ] M_F1;E]'M:J0D))!!G"-,FEXCR1?C$+3OTZ M?>B]QAV\KF.D;"+AR_.INV'OQA+A\.S+^;+)P//=4N+O+:H'DJ^'39+F@5)8 MGTV7CGMVYO3 8M_+T^?E2Y/4W$QM-<0JF\[U5/Y5R3M[MRC,KZK"$6_&I9@4 M]OR_7"^N.8E8I,Q@,*)SB$G&(.,)@@(CEJ8L,?M^X5?IX0)IAF;0;"12V="F MBI]I] %KA<"&1A<80)<-IQL+]C9(';-CQ^-S0;Z;"W#M)N]-&X%>*/_-!=@= MSX-S2:/M*]F_,\VR21VT],[\S)B(/![T,CD>7Y=IK29MH0U#)ZE_0?A_4\_>F0:#JFLW:H-2JKOU1% )4MM]O MN_?:]D?5.U3=_OC#%YX$W5H/_I$V5E0693D4*L<09TD&28X51"*1.HM$'A'= MZA2H:GYH$WWCG*.2K^WA3XV=Y\&/-R+]'?J< :/]><^6SIV<]=0]O,PYSY9V M1\]XMI]JF7%Z,BE^9T:Z=\7L3;'@<[V87 M1Y:=\K2W$BY$9]W!5;JU$F99TJ.Y^!]89/F5SH8V -F9FZ'7=!$RYXB])LW MN1T^>VF06S;3TD=\/#4-O3>;(GDSG9L/;FP:KXL%7C\4L_GX?ZK@J;=U*O=K M;0R'ORDV>V=>&!$4*9I&]@K9UOJ0N>$]K%*(""(\5B1%6>)7L_P":7RF:C^U MS&_OU4PQ*Z.G#_D%0^+&@CW!W#$CUEK 2@VPUF.9YMA*7V57VU3I"E0# JPZ MP.H3T#7]FM>JRJ?S&<+,5_,QM.[Q@=, M9"H62@C()",0YZGY6V*,1"GC5 @DI.!>>[^C/0UM&V@%;TUA(O;[XZBT5(-CK>6:]<QU>>8?'J1:$L@P* M'F&(:9Y#$I$8YCS/J) \THJZ>MFN6AW:_+=;\W$YK[Q&-\/$?-SLMV$[/==; M@]'#"5 +'+S\:/?TOM1O=MU@;WZR>SIL^L7N_[+EMJ?.P?RZ\5U#LJ=Z&-E\;8<%26F#%!=]9 M@;_WW,BIT3"A!AJP;9F*H\B"A6+'696"FQ7AZJ4J M#56IT7AFJ!9#=>,CX"/)" MGC$ML#KN$=.FL4O*D51..(W3HTU@;VOU3861H#J8J3V&;Z9OI\R>X#7/C!*% M;$82 B5A9KN$(FT8$R4P%7'&:9(F6+:Y9VLOT4!IT_HOS=2\\J]>%F$%,V7' M5=K9;'\\JTN]::/@]*Y589%60R@)CM,\UY"8OT#,$86,,P(10BJ6B%,F<__" M,9V-79]N4=Z#!KYC9G$$C\I(,)U[VN87C*';ZMC/R'2\1*Z4V/"MKXN];"MB MELU5D$.CS.K1*^N[)8(F4;TM@?U5KT3C+ :L(J#0)Z3=W"9)!W>M:"=*O%]XE6.TY MZUW46&L_%V9(>7JW=J'9=+2I7:?LB=#2;ZJZ%;94;D1['@F%TT0)PY6),5DQ M3F)((LDA90G%::JH4LCK1/@B<0;'H;7CV<2>UA@:'4^?5%/(W=OSY9)!8I$+%2._,CT0"=#H\CE_9#=%5XOYO>% M ?OXQ'/'TN\6K2U"/5V>;8'3X:W9(1BZN"S;ZN=%[L@.:7KL:NS@LVWS[F\X MS%251ZMSK'6(Y34OJPS8SAG?'=L;T$>][;]55_RM3_,VPI!_70H>\"OW!BML M1G?7SGO.X^Z)R7[V=M\&^DO@4 ?(13+*,94($HP(Q"0BD)CM"=0(93GC<2S] M3G=:2S*TI?>"Q !MXA;;CZ#OM7.'X]+?U7/@(>DE34-G@9;MA1E\>H:3X9N7 M-Q@JD]?7>2%^NR\FIHW25DB?/W\I)A-C(MF2M*-<1ES1)(,9R1#$DE/(LL3\ M$0L>I1'7+"%^]6&]^A\:LQY)2+6IP_\%:BTNS?)U>ES/33%<9=GPE=!&^0PD)G8>JZQ-!Q 5Z\V-!9;%S*#IUOI*5[A+T_Y(8\ MY>OBP7I25=?[U[.9=<6P';]Z7C_RF3W;'UU;-OWT:!\LWWY3,S$NJSC[[1O* M+\J*9TS290FW!9O>E7,:]Y?\$AS].(8]OEU[@5C58*4;V-0?; ^#/8?*X! 50H M7($&!QOHO_&9[+F4K- &W BT= 3Y*7&\N@?B@OH$:_7BPO-TY[/C O*$J+ MPO%?32.,-W>.+$LIQIF&<9:D9JEC$>3([ 4H8QAE<2JYV_WM7LM#6X!JV=K4 M/M_"Z_2"(&JNA_2]60Q]ZT7^JOA?DC.K=+M M!Q^XP'3_HA[-@-T;ZOL\LP60'IH=;ZHH2U/$8!I3#G$N4)U-)944:9HF*4+, MV\8^TMG@N,C*"M;"@D;:ED<-)W'VL& #H->'J=D*N'9VX!E$@AMLQ_KKW[(Z MH_E!$^C<.]T%&5;=O]JUP-Y^$ZHLS0NOU%3I\;R)W1G)-,HC*A3,*;/4HR7D M<9I!+BF+HE1HK/*.8@^]!'6:>"\CVTI[Q@V*VK8-'\GF-]8TCWAJ M&H4HMFG9(V'&.A<<$B3-...4RLRI9/7+#G*O'A;-]=1X"M0J9*Z*6+2QQ'%W73\ M/^:3L0RT]=$ 56^(?$-UPG\];HOGBWX3':^X[E&3]A=-%C[P7://]U>'3WW6 M6^,7BJAL-1Q]!UKZ"3FX^,M6&+<)RVS743MKY,>BD+^/)Y,M3Q(E(QDA#F-I M=C&8401)DF*(%,U0(I5&Q&N-.=#'T%:)I8BN'@K.6+HQ[H4(=F69$WKN\L2I1]O-])/QC)\6\W)N+!OKT+9T?^= H7'$*OR:-=N6ZM@CM$F'K=H+7'/C _KN8O9ZPLOQH/M*EVQFA4B:2F TX,?MQHI1-&I3 M*,)Y1C1)A)^MY-G_T#CR9-[[\@I4.H!*"6"U:.N,YCE*;M38(?8=,V-XV$.6 M&#@%7D]E!0Z*,)12 J?P\2@?<+*9=FSXTW1]KK7>>9:KO>MG-663*L)L:L51 MYIN>7PLQ6RBSBQ19Q@414&0\,\Q(,\C-AA+&5.=9C#0AN5?!W@MD&1I++L6K M3,?'I=Q7X,[F%/5CPDM&R(T5>\*]8X;OBP<^GB[S)A;3N9'?[N;-7\NQ&=KF-RMM+H^AN'S$'8W;EQ[' MKDW@54S&U58)B]^-CF!325!KN7??L](35(IN#'+=;+?Q',&&HNNXC\L%??'X MD&!8N\21A.O,O[K[M1% 5K6C)^QNA%$DLRP2,)5Y!+'$"E)!$&2"T9QR@3,: MNU9TWVIY:&R^$@Y8Z=SKMF_#=9I6+P*A8RITU-^K(OM!72^HPK[=7F^5UP^J ML5EM_? #%_B+[MWC[OO1O]KUH]\^Y+Q^8N.)I8YWQ>Q'\^Y\Q 3%F4XB8^-I M9K;6.(),"3.G8TW-KS1A(O+V->U T*$10W-+P)9R5LX]=U92L)B:<=WVVGDT M[[8)Z>IBQ-ULO"&,8\?<%B X:^_6Z'KK>Z@T#NQWV^&8!/?9[4+6_OU].T3\ MH*]PE_VU6WT^JKDMC/)Y5CR9G:M\]?Q3:<^,/SU6N]C-Q#4CDFDA,B8AC2,- M,><:LHAPF)!$RBB3Y@\\FA=S-G%;3]R[]EHA5@)T1R]&?@]6PF_DUPK'P_Z(A616 MC]Y[Y4I_5';9KT4++6(\;1=Z4OQ>WBMYMY&B,Q)9KG@40QES:BM79Y RQ*'( ML8PDRU@>.UG"ISH9FA5;32$K)ZCE=/0K.HGC:=8)A4['_+("IFR0<7']<C2H^]VU^ Z1GIMV)-SSW;4<+B=>+!=<&6B$O% MI]F MZN\+6T/9EF$?:2TC8C:V,-620(RXA 0+ E,54:X90EQY'9,Z]#DTRMN\"5T) M:I9X(VK;_'\G />\B0X#8\>\U@K!]E?"YS'IY(+W1+CEZ\.K[;C MG,T3NJ]LHK[:6]N:WQ2?K_]5%W*?CU*119P39$/R8XA90B%1RIADFN MJ,R'?SS['QH7-6)MEN"ZL@749_/**:\*HRXT^!>$T17)<65#_$NXO2))W[V7"*DJM%8)0D:90A(2 3A$&T?>7NJX:N=E?82B[#MMT:RHWG'ILA M9M40;TY4FX1F-9G_'"HC8#>#<#JI8. ^>\Q+V U:VZD-.^JCW>[HUG1;:K-: M74_E5S5[&MNZGI]T4^*333:JY]R:'LK#OVH"-F,A:F@Z7K1;CHKW3J@+^$)N MDX+*U^L>J@MD=S=8G?01///!J^=U;'%UT$NID$3E*<1,:XA1@FV0F8:IH64V MV.M^*'D-CN'BD=/@:!.>)TS5^91X'GWXKX\CJ1"G),N@(DD,,8D%I"K&$"%V7Y:;K^V4TE.L*6&G!=U;>[T$Q!9N_,D)W49/Y##[= MU%X^UND+U5@^@\'Q6LKG7FQ'0I^T-E9#Y79>F0]5'>:U(YXB2I,D05 )1B"6 M*8(TIBF,:29PQCB-I=/*[];=T.AG+6UC,OL1S!ELW=@E'&(=4\L>6$UU=]") MVZ(;+"$9Y4R/O=*)F_:[7.+X5LO0;7&OY&*BJO.68YN3G1F0:\0P3S!DR&PI M,"$:$I'F$(L4"Q')1,?4*RK;7X:A4W''%S35=H^WZ?2SZQQ4I\M:%(O2YE1C M$[NSL2;>YZ(%7>![OX6NI->6GAL MU@5IKJ?R$R\-3'-U,WU24_,%/C>A=2--,!.<8IAG@D',50)YHA 4>8QTE J2 M*_=BO&>[&QIAUP)7;N9%(W+E^U[)#(1/^*$CWF=.[8.CV#&K;@"XE!:LQ/6+ MWW0$T,,G,2B0/7D97@:HG[N@,SXG'0#/M]*?2Y^S1EM.>NYO^5%P.9N/OIH/ MIG+T^U'9^J2/]V/!)I4? (ZI5$(08TOCU)Y Y)#E/($L(ZF,ZD_ G[T+R_81N:?^W:A:<[Z&7N.^FX MG/)N#[<\DUSPL@IFG+]]JAS"5N=<61)%1*@8,HHXQ(E.($UC#E.-8I0F%.>Y M5[*'HST-;<:O!06UI)YGBD<1=3PY#(%3U^>#NQ!UE'GA+!9!C_F.=M;O8=XY MG?>.[,Z^T'.FV3KUX$U9+NS1X6]I!T0Z,@*UT5=USH94' .G)N,Z-LE4H6?#>>-F4!O^\IK>S!X77D MMI<:M*[Y\/($LDW:V%I%Z[M3*SF G+&GL!]$HMB# OXQLL.>PC982MB3G?@7 M 'AO/K7)Y_MBVM1-'&$B(Y2D&J*8V1,YZ_N::PG36.8($YUQXE0=YE#C0V/F M2CY0"=CD?'8O!; 'W&G2O!2.CCG/ PFOH@#'5+Z@+L!>D[V5!CBFS&9U@*// MA$DHLW.VOTR-\KHHYU5AD!%+I-GAI;:<'C+35T44$F*F+T>21T2I.+&)_]T3 M-?L*X#7%>TC7?+V5/>:R1"YGP7>SF[J$= BWF&O(7Y^"_.*,+JZX=9G2Y:P, M+YK3Q16A2E:S\5PY%]S9B(.@M.@X7$&X M,OP@#() UVJ!>L VO$&L9E> 5[K9BJ2]\:L?UCV2KJ-@0V)B/RP]Z=FS\9;G MB[6'CG_\S,'2((>AYWJK]_3+0?- M]PZK7-YIQR._J/'=O MT!%*4FG^A]KD?11B380A&T6@1E$F1,(U%EXW$"WE&!K[O-5:B6H"22O[^$D! M]?>%K5!;Y0#SM/3:#HX;+?4 ><>,M=0 -"HL"\:9LLEKTW'Q8$CHU?/G62$78K[.*:0V/!MT1%$J= Q)BD@5FP8)8PHF64I9 M'$L89U+.C3R;30!]HL#2UW 2AE[9[A4I_*P7"K4-LPM], [6I-#&,Z. MB;WM2/840-<1\-V$V846]H6"\3K"_'C(7E<=MEMN;J;"=++:"-AKKNK"VKJ_ MJDP@32@V%GB>0\PQ@SSG,8QCKB.>(8ZT4Q"'0U]#H_Q:5+#>NBZ%;97'[13( M;N0<"+J.Z;4U:MZJ$9LSYL;KX%PO*'I"MZ..6@I(U@+>06NMVK$ MO*Y+P]CHR"X*E+0!+NBUBI< _5Z?M,%F[YJD52-!S:-EKO)8\R3+)>0XSFWT M10QIIA1$.(\PPCS)J==AYAD9A)Q;[5@G(3T-]D9DTN!3A%V 7RE3J+N_W MZ0Z'8"Z=SLSM]E([/GFORE*I58GT]XJ9>3IF?#PQ>\+&';A\LU!_4VQV^WLQ M$EF*<)0P2!AE$,=401)A#:7,%#%?F8YCYL,PGOT/C7/,%X?\6,47<#>>Z1#& MCIFGEOP*K&0'E?!78"7^%9@7@"OPF8WE%; : *-".#YJB5U(AO(5H5?.:HG/ M+HNU;:8=KWU4?RIM&$-3LF!ZMRX(O/)Q$%J0*$ZLW91H MB+64D.I]LVPDT-,K\NGAX8+-GZQBS[7%K5:HRW#3UAMO>Q;8<-]\KU^Y'HV-* MW4Q&NN_[O.$:#;85ZNEF]3)\N[E ;2G3"]V37H;@\>O0"]MMQ\OK8\+RZUTJ<7BCI?&F)N:W=S^JJ=E# M3ZZG\EH^C*=C:QA:!]RWWVQXOQKE" M\6ENW0Z-/!JIK\!=+?=5Y3_%MD0'JI;=UQAS&P='DRLXNET;5DM@&Y$K7+>% M!HW4 0TG+Y2"FD=N/?=K!'FAL6?J^+W=TA6CCMVM+*5/>C<5_"B))$MI+&$B M#5'AV-@S+",4*DREH(S$2OGY7ISL;FCP=N.A< AV MS#^[X+D7\_#WG'#")*BKQ.D>^_6-<-)^SQG"[:T62;Z7_JIU_4 MI*Y0=S]^+#^H*C^.XBH7D3%]; T5&]SW7?\$<'680>,%]T4]VF5B>F>]6A;E M".&$YBJ-(B)P@RITX^UQ'0^/I6M:ESR=820MJ<=VS MQ)U$]S1)A\2L8V)N"Y=7*CD7+"Y(*W>R^=Y2S+DHN9ENSNGY'ES0#/!JE!@B MCB*I8*J$K=:E)*2,8:BTUEF$=$ZXEYNKMP1#HQ&S.L4=NJ%5H+MM(SN%LF-V M:>>*9I5X(6>T3?Q>S!VM$F*X#FF;&%WDDK;54,N:T/-[-:LWPA^-JDWXBS"4 M193*H8HP@CA%&C(4,8@XTXS2S$;#>Y6"/M3+T!BK$K+5:==A$-W8Z6)H.F:@ M&I5:P"NP%C%@>>=3" 2MZGRPHWZ+.9_2=:^&\\F'V\WWSV9P/YKAKNL@:20R MI6*8)\8FQ'$LH?6D@D)CSN,XB9!0/M-\L_&AS6XK&[#"M8I.WH+-;6*W!:/C M^>R,@_<\/J1PR.F[U7ZOL_:09KN3]> S[>9HG0S3^CVE*()>:B1A1:?8FHZFZLUD1;]TGLY\43E\XK;_P M/5FZ^]J-@$!4$OK-=\\A<&.$#A#MZ8QC*3AH@O(LK%;V'4?%J^H7M?Q7MNZ' M"&HHM,,O) 5Y2M K2;5#9Y?&6K;2XN[,YF85Q=W49F>=LV]<394V3=X7OT]9 MR4S["V$[FQ?3E>TCE5;F+_;QVDP?24TY5C2#@MC8/R41)"BF4#(9F:=C*8G3 M1B681$,S>YHD"E5,_[B>O$9650(Q,0*/]5A)8 R"M49@J9)]SFLW%&Y4'6[P M^AZKCAEV4YT*^$8A4&EDA@$PL%+*GO@,:\ \;@?['KB>K@X##^#RA7(QJ3*: M3I7YS^H,<&+SH@LVFSV;:5U7W6*@'#^,)VQ6-3*ITG;8M"G5/VL+:.N-/P>Z MO@PYG"?O-H-TU-_%9TAVV[;@4P)XJ,%O OK-R?F]Q^]K@YA*>YKV1<$ DY*[A5'>];A$<]-[= M#[B\TM(=MS8=T@BQ*.(1I$E"(*:&*VA""$Q2BC52),9Y[E6TR]\,[Z$4UZWM MHYTGK9?'[-#LVN#NK]VYN;Z$.^MIM]40:W7K6IMOJ]3Y-]-R/JOLY[*ZC;B] M9]-/CY4'UL>BH@(EFQJ0,LX3DFL*<41M50+.(4NC%#)LMN@YTDF"T.BQJMGY M=0H"M@/7E>H&RR]YK<,#?Q5*'_KZ*#X86[D%,[2<1 M1W^$3\)M.1OD('>\8@:HP%UK#S;4!_4M_MP !H$JKO\&H.K8&5O7VS@!E&^ MVUOX/T9I[[9C$JSL=VL!VIE,[\;3\5R]'S_9O#?;L4(?U7R$N,AI1#"D*8[M MAD5 FHD,RE@@+'.=1"SR<9HXW=W0[A-N=N,"K^S9I-\RP4ZSS;LUFS_:@]VJYH9*R*7H3(^]KA]NVN^2ON-;/6]NFW7C1_/@ MO+R9?J[L]IU:5M4OW["Y>L?&LVHBCIC(XTP2;D;*[&9PGB%(,;>)9Q/)XXBQ MF/BEL>A7_J&M)4N!(6M*R-U9D:&TCB7:" V>K-1F%IO]C"PF$S8K@=EBU7N; MGG8V+;^4CO;<+J$6#! !:-,^MJ?]N=R\9Q M$)N>EBK\,;8^EXU/L W0A6*TO)\18K:PJW;C!Z;*97$4@826-,M@EMDBB3+A MD!*AH(H5RC,1$Y9Z[8".]C2T!:L1=,N1RO,VYRBHCA<\(:#J^LZG06GM*ZHZ MJ2%S#HJ@MT-'.^OWPNB M#E?7AE\;I/P-LM,X!#6$DEK+9J;NC7&S\B&W'FNU M5]1?BXFM [WA4[)*9'L]&Y?F5V_,/Z=WM8'S4U5H:UW MCR&3E,$<8XYY1%*)N'"#HV5[%'B8J53[9+VG74-_?ZJ=BC5E7>H^<]W M_T*2[/LJ;>*_Q FU>RF#D?G_F5+PH9C.[T%]MUF7_-U]&5WEA#2OIU&^?+T< M?]M^^ M*#[?R$Y_=:",P!58*PT:K<&&2^<5X,H\J\"U_.]%_0%< :8-"]K]0>!8\@Z' M)'@X>A>R]A_1WB'B!X/BN^ROY6G)=#Z6X\G"+FWK_MY^$Y.%5-+6++/R\9IEEO_:99BM1OL)D3R@QBK*\=#O6N07J'T!/^D?9\7BL?QE/+\? M3]\^/$Z*9Z4^%X^+.I'L*$)<(I01R-+<&%>()Y#G+(-*QCAB>:YRM^K!'GT. M;6K6TH+?*W&KDQO5R P>5T)[A)0[(G]F4G>#9\=SOA88?-*@ ;66&2R%!I\[ M!-0C"C\\L#W%V3< %QK<;7VU![[84"'N?EB=#&)W;*J_,'4_W;8"T3U?;<'@ MQ\O>V1.I#VR^-,/L.=+M[X7-B5F^JLZ9JM28U;_7/EEQS%$<$PFQ))GY QO. MUSB%L98LMCFTS!_.3!]6MJ&M"#%,P+.5T(.D H^6P^KP7&]B>5K$#U5_+ MC?-U:4?X83W"]4%Y:9-PR6I> KZ8+T_4#>_.ZI]>;7C-AEK\NAF*DXMDX"[[ M6TR[P6IKT>VHB[:E,[X^L,GDU:(<3U59CA3#B1E+ G$D(X@S9NL]FJ66)3DC M29I++)QRX!]I?VB+9"TBJ&0$2R%]RV-L(WAZT0N 2\<+EQ\D+4I@'%3\XLH7 MVZWV7/#BH$K[=2X./S8,3QU[99Z0%-$(9Y!K16RY' 2Y31DO599311A2&KVD MD\X _7-LLE15Y=NT^]FV?A0OZS+QC>>F*G.YNJNF#V/&",TSW.SV3);*XB9DI (Q>P)9ZHTX2+53IY!1]H?VF1K MMA>5C& II.^.:QM!UQU7:USZV7$Y0M)BQW50\8MW7-NM]KSC.JC2_H[K\&-M M,Q44L_FMFCULY,]L*NMRFG%$*(=*4FA%=4KSZ@NLV[8D#%P=S_(:J?D.4@%+$;NC$3;H_&AO/<>'G]-Z/Y3[ M[!MM+CP?'R=C4=T]?'U48JS'8ED$^6MAG<^*Z?+CQCFB+%,:QK$];HFYA%P8 M&X C)IF,$>*9TW&+9[]#HY -R>%2=+ JX[T2WN?6RWT,7*XH.T&VZ^M'-U#; ME)OW0-?GOK 3E/NZ"PR%MN?%GC=FIR_MW)OK\4+.6\?MRS;_UR\XC]]-C]5, M@RA+LBA7,10\MC4:T]28AW$,58Y%;,9 H]C):\6AKZ&1^T\WBWLJB3-8"^BWNFZBY+>8ML>AXRKYW ,![G3Z@:LAU>;/Y7M?A M WKMKKN''FDW+U>)LUX74UMZS][CO!]/UQ#F\1 ME+DBC!$9W, 0[GO&7@.?- M!$Z@A.2&TQWVRA9.NN_RA]M++3TC7E^_&2F"\@RG#.:I9A S$D.2YLS@F2E% M8A91)+P\(TRC0^.'UVS*)+L";^K,S9[.$1:E,^>K+77O>&:[JNWO(;&A9S@/ M"=MHOQX2&VKL>4AL_NXR0_KY73'[R0@TF[.Q+5C^N2C'RUHA35G448P(3B*4 M08JC%&*2Y^9O(H8)B1(1H3@1J=?R[='WT";KL3+A[>QQ%_ 117DN40+C6"(; M,9 9"HPBR'*>F#U.)(B,_=*N=01_/YG4G.JTVYK0&W6CE_IV-TA^FZK P/>T MZ7JN,%_);?X]GN[D+E[+'WY[Y@%:%]LWE^Y?9'OG@VZ#N-!,.*TJ)_H8VNK1.*$U M<4Y%E:0:%M%Y[/++5;A,-=VBSUTO/)S7'M-P_GCGZY 7^%\8" MG\\68E[%P2R=+Y @.%41Q FJ_L@@SS,*&:4TXFE,X]PK\^:QCH8VUVMO K/Q M*,28V4)*HBA;>5X< I6RB$92)3!1L8(XQA(R'#.S]V8ZBTF4YARW2+A](:S] M;/-J8*_7P+X."*P;E88 JV-"K5':DK$K1Y830 3W8CG45_\N+"*B+8KW]9@L**/ES81-.V5W?%S.Q1HJFB5!,PM@F],>1,O:9 MD *F:1;%24)$ZG>VUX/,0UL$EE*"IY68/15=]!AG-\X;V.AU3)\!BBNN$T:! M#J.7]0#&]NL;,:LPF-OP(C5"D M8RIE!N-,<(AUFD!*)(:8I81$"2<<.UTE#T^UH:V'C8+@J=+0GMZI)1O.B^JG M5:5BC[R)P\/<9ST=A,#_6,ONJJ9Q#5#EP_MVXR/[N?K(-F Z4.MX!178P I8 ML (OTH,:_^!K^3"TZW_)'X;>IRR#84G8SH"PF:(V4O#L9'5"W*O7F0K_.>^BV\K8;! M;8GL&MR.%[,SJER"U2[,7M=6.$%=; MMYOIHV'C]^I)35!SKIT+$6.4:8@4SVUJ204)YQA21G5L!BS%D5,>,8>^AK;G M^,]%86V[S[.Q4*7=75Q7Q5/!!S;[S89W6M>E&VE6N;$P--C$?'Y7:0209S7- M4T/@QGF!@.V8VM9G6U>@%O0*-(AU<,O@@$E(HCK57:]\Y*#W+NVXO-(ZC,=P M5JG>J/J_-U-[ASPU(V=#QYA *4:)L:OR2$"LE89<: -MIAE)A*0BHJ.INK,7 M=K=>T3S'.W6:#[2>#WM==^O*T$CH';QS F%7)X]+ >LM>*>2#WRWE/3[VF?T M/'9M8G?.8Q(X=N=$AWW'[IS7_4#LCL-+%QHI]4)K]I$;D88?3&^+F9*?IE^L MZ61O2\T#'PMC+37_?,7*<7EK+:E10C"5F')CS<@,8I4(R&6&H*:())RA6*5I M*Y/F4LF&9@!M+M8KZ:MSL4WYP:^5\)[>:.&&T],\ZG.0>C2F+AB?]F95*"P[ M,<(N%NYE3+90F!XU\()UX.^V_Z;)ZO5N7)HMDZV'\L[\I!R)B*0J(1PF7!DC M,$UR2'/S-Z%2EB92",=[M!-]#(U;EV*"6LZJ5A2H)'5WVC\&YVE&# 12UV=@ M_OAXN>R?0> "E_UC+??FLG]&M4V7_7./=G' 7L=U+XI%>?@PZ[TJR]M[-D7Q M!_/D?3FB*!+:EF1&4633;68Y)#*)8,ZU)DRR+,9>CL!AQ1L:L;Q;'<=?@8F1 M%#B.NL)2Q,?LB#'&$,+3$ M#@G!#&&DXEA[Y6$_V^/06'LI'GBLY;OT ' 7X+:'@!? ]C('@2L@/Y\!,L!I MX!%PNCT1W.WTA4\%CV!P_F3PV(L]AS6\_?MB/'^^F=HXBRK%;15W8G_8\_FYT.MQ1[9B; WACUA" #0Q '9E66;TK7\T5 M$.:O"WM9::LY-M_3KQ8F;;/-?ET!8I(Z@M"U]+ZI]YX0R^KO9Y2-0Z-] ;8:^ Q>[_8^]->R/'L37A MOT)@!C-90+"O%DJB>CXYEZK)F:K*1*;K-@;U(<#5UKWA"+<4X4KWKW])2HI] M(25*U@7>#UUM.T/D.0]##P]YMJV\BJF%:;K;RNRW6(,=/KZ+-]R8=?1B#G8H MG"ON8/FDKYL 0V]?GD5)=+'/#^2Y6).%FG*>2Z)L:UV?((^5B2T5[CFG&#(I MPD,NB3!1*.$C+A]KP*ER<_8UO%VZA8(W8A,675/J^7W]8K]Y\?BI>!"'5F_ MBM+8=!](]?B5%'PNDQ2%D?94R3C6?6$QI!Q',$P#E&(:1\BM?9#-I%,SF[1< M@+?2 K40@!DU0*7%!N\V%3=_-;\ZGOJM5L&.TGQC.S"9U>("(^\,;"6>@:^Z M;YD6>@8,]%IN?[SE@I)/QK*:=U2N<&T\.6>C!/B\;XFLR M"D)%3"+/"92Z"#"*)(,DQ@&,B6 LH3@2U.GZ\NIL4V.DG;#FY8#*!FCD=2.? MZQ#;L8XWX :FF\N8#9"U806*3W:Y/N&HM&*E^S&?V#W4H2?NUF[Z51M3WW1V M[A?Y1U6'$'X@9?FJ_LT$%7Z1GY^>25$*;OYM+F*4289R2&BL&VL+Q3",(5M8Z/@>LMH>.A3F8E%HSN))PHWXA]3FD:/1QZ//: M?=6ND]9X:S$PF^T.>T:)&3!JP"\2*D7J Z"VGIJUJBLQ?9&@5:?^Q"@+XM"' M=Y2%&:DM[[ +Y-:KMS>N5UOW=A]]O$Z^O1$X:.S;?[2.%O%R7?!"=PY^$;O( MJ-_5M_#C2M>9F,N"BU8T#ME=J#\B*6&_'KMJF>('$2<)+!&!%U"!'\M8.02-QCS:&-T&WXQN?4 [,-SU1= \.MX3&:[CWK3G' M#>"V1. D)-OVN9[=4C_]($_%TDQRZ@[9M>=1>GTMBU6IDW[F+ USE(888LPS MB'(N(,Z2#$8Q)AB%<2Q$U*F9:@=AIL936[]AL01EXP8_:14V \LZJ($+*4I] M!E%_!E0LA2PLCXI>%M+:?SO*\@SOT6T;N>XIH@O+G/7T[C4=4PH!HY')*QR@ MVVL/8 =I!MM%GK?I%=L#N8NM9/N,Z3'EI=R(_:3K>9X$-.4LAAF2R@*4>09Q MK ML!7'(PQ@'V*X3KQ>(!D^".9[W[?-@+B!AE0ISZ=FN"=AE\4+TP7;_/2 DX3*G*0Q0G$*$0@IS MEA*84L82*7$HN)/7]^PL4^.7G9!@T:UGZWDP. N>=)I6]K47>P$!<_:,EZN;?U4U[&U/*3W16SH MD_GNF_?KS6]>AR3M*]K[S;4^-]'(*=-7=#W-?+[VX:[1-/^QJ9O>5?>K;T*+ M72R$>AMJ"U.G3M^O3.1.N=+Q//S]ZQ^5X)^76V>'*1U:YV+3RA2SGM.4IBA- M8I@*G5*A*ZOF 8\5)^=4)"*,D70J:S&$D%-C\ST==4G^LM72G+[;\_C*_,9T M]-MSHZI.-MMYV\E6S[^[AOP,\#VP=(&\\>H.[38Y7-BM@B97I#GGO]-*_J3_ MN8YLW%O;=UI7]07X:3^0>ZLO^+/5V&N4TG +XC>X:0 Y1XZ)&@[ITU"J >?J M6/AR58KB8?G!-$UGKVTS!.,3WQ9U^UA4;+'2-=SFROC$.&?*,DV5/8H$PY#2 M#$,N,T9PC+#D3MV1'>>?VI;Q2:WAZJE@X%'P!Z$O;G7&)&"-&HX7#JZ+84?N M T(\,&\WDH-6]&W?FUD;IK/7S6ZG@<=:E-V@\UIQTE&$<>M*=L/GI'IDQV&Z M45[C&M,7LNU,_RC6CQ\4-2L2+K>F$PHBW0TZACC*%-\%>09)&H4PR^*,(Y$+ ME'$7JK.<=VH4UWI\C5NC%1S\I20'K>@V)E"OI; CN@$ 'IC@/&'KS&N.2/GD M,]NI1^4Q1SR.^9;6MOFC3K M>_+CZZHTI2+6Z[*@F[5^ZG[UE2C:7<]3%.*,LP#*.$'*OB/*M$LC!D42!5QR MH:P[Y'+I.+"\4[R^9(^Z @_@!OP!V+#NA M91V8G>OD[0-5#V\+SM78W O+!#O%MV4IE/(ST*@/]O777Y8: 7\T/])2^=P> MAA9YU&UE)/R/MZ.QINV8W$ZJQ[LEU_^GRQ&]*$$4$_ZZ#:+,$-=7U @2&A*( ML@Q!2D0 \R2A:@MR.^#T".3!Q M]\30/7'=#AFO.>LWIAPW7=U._Y-,=H:L[BX.MN?)5!FS:90BF,=A!E&< M4)B'5*B?(H%YS.* . 4K7)EK:ORR%]:X$[;S ?X:R':LX@FZ@1FE,VK=@SPO MXS%(#.>9Z=XF1/.RWA_)@S M&O(@RA$40H>W4TTK4F(8H8A)EHJ<9%;EQ;M,/C5VT3U;'7*77:&^3BE# S@P MQ]22S\!)?O)6_%E;Q[:: :5"W;9&*3$@X@XYX@,B/U)F^ KX)8.WA'"JTG@ MKF..E_K=4=N#A.^N8W1U'55J'*:MUH^ZA^WJ68__J8XNGQ,>1DDB0R@)UPXC M+&">1A3BE 1YHHZU2>"4YW1UMJDQ?ROL#/"=K#-S"A/+!V73"],NL%LD_G7< M;;U#GM 5PO"VMV M]%48F-RV#71V"LW 5B7=3@'42IF>9#/0+EBK&-":[?E51E\S!WMX]+4;R4H> M;0W=;&>O<%^UJ/W,-)Z=[169 ^O;[\@=FS-M:"7^N=$;L:XOWQ8AQ5SD/!!0 M1"+637\CB$7$(]L)"8R4CEV.S@)I9USWAF?@?><8 MF0$*BUZ%P&M_G;,3C=L&YYJN)]UJKGZXVTO_24JA0^'%]@Y8_XB8^T-2 MPC1#3"< )3!/(@:S/"1)'DN2R&S^+,IBQ;^O2;FVM*S&D=Z%)HYU&)!^=\+/ MZB85CC>C8ZU])!*,<_5R$TH"B#*NUAZC# 8LI1$5&8^"N%G[3TO^7WSE6PW^ M_W4?NA?I<"LY](&B?Q/2;9O1@R]#JS]H M L! ,(%&H]W6;!(=1AU%_Z_1 M6K3;>GCK*=IQ^HZUAY1)5:T+]D%?.Y6OS1T%(2'!84S4YI0F$&$60<+B&&9, MQGDB\S 0U*GVT+E9IG9R:X4TAXR[S?IQ5;I7'SH+IQWG]P9I8(8^C\\ %S]7 M@?!:+.?L1.,6R[FFZTFQG*L?[N F/5=R40=V5'\LU0A[?S0'K$_+=5.:3.8) M$HF >$Y1!'2M;"YLETEPAC'G/$46?M%N\DP-?+0[\2KEEH7KEGJW".QDUS; M+2]$&<*;2A>:-45MFO>G:*K3KLS]A6BT<_#"=5Q""U?I\ LS,&&=+SAK0LPJ M8)0X^'M]A?1IM"5P\'P.OQ0CN3KO'TT%9O.JO*M^ E34+P,OUJ8BD"[TL=37 M/6H]3-:VTF>OS']Q779T=AQ[/M]E/]P-G9L^ANA;3I.N] M/+PV0^_G5?F=7/*F?ELM%C_7E6;F<1Z3,,AC&,0D@HBE&:2<1S"F*2$D07% MG.KQ])1G:ON<5N>@4(GBMK:86/MUY#V^NC M+%6'4IA> /9;-+.?2".7U_2"WVDA3C_#]F[0;2Y%JN9\^2_!YWF>2"G400/' M@80H#24D'!,89$3(D&B/B5O^\N6YIL:V3=_HJNX;75]KMT>'?[E6[[V&L1TW M>D)N8-X[;+9="PKN;H/6I[WV)3@&ZJI],MU;-=.^I/>5'MH7'^E=?.S3#_5. M+LFB+1-4O7_]1:P>2O+\6+ [7;W]WI1=$#_6[Y4^_SD/9!RE+(QA+K& 2/T, M21!Q&. HI%*D>D;C9T^P"C4N5*9\[K9L=5( MJS$PFW58"/"GT09H=8#19YA*9UU1':CZF;,X;U41K2MN5ZJD=1ZR2V[-D6VX MLQJU#?D;6;ZIM&%XOBZOC-UR%@>EXJYE)R_A^ M5)_,'+EWZ@&C'S *-M?.M8I Z]C\95=Q]PW7U"4+Y^W6=JQ\G-,:=-7>-0K7 MB_RT6V1B%GG]6)3R%O.8T8"(F,&,)R%$(I.08%V3 ME%+!DD@F-+6*[+@XP]1VS%9(4$L)/NDD<"6G'=E>!O+Z+N@%GJ'OAUV1L>:F MF]KO3@!5>P10#/NWA]7+OZEG%01AKG^ ^H<]H__RN*.0R$VU6B:X_4'WU]FX MQUZ_B8="%V1:KG7G\SG)4Y:&L51 )1%$,D*0,!E#G.,PC-,T3$.KJ]%+$TSM M9:YE!#LA@9;2_E4^"^+M-[DO- ._R(ZH.+W&UU3O\1:?'7:TE_B:4OOO\-7/ M>6T/4^W:VIYI2Q+3))<99I!%(M057#.8\Y3"'&="BC0*180]](BY*L3DJ&", M1C'7E\7N&G)HL -9C#+W K,G\TR-Y9H0 MQJVO*GN)JQV$>T!J8IKH U;&4[$48_)>1/9WJ#4K(7M3W?/G8RQ_OV,V5 MJ8/4QO3_N%2'OTFS$"1%/$($2H(11$17"LQH )GB#AS%81 GJ5.+5MN9I\8: M>X*#^HL\K5<\8VREM1OWT7Y4C!1M405B2P( P9)1*@ZSXD$ M8A;ED,J4QH)%%(56YSF[Z:;&3JW H)78%.9L979P@MT&VL)5Z16^@1GH.G*W M2:@+A Z>0:]0CN3KZPNIF[_.&J&K'KC;HXSG4[/6Z,!+9O]4UU/DMB/X#=D$7CB7O5M_)'T66ILADQ1C'4=^@0"1I"FB>Z;9]0)\TTY(J@ MW8Z:W869&G?O"C*U,AN74:4[L1VZS4UHQ.>NG?EZ+:#MF7:<91G\X+M5 ^ST MT&&!>YHBXR M&F=!GD)$ T6TE*20LB2%>91*DLF0T-PIU>[FC%-CTVMM,792._8TO0E[RM6! M(TL"*$*=3T-( O. IS".)&,X2Q$.HOF+*.GJ38#?GWD,Z!G5F]U-DG']V;W0.O%H]QNMLT];9^"(CZ+^_\_+ MKZ5X)@7_**10O,N;Z>Z6]:UT+<^9[JXJH<0LS!64F4!\ MOA0/^C;[WLGSW4$:JQZD;T;==L,SM75T4IMG2 #'R.WO+NZR8 MM3-]J 48S==N! ?O6A5^TJ5[VK5HQ#=+T93EOKX$7?SP/1#T[*;O(LG87OP> M:)UQ\O<9K2N#*HM+5.M=6Y1YFN!$4I1!S#)=%4*$ZA1+"CP5FI@>7;;5@Z,,XES?VRR

    #B)SM&^1B:J",-=]%I,:-QEL8$8ID'N@$HA32(E1W$2!2%>9:$ MH5.!AK.S3.T]_W!@N/S=,5#G+(YVKW=O= 9^PVOY9J %:(@0OZL8> VQ.3O1 MN.$TUW0]"9VY^N$^P;[WY,>VFO#'U1,IEG-&\A#%00Z#G)G"+)':YF.I:$ 0 MAM,@SJE3)-^EB:;VZN]5+-TKL%S+VBG@]PRVUH>4WH@-?PSI %;'H-_+2/B/ M^CTSUQN$_5[6^'S<[Y7/=PBB^_3TO%B]"M&$A9BB4?2XF/[O*^/>%-S4S:\. M_VG]*K1YLGI8ZBI3=1JF7)7-GTPT4R@3$:%(MU\1#"(&J3IK5&W>]&!L53H\TFCBT-$VB@+?YT#)[F< Y-IJVX; M^@8N]6,Q;KU:Z;KOBC;(]ONU*,6!TASL5)^U&>:ZQ.B>^E/[5CB$.D[MVS%2 MM.2DOB5NH9=CKMC5Z,U1!!DO '1,7 ]B2$>=N&,M\N*EX&+)JWD0Q4', P09 MBA.(ST3MJ?V!U=EWK(X-J77A]&_B67TQ'XEN_*A+^SY]$_J6K5@^ M[(JI[SYS]Z2;Q(5S'H9I% 44U? M6YGW.BJH-Z^5&A CMF,7X>X+96?AC@/_P!N640+L) 2-&C.P6Y.=)OL?O+N^ M)NX]>WO#Z;4-;W=IQNVLVQNUDV:Y_4?LW'CFN + [V+]12I"GX<"QPQQ##F+ M,42!#"$."(9,G>7C+(I2%L7S]6I-%G;4>64N)V[)S GKHZ^WW_TB;M$V[1E/;:W&7I$[0A;LF)1-#E1;+'ARAC7M3Y+L1:?U^*I M^BK4>[W4D;J$XDSFD 59!%$>2)CC-(9,\;%=E[[92:=JAST$69J^^.AK/JRY ^=I\WK>LX5^%FH12(+\^M&O8BZN%7YO#(;Z?;M M7Z_,@8 L7_]G!78DT?[[3"WU/F-\+5Q!2Y/YP-7KT:J//..>FCP@=W(@\C%FUY[1U;K<,%WX;/G0N&B_[7K9SZD4 M.4["! J:"X@89Y!BRF&4APF.\B23PBE:[\9\TV/C/7';(!'PIY88-"([)B/= M MR.%SW".##U]4*P0TMF*US\MEV^/N7(K96M]#]MGVSW6#>.::YPJOO5'?OG MIBBU3U,=ZM>O7]4W97VWY)_47Y_U1^8A$I*QA"NZD3E$7 I($AY"&@D9)P$* MXE"VA5[L",=^C80<5L2. MCSRC/ XUM4)K<[D1&WS=HOQUA_*GFR@[$Y4[8#XYRV'V4>G+'95C)NLP@J^$ M[;L?135G1*9!(C.8I%+WIV,28IKH=G5)JDYN(<%2]$O7UM-,S4PZGW^L)>V= MJFU0M2.A_E@-3#A=8/*0I+V/PK IVF:F-T[0WM?V=GKVP:>[MJ)5 W[FBE(* M6; ZH6I3-S<) X+2+(:2!E@=GE(.B+7<5B&>ISB6&(F7-_-DP/ 'T:.%W$&-7ZZ8'3L6G49ZB.*>&"KK\+IEMN MJ'=WVS+GYU6I&^;<+1:KOXA"0?W^H12\6.L0XGF0TR0-> YYPBC4MT60BEC M*$ZP8"@.D*3SNO3*]S4IUW;\V$44ES?V6* !7UZRT)("8NZ,/@IF>DB!.)P! MO5\[YIQW6B&U%"A6.U:.D3H!QV$",8EB2"G*>91G"::B6:%/2\M+O''6IQ5G MK-7Y/YNE !'6*Q,%(ZR,W>8U--8#[UY:?+"3?W;4BZM2.JB_M5J8"BNU'M=; MP;H7)N@!H]<:!EWD&+?<00^D3BHC]!EKB&WLCV4IR$*G:^FIOJXJ4TQEK_FJ M>3/#B*-,A@(J2S^%B&$,9#)R?X?+0UKLQ4=+)20 MKB:_C[7RP:+>5V *I+I3RE I:-52G]YKPCTFRSK!/![IVHDU(0YVPM&-DMV& M]EDR8)=(VZ:="QJE*<:*AK MIZ?5$E0F2;VM9-GJXYHA9KD*=OPZ +8#<^CE3/\]P,=)ZK\(T_ 9_*=33R!= M_R(>=KGYEQ_ODG]4K8LG37R*(*4HUIM2Z!! ]=L?3?V^+W7BDR90L2Q6Y6]D M2>J\J7G(0JDH3$(9ZS:BVH3,(Q)!)A(:)0&+PLRJ$TAO2:;&:5M= %DN=1=@ MN=6ISD'2Y\!-6Z9S5>ME_E@9S<#35C67_)8^:WF=!T==H:%]7]O%V>E11T2K MWT&K"FAT,7^LM0&_C;XJ+@E'(ZW.6+E&VU7J_N[X*N+E ]KK"49])A@QM\@# M#H=I13X&[!-0I]A4RP?FDZM:L[W0GVI=I'QHOJM6)H@CK8%S]V2 M'XZB@[W6K[\)M3_SO?[?\R1$4D;*9A&29A")A$&2I;IF1!K%2"8XP(G+?VI.^2=(=E]5 2H>%'JF%R'<\W*CKY3_(;ASQ MWR!R;]1U.1\..*X([C&&]R712;S?7Y_H:C$G<200Q@E$:4K4$2^)( U2!%/, MLC#E">;"JOSRR[W"\ MT>+[SJJQ'\]W_@/=[-+?5B_&O/V\_+XF2TY*_K5<\0U;_X/HBC7K5].,E"SV MD_@PCU-$$@QYQCE$49)"G!*BVS8FB&:4Y+%3UF0'&:;V.K$X<@I.>K\-%-C MOD9*L"=FI]RH"Z#:45=_J 9FIPXH.7//=1!\TLN%F49ED.O:'I/$C4]W[?I4 MD8>'4B=+JP&_R&_B12PWPE2PF/,\3@(>1C#(D:($P@-(0DIAI(@@1G$2XCAT M:P1U>;*I<<*AK#H8M)&VJ?KB2 U7<;8C"%_H#4P3W8'KT%KJ-B)^NTU=F6_D M!E2W-3_M267Q3#<6.8X9VD43_5*NJNK;7@"1J.99H%@DDC&,.,L@0CB'-!:* M6P*199AD<81R%UIQFGUJ/&-$!$25PU9FG.J'FD[CGIF12E?CM-Z'&&&(FS-(6)"+ANG4EACH)8]S.*TAQG:4"= A2O338U)MO* M"NK68$2!O0;%5F; 'DGYX!H0?A5N.]+R!>+ '+7#S\@Y SM)/<=DVP#BDWZN MSCQU.5"[Y;\CC\5RZ):Z]E>Q&\F+W!.!)4\ MR!,H<^U2PHQ#@H6$41HG$@4)SHA5\PS[*:?&*XW0:I>NQ:XK/AU*[A!<9@?[ M=689!LR!^:61MX41W)V@"/ZLA;8\VSK Z1"4YQW6D:+OME_3A_VO*3D0WE=T MG1-&5\/H[$8:+U[.2;.#P#BW)_O6U-:! TM=W/G#IM1-L8YJ)P=Y)*,TRF&L M&!NB&'&8TRR'.$(T3%.&D7!+5+&<>'+IVYN 06 Y-W6=@ M?)V!1NR1ZE#;H35,S>D;<[]1?6D[1"[7DK9\OF--UP,/HGKI=(^!Q:K:J"_F M'=6TR-9S2H,D"F@$LX JZY+$#)(DY3#E&>64AK',G*[B;":=&D<=.=B5T&!/ M:O!G*[?CC;\5_G:,Y1O5@=FJ/Z#NQ5H=$/):IM5FWG$+M#H@<5*:U>59+YF^ M_*,I:/W55'M*[R6AJBU_/\FW5TKO&;AQ(@*)$(4DTNT#2)I!'"029E$4B# E7&:T1TIU M1[#'-%%-UN]>TC3@=27\NN30#+QHJ7W#;FFJ^@1S:!OU*'N:@UI:\+7!\=^O MXM@W,U"9E5AK[/4]Z4*OA/EM+][!UW5I=R"OWIUV&':\ MB]3N.A_4L10AC',0GUG$9,0$AI1 MF*6A.B&PB&&6M0>$>X?@Q%L3=S@EW(_2 ,M(V ;;E;7@2\>.Z&JY>'^\8#TQ4AY!J8ZF1&!B11_+^.*$VC!/(3H0W\@4YX7/9 M)>0V3%<3JU2V7-W#5,]FS+9?2+'4$4WO7YL\$S.SSK!_+)[?O]8I]*;#<1W[ M5/??>/]Z;K!O1?6?=69#%L8\R-6ZE5-[>W0)NE8D6ZN7J% #W>E@\SU_YOW>'/.J>T=.Y%!+;-KA:_;*-M1NV?L!N;D$]CVPA@4&0]A;SL MY+>$U>UI1RX]98W#:JD\DROP3H$!]R3'Z^"E-7J68>^BA_D MJ>EE1^N*?4NR:.YWOXORI6!B'@5$I!()&"$L($J(A#1E H:(("KS6,0QM\Z M.'3;5>/8ERUS%8($+C."(P#'(&44X#B!/!((W"0- @3T1(W"X( MG.:?V@;SQU+)M1"\6R2!*_BV]P:#03KX'4(M,7C7ROZ3KN[8B@_^4O*#5H%! M.C5WQ,YSA6PG$<:NP(S2'3AG-K%!Q">7 M7)UO5":QT?R81ZR>\770.@K4G.. LA!E$M(X0! I8H%41ASF <%Q1H(04R<[ MY.:,4^.3;9!QT>LRL M,A;=*]7V0M)KR=INDHQ;N[876B=%;/N-YLN&,ZU&!#>]U+Z25Q.XFV9!S**< M0Q[3&*)48HAQ2" F7& 69!11*Q>LTZQ3L^4:$?=:9[I>,MF!W=5ZZPGAVUAP M+:A&:M"(/:09=P6E84VY9##3- ,AR@@"#GYRAWGG]H+?)I#3O57>JO";.\RM%=& M_LV%L3,:!H1[8+)P07K0C-B.$ Z8UG]3A+=,\K?%YT;*O_4PW6A0I]=^D;^L M5ER?LIHPI.K[:L'G+)$!9@+#/$H"B,),PIRHC4(D+,8DB1$C3NE#EZ>:&KEI M23M7%+F"J!U5^<%I:!.F@YG6D&!EM0?Z]Q&PR?!7)EM5"ZYK?4Q;5@\ MT;=$R*>GY\7J5;3!BM\?22G>ZQIZ'U9/SV)9U9T9%XLF 5*G]+=U2NKZ>G4N MOSGJLS3D&<<22BXSB(3(8"[C!$82<1'C- P"V:V0B$[W^9AF#(D.($1DNK\32,& M*982XH13PD/",$_\M,X\G'AJ>\#/Q9(L64$6=9#1_$64=/66\.\+,'"\UY!@8QT<1*(4QBA- M(,\6"7%+.-!O^@BE@ <'VLX"&0*^P:^,Z/J@R^MI$]@Q M6KR>QV><[JY'MY1.Q[NEYXOF,[U_6C*/6&7XI'M>>;,C7:O_NKZ1O+ M%FI_*6116P!W_#\VM=O]9Z7NW9,(881AF$6Z M2B1*(&9";1Q<[1IAQA')4K=PH\%DG5Y$TK$Z^I9E*=:[1MGO'DBQ_,GTRP;% M(I?1M&*G1L_Y50_ZS@V391)Z?]OSN'L@WW1;';BM]VW4?JA:QU! =*@EK+ MIAB>KM9\]'78Z0KT;@2TMKJ4#/C>? GV;0&EL_Z3TMIC6^6A%\9K3^;!A!VW MH?/0F)]T@QY\PJZ-M9K*>[I2__I52[A::G*[^U%4VRH)81[(0$?VHQ7>]_KP)L>8_K"[:!Z=<9L0[= MFRR0\-NYZ=J$(W=MLM#]M&.3S4/N@7<-$;V&$;TOU@LQCQ&-!!*Q/JP$$.$T M5E2! IB*E&24(Y[G5CZIM=YH"\F [_V MKG XA>9=TKM'>-[)D*.%Z%U29C],[^)G?/L(?BF-[5&?@G29WFK.I#II#HCD?MF?#[CE-+BO2 M]YJU'\X#$\?IS>K!8:M>@59X4]/<9\Y2!\S&N7X],_]$KF O(V-_#7MEC&X, M9WI?%&PMN&E/^9MXHJ*<"Q(Q&A,".4D%1!0E,)<9@E$D).%1F,O4J1S%V5FF MQED[(<%W]ZZ_YX&T8Z#>\ Q,-3:Y"X),YSD\T*D5XUE;7R5R,W6-%%\=#%T7$#<3N:\(#B6&VIR9*3LHX<^_1C M+990B:)CD6)=1+9&R&^Z\^UI1TYVML;A--79_M&.69?;!*8ONY==ST>P(;KRE M&-KLZK\*[JF97L#SFJG93Z)Q$S>]H'>2Q^EG5#>>K 9)+F(HHBQ(DY0&>635?.EDY*FQ7R.<';6=XG2=I7II/S#A M-')YO ZZJ.T5AE#/[+&#^NV8&4X''>4EOZA+^[Y>_D W$^<]4:NC:+X#"G&,$X38.$(1SRW*D1VN6IIO9R-I("(RIH M905_UM(ZVB-7$+:S-?S@-O!KW14R9^/A-AH^#8,KLXVZZ=_6^GA#MWBB-$>)YUZ]Y>>[.=5^:$4O%CK(#N3;[+&.=^FY4':D M-#S\ Q-6JP#8:3"[L@1#EJKIAZ7G8IY=)!F[F&]-O9=NNJF^"NYTSR6,J$ MZTJD5!U=,8,T1!ABQ",DDPRED=/-^_7IIL:%NVY1"^,A7S3R%JYUD&^@'.92 M"!(P&$>YA(BA$.(LTC4OP@R3,$1J.W*KL^ /YW&J*QPA/=M"_3IK\UR](FZW MI?A#<>!]XZBMV5Y;Q5G3Q_PR?.Y9?U:H>$W=NS[CN/EW5MJ?)-'9/>4SHFS. MPR#-*-/1\*DR<0-)(4$40Q'KW+B<1"2+Y\^FKL_W-2G7=LQR?C*7=^%XR@'O MTL1#L=1-W@&M+W%\Q(W->493&<4IE%0&$,4)@;G $@813W*<(B18U.#Z:=DK M1L\=U7;"X3!5,_@&U(Z,^T,TM ?8*?!NZ B[(7CXPDP3B*B[Q+LW/NWN9?VT M*5?/HG$>XDPDF8P%S*-(.UFYA)B*!!*,4YKR@(O_??./7O4F?>>_+C;K!]7 M.L7P=[5NC>]/X C%>1A#%F("49HK,X=+!&,>1W%.&.*Y<&S5_BM)&0QKIM4 M^UI3.Z)[TY4:F!TM%FE03^Y@V Y3B-J7D&]4A-HSQI<+4/N>J.,F<+[N]2Y8 M^_WK[B--A.[=7^ID7U>BV1/=U,:Z?R3++\\F+_'G52E%L=8MQ_\ABH?'M>!W M+Z(D#^(7??[\J-3;MB>?(T1HJ'W.&4UTN.YT#V5WBD6XZO%@I05>!8EJ#0NKMO.)."VW:LF(>R$-KC] M=(U]2 YR-N@K.)O6H8&9@:9FV!XVH*[BN%;H@ :>&=@#: 9:B$"#$3 @ 8T2 M,(6O__UJX6OW?712Z^YU\YV&9N/NV-/0^=(V/RWI^AX0S\MJZD T8NGY:AVK M:O-4_^TH!C0/>$3B1$"<+"UMV MW),<_%&95M3@4[4NGFIG]XXQ*U/NUI1':;2OF55<;DDVQO*['B3'7M2A-]F] MH.PK&^G!NLW 5L6#Y1_GM.ES 88Y:GJ1\(W.F3[1O7S(]#I+Q]0.W:/G/6'_ M*?BN?%CC#].!&%$J(XB05,>^)(YASC"%HBPEK6 MO7IYCMD85["UXUM/B U,GC58]!BL #A-3?BRG3C)D#OK7 MKID*EDMA1S;^ 9["U;\-MATZC;M Y;?!N-7,(_<5=T'CM)VXT].=,UC+C>!; M?ZVHYH%0WR^)!4S3F$$D @1IG*8PH0'%.49AEC@5+SV=8FI<]/MJ"=M63*26 M5AU337#!6LOKG&MZ#*FE4=,+J*%MF0:77="%SQ)@EU7WG-)Y/,O8Z9H7M#R3 MBGGIDX-$35QPW*VJ0I^LMC=SNVL1DL5A$C,.$ZF+TZ P@131 #*6BSB*B.*) MCEW O<@W-8;9OT8YOSOK>[&MCOICNW:QK9HS&__"**OO);IBR#4=\5;,RW*^ M921&UW48,0[#6<0I16%TQ=@C4 ML#=D5ICXI+3K$XY*4%:Z'].-W4,#A6]5EQS-S?7_IQ^B9$4E%.M]-5ES1T[E M]M^_E@43<\I$D&4\@0SS5!FK.8-Y+D+(DC22.>4B8DXGVG'%GQJ]M<+Q&3@7 M@^4Y!,OO-\%3J-6;K>\$0JJJ&S%56R?P%@3]-:EA.!,]U7X*&"Q&#)L:9 U' M#8_RJ\&TPJ &61WG<*=AI'#;,]G#\L?\5U%50EPH0=!6(/ZX$42J'>#_"5)^ M+W[,48Q"C&0 ,=<%LB1#ZJ@"C"-": *7*T"O 5\RZ-9;Y]Z&+,I!FF$S9;8?>!1=K7>>K<;4_^!.NPMC:_ATP^] VYO M&C 3DF9(P#3,(H@"$BIS3VT><0@M M-H'>P(SD]6L%O'TQ8PN. S_W!FDD F[!$HV@?_/$J%?UOTJ9YY\M<_V>V6:7OGO6OH4>U\6&%.PH3D @J),H@BW2 M8Q0JIL-Q3L,P)L3E4NCJ M;%/CNCW/TV]J?U&RFEW%[>[F.KYV5RW>4!N8"/< VY,4_#F(P\X*%)]7#=OY>JEX(*_?]59+)^76_NL*4A?B%W?+$HC MKM@EASF)&$1$4HB3 $,F&.58$IP%3O7]W468&M]H\8%L.HD]>ZR#% MJ&37':5C!NPQ4D<7GD[&>5PMU!-5G?WY^VJ]Q[\[0R!E!.4L0A#)G$.$> 9) MFH:088Q9&''"I%,L@/7,4R/!.DGNFWA6 SX2X_)8/93$LO&9._"6SJXAX!S: M3[4G\_]LL_BUV'O&V4"VF3-<7EU"UI./Z\UQQ>3$$>,\0(=[KL[)[8VSYXYS M$TI%%GM69KCKH0DI!A&.6,L$D$F JOSY BR3HT8[QX> M2O&@XX ^+]=EL:P*UIRUWA7+__'?PC3X7^O'U:8B2VY;66R,%;>XWYO..HX1 M.0#>7R_&\KX)'&@^=Q XL$WZWZF\?](.G7L@C_$-<+C$G,XW8:3;T&$4]GI8 M&7%AKE[3#BS">/>]XV!Y<'$\TI3^2M'LB[E?T:!M;'A2?H9$D8@3*&/=,#(. MU.F)1Q@R7:L\B'-$W;+Q^HLT->OA^^;IB92OQ^5C.G:*]+!DEN>N41=BC.W_ M.!YP]PZV48&S[:*,7@RF&[1#%X!QE.K-B[YT0]&FT$O'D3N< []LUI7N\U$L M'WY>E7HK^+!:&K8_KOT4193'":(P"<(4(AKH]CN80A&C,$ BEAQ;W5RY33LU M?MT3'#22@ZWHP,CN8)';HV]QO!H$TX&I\CJ<#K38!UN'@\L@&(]T!MG'6C98 MLRW6:RV^KR -9YBNG@CL1QO/N'?6\,!.=W^Z;Q&>:NL5_G5;\ 6)A"$92Y@A MSB#*8@HQPS$4(9(Y0WE"J%/!YJNS38W(]X0]S#W^M7^9G7-@V]G!WB CD,X55(:IGW-NPC5$C:[3L"M&%CI&=XY3EB441S 2J8X)P2G$62Y@ M@!-)28:SB'&W!K$>I')YO<;I(KL54Q_GI1$4Z&^L8V2:AP6S8Z^1%V%@CJNU M@48=L-,'&(5F)@J8F>2]/=5FX&#-:KU,4H''@#A_*'L-F_,@UKC!=?YP/ G! M\SBTXZ'>5.YBK_-?WG^=DS"+TE3D,! 1@2C,$:19E$ >A%&:AXA2;E6M>W_0 MJ=EQ?RQ-,XS_JTQIOGJ:@:^KC769B0.P;IRP.T(P,$+#ZNFIN;^;9TE.PP1I.T?]!X4T@SB) YC$62Y0'G LV2^-$%'_-Z>@ZP%L'J/\OH].A%C M0 -_58KB80G$#_:HG7/ 5%^J?W;,_K%?"SMN\@OM.!1U(#-HA#;]H@S*'YK] M%NSI8=4DTYFYG,'S26#VDX_*8\Z8'-.9^P =O)%-+QS!=QV2ONEF2*ORC^6+ M$D"T@2KJ+W>+Q>^*2,6R6)6_D26IG>OS3' JB;*QTIRJ,X^,!,0A#F&6I#'& M- Z#V#Y5N[\\4[/"MAH!LEQNE#4AMYK5]*=^!YM&.;!JPA#U'\EB 5:F'YQX M>EZL7H534KB'E;5P@8Z[7@/SZ6ZI=MJ ;Z:SGEJ.5J%MJ*C^H]()_*Y-0:,5 MV*DU[DHY.%3'7;&1/*V[E7-ZNY:K):SJE7O:JN?+)>L/Z*N^6@_3C.?$]8?) M@7?7X[!=*IB\D&*AG8M^"36U7#6$$7K6$ M+I5 /*Z3Q=;X1N@/?2W2:F6V/ZW7?N%^5< M4=[[.KK4@7F;]1QI![U_+"I0K,43*,6S&MB4VE3&)Y!ZB5Y,K,%* JX7N-HM M^%^/!7L$.JE&M-ZY]4IMIF8#_JM8/ZK3YDHMOWY7]?-Z1$H6NAD[J!Z%6 .N M=VFRY'M#J6U5/*S*XE]JM*6B-*^Q'G MF=JKLR@*(&%I"!'%ZJ=0!)!G.<\R20B/N5.2Q*69IK8+[P0%1E*@105_UL(Z M!G-=AM?N L\+: -OGAWQ3-(";#_0- 361I?,T MYTP1?01I;GP!*(=4R@3R-! )"],\XTX%*([&GQHG[#6DJ:/).P=UUO#9O?T] M0!GXG7? HT>8YH'6PP1FUE.\42CF@7Z7@R\//]:UM,RVC\UI88AM[C5)6,RD MD# 76+W502XA#DD&.6=<$D&C)'4JLF4UZ]3>]8,64V>KHKBFS;LM@J5EX!O: MH:T$'ZAVJ"SC@)+?JC(V$X]<4<8!B]-J,BX/=^.HP_+,1V7_=2;Y:K- S>NRD!OQ)WY56?N->FX%&!7]LUA4\G\3F+,.H'-<5 MH6.ZZSQ.Q\A/$]-]IN+JUBA(DE"2,& PU?6O$,<$YD$J.7S[\;3?+?D;:+2_4K_J>G"I$^FOV],\P&!*,8T8KI67Z 8 M*HH@R64*HSS%:42)5*AZ;0CH2?"I$5T;B--&=Y0'3BC]5^TV4H>H4CSK'"!E MCW!C;IA.@8X!IZ-].RP/M1-<\Z'/Q1;M 6V[ ];J&[_CI[WOC/[SMG6@!F$& M:AA&[ SH>>%&[0GH2_9I=0/TO"+.?0!]S]_1\EXL5G]IQ_W/J_+C:D/70Q2R"&+!$XASEM X)W%*G.Y( MG268VH;5"@MVTL[ 5BL3EOBA%+Q8 QV@#_[4JK15>APO4-U7R]*^'W(-AK;W M!X'?_1#0%4*OAP)G(<8])'3%Z.30T'F@MSE$[!4JNM;-=?_%E3BF.28)#&/= MYB!G N) %_@@)"!)AA$73JVDQE=A:CS=B@U=^T1/Y2LQSAEBV(7^+W2:V /B M9H_Q89QW;[:24SI>=-#BO]1!H_LJ^3YR])"DV[;:5NN[%^53L332-IT\8R:S M/,0<RA'!),J?+M(LS36V3:@4%ZYVD@*TJUSZ*EZ%- M<)93%H8P"R6'B"0!I#+"ZLU%.:$\S_(\=2L:Y@7<<4J!;>'=DU5M%![AM=ND MO4 V\%YZ%JN;O7J==[F;4/C<5/G8VJ__4 W!GZ_J8JEJ"JU8=!F M7#V5V@'4WJ!^J@IN',$'VTCUP=1V^+R\>](GKB_RPB/;!N/A/,@C+F)*H,29 M.LUDDD&<1Q+2!,DP3WDJTLB%ST>2>VJ[PS>A;;5&.RI/ ,[#<"!"OLG&75(J177=8QJU?77XM*C,[#5WQ]] MC[Q>/C>#L40?=6L9>3V.-ZJQI^^V[7TM5WS#UO\@6H;UJVD43Q;-KX6H/E?5 M1O"YI#%B01RH74M0B"1B,(^0.HHD. B"'$F916ZFLMW$T[.;30_8:EMFX:^M MP* P$@->ERO2F:#/HBQ6W&T/LEP0NRW$/\A#WUKI4[?N(U![KM=BJ9LL-VJ M5@_0*#(#GY>LU'%Y9BUV>H%:,7_<[@:D3VJVG'E49G5#XY@8'9_NR&OUI4[U M17XL=,_F):_V"SJ*.$ZXP %,TD3Q&=%4EB/U:Q;$DL><(LH[%+"[/JO5>S9^ MU;KVUE>GO[=2.W+6=; MN:H_=N-P5"NH!NQ+R=7>7KZ"K!&+U;.>JZG W=XP!B)E@H90<*D.^R+F MZK#/)8QE3+(TC!D15O6R'>:U?O[\D%9R,*82XT.[E4R;ZZ! M'?MX1G9@"FJE-3#NR=O".,#EI - GJM?WIQV[+J7MCBSE MJGA8:MNA^?XC&B<)"2D,4)XK#J()Q$&"82 PYE&.!(F MBE9&'23]OP5_T#3S>:F+CMH7,+P&K!VQ](1K8"*Q06H ,KD"BD_R.#?-J&1Q M1<]C3U/N6!Y+B-UXHDT*_ YEFL0(PC3"1.$DD# MI]C5*Y--C1ZV<9+E7ISD0M\[EW498F/:__=H%L6)V6'_>SC#4:BOEO47S?PI M"L)\IC^O0Y(+1>:.C9"O+HX=L_B"?&"*.1N52DSAO(NQJ;.FN+?'C%D;M+P& MH%Z;;]Q84PO-3\)*;9[I1DN_JA=-B,.TVNUU=GMB^ZAK%R(24\XC2)&R65 : M2451"FB>1SE7OR*J.YRLUF1A1U&V$SO1U7;ZX5Z@^Y5S2Q-KC.V89@CD!F:= M6F0=PWB4JK^5>Z83HJ@PW4_\T8PK5#XIQWKN4>G'%9%C*G)^OF/)$5V&\_Z1 M+._%T_.J).7KYZ=G4I1Z>+TEZ7*,N^*,QV4;YQ03EBO-?Z,04]9?"U+4V2^M8K*3? M,D94X"Q,U!&9!Q2BF">Z/K5ZV5C&L?KRYR38^@4FNH)OMWCOE#V]>A'EZT]O MOXX\P(@E"$J4J.--$&80XXQ"G,HL297MD$=.13)&6,51[V0G^P+:&23C+21$B/Z/Z:PLWCU@81!&+H! YARC/0DB0XMM(Q@D6H?J/9/,Z_N7[FI1K M:__6R50N;^OQA .&*C9%WLE:G2$>BN52'S$4C78)^3D+<)BQ)(X#I+8LRB"* M"(64J-_7?:&&_8 M=G<#^?9.YWGS)G97O'>7/]OQS+D4]\63V$ME>"^60A;KJDW^(@2G(LT@R](4 M(AI$$([]!;622X9$UD. MXRP2.L150J)+>F3J'Y*8BXPQ[A;BZA/M<8);MWCO)SJ]'P9O2TO?(X9#V_+7 MP!O B6H+C5=3_-:%+5O?"U72_4C MJX/][WX4U5Q&2"IK.8 XR&.( II"DF@:"B.N#,!,*%O:K9&[P^Q3(_R=K* - M!:_ '\^FB=*?6F#7,D%.2V%'28,!/# _]<"V0Z_W#ACY;?ON(L#('> [8'/: M#+[+(#ZJL9O_?%ZRU9.8\R3)9"34^91GNO=+1B!A-(81#Y RFS*1N"6S7IQI M:CSU34%+%%)&N#[EU/?1M+2(?& TM"ETXG4U23J?K\/5LPKZ&2B&*W>^/]D; MUC4_H_/U N;G'O!P+?CAD90/HC7M9FFAXO[-_,-*+VN+8ZQ+7#Y55GM$:]PFJD'"9L_088@]UH'<[V=O=: M9[6^>KMU_HF.AZ$C9\21JX*QS=-FH?W6OY2KJOIC60JRT)U1M5NC:71)?LR3 M.(E(D&0P35D(419%, \E@;',LI22)&&X2WB%%^$F&F5A1 :;KM*1GY6 MS_)<-=IBC-49[Z;7=@;VU +UBNT4:[R_M.DJ37YX/)_YQ-KKNYWQB M>7+.\SJX&X6;!L5MAOWGY7XIO29IZ>-&W*^^B9>B$OQ3M2Z>M"1*4BD*W2%; MM\6IYB1FN3+\8ABFB*N38JZX6X0A3,.(HU7/H(=]_U:YS]OAK,3!9;Y?A\_*P7&J;4:GT ?K'*9@'%=@'E;@%U M<[SJ;_VW6;^ U_NK'M/LFD$:8;-G>IIEE,W2+R+M+NEYU&XGG/N2$E.8H3PD.9ADX%RX\GF-H6MI//[7!Q IS=.:$/ M' /O(CO1!KC*N*2W3_/[9(Y1+>E+&AX;Q1<_U[7X\HXVO@EC39M"N+^(I2C) MXE[\6+]?Z$(V<1Y&G#,$TS@F$.$809H',8Q30D2"L0C=RGG83CRU%]Z43X'O M3VO+?W(Q5)WAMZ.'(4 =F#8.,&QDKFLQST C-OA3"PZ,Y%Y+#KN!Y;<"L>7< M(Q)HBK%4C0E.20\YH33 M*$JE4U3)C?FFQE"'[H5[-7ZG\)%;*'=QR/3";E2OC UL/1TR%\$8SBMS.N4; MNF8NZG_=/W/YL7[5$M7!Z&"B>9*G-.9"G5UDB"%21T^(LUC"/)4Q(RA.49#U MJ)-X/-]$72D?2/4(GAN9NY5&/$'6CCIZ 35R.41=P^- 2/_%#R_!,$39PY.Y MWJ3@X26-+Y4ZO/CYCD M=&H&@Y;)\=BBH;$\DC@J//1QXYJN[D>(/>6\'@_TN..:_GN:G)CU^__6[5WZ M9;7B?Q6+Q9SQ.$TXEY#HFC8H3V+U9D4)3!&)@X2&4118.<2.!Y[:.]7*Y?9> M;6'*F$2(!A**1*00Z>Q2&M) 99RA"4.&.^08MH%K#=(*S4ER#X*9NZW0!S. M3,6QCD@&!#.:1Q3R-(L5@0<)I#3/8!)%<4)Q$DF#$=[SI<5L8.RH8#.Z!^<(;TNY]7KL@YK5%JY, XW97[8+-26/43H-T"!O[ M(,IU75](S?51/*^J8OTS* M809E',08YX'((V$='&8YZ=28;4]L\$7;*T;P&="B R,[V GO$%YDNP;7V6PH M9(<^Y+XQJ Z160. .U+\E1^0W<*J'-&Z&CQE.]9X(5*.VAT$0KD^ZR>A8[=Q M:+OA-[)N?OM'L7XLEE^6XO\)4F[%F#.9RI"36)WJ YTR&G*8Q;(J7IJ\7IWZ\;M8?Y'WY,?756DZC*[794$W:RWJ_>HK M,5T&0HDYYER7N9411$BDD&(<0A:B3%"94I)SE_KJ/>5QHN(1RJX;=4PH^5:? M)M]_!I;"M,M;7TG)&F3)[#AZQ(48F*3K-3A0I2DB -YI;7Z:@=_KI5 JS4"C M%-C72L?\UWIY+I':'V#O-5)[B#1^D=3^^)VMDNIAV&YT?+T&:]W'>;/:'.7H M?=5&NA(HC'Y3GWBLOI2_KI8/HMS+[-,?F\N(T@B'%,8RQ1 EL2+K7'+(:2B2 MG(J8\]"M,/F@\G8(Y!F8SO\X3H2>@3 "3T8);6\_J']6%KX;GP^[YG9L__;K M. F#O4ZGWJE[G$<-6HW-NO^V7?=:[<-$;/UY?[O%* OD MA\:9M-LN]>GI>;%Z%>JD4KX43'Q_5%N?2>38CUMO#KCJIR_RFV"KAZ46\JOQ MWIM@]ITG3*2",. XCP7.2AB[7.9[EF]K]3JL>:/0# M1D%(3U)IMK<,37N&G9J@UK/.#^GA\?3]3;#;K=YP?0?>G_97LFVI?J=[VC^( MNN5QDQQ5WQI](,_%NG[YU5(_Z=)] _E4!T+5(::IH-O M]YMX5B_-HYK\:[EZ*,G3%[9>45%&08B;3%Z>YA$C&8*(4JG^(P3$$>8P%G$6 MHD!BGB)KM^[M^:9&\SN)02,R:&36 6C8P=UH@;6%^]8O@@,3Z0WP;F=6=_O& MVOMK_:(YDJNV-ZIN7EI[C*XZ:"V&&<\W:Z_3@5O6X;&N-T]E\4)T%^*M:T'[ M?]L_WE656,]SFO,L)P*&/,PA0FD.Y/@%=/ +F58R8$0[=)?6.)M_\'F58H^0 MWQL1BWE'OMBP1^+T?L+AV0[VH:U7]$XW ?]9?1^U5[2I5O>S$L#\N@M,"$.< MHDB1%J9J<91!&2K2"F*89CH)E:69P%;5A >0;6IV)X*)"2!Q*4+F>;4LK-&W M6X.!&7&KF"X*![1J>Q?6=1?'G7; J >T?B9:I *UAD"KV/QE1ZAOMZ .AO'; M+>Q(1O290/AJSR/!]0H_[5:8F!66:OKU8QW813?KMIZK+&3SUQF0>IU?M-*^ MBL\-LQ17;77/4XYGUP^#U<$98* INB9U;^\>M3.B)&RM+X>,Q39G/*4RT,7K MB#HLH!1GD%">0QGPD$5A*G/IU#GYVF13VS[K*_7U"LC-0A:+!6"-Q*Z9X5?P MM3L*^$)MX UO3TS0RFD<$XW][S/+_#8@?K//K\PW8PU6(L/WAD%0/23&YU<0]R.33SA.#"9[-\>U(+J MOD$&L0&J:5I@XI-/KDTW*IU8Z'W,)C:/=+@F:"KBF6*27YZUX?Y5?1_:Z_@\ M1C'/JR\ M.L!XAT0;/0Z.?%8/=+/!?BT(+1;FP'@FO^^.5L;BFXM8MV=$$LHTP!"%40JQ M)!R*D*8TBM3Y+G;J'FXW[=0(=4_JO[L97I8PV]E@_L$;F%WW!+Z0T O^;,7V M:)>YX>331+.<>51KS0V-8\/-\>F^)6W:&CF[BMV"$9SE5,*$Y5P="%D$B8@( MY)2F01Y)GF*GRH%7YIH:[;2B:A=SMT)HUX"UXQQ/< U,-.>0 G_>FY/S($7/ M+6 9IJ;,Z71O5$'FHMZ7Z\5X1BTFDSGM)2B&- ME:T2!YBFG'"6A$[7SH?#3XT<:NEL]D\;[.S(H#LB [__]F"XQSZ?U=EKZ/+A M#.-&'I_5[B1P^/RG^H::F2B1WU?Z7$,6=0#[G H2B30.H7IA8W7@2!G,RW>ON#;N! MW_[3*+)6U"8M8HCHL2N0#!,V=F["-XH7NZ+[Y4"Q:P^Y,0D7Q?S3XC\ M]DNSF'?D7FGV2)SV27-XMJN)\4D-^J ,\E_*U5]JFM73,UF^SG&8DP % O(L M2R *@@C2-,LABAAF4100%%K5G+TQS]28I]E46UE!+2QHI'4U.LY#:VMZ] 9L M' /$%:L.9LA5)'H;(^='']DDN:KBJ6%R_>,=G10;6HE_;A2G?%*[[OK7;=4" M)E#$O^Z^TQ3 MW.-.W_#5@1W5+^J3Z^KSLJZT\ ]1/#RN!;][$25Y$)]^B)(5.ONW8&(>HYBB M+!AF?9".:3]2CH5H*_@;+4=K?VL"034K;,- OK;46,P M RT*H($!M#@ X1'*A]_];SN#B.*/^Z&,_ZZG.QA;R!"MVWQ=_'7'6/ZKE]9 MXU_+U5+]R&H1[Y;\PZ,66,FQ_YEBR8KGA:AVD2HTRQ"2:K_#2!"(A$Q@GI(8 MAC1+8IX3'+K5^_Y_,8QSSQ"WQUZ=P4R/L_9#%G4IU (..EC9:@7VUVNJ/ MW4) O2RPY;GCC99MZ(/%WHK5BD&CF>/RC1*7ZA/Z(0)9O#WC1>HK MD*>>?&KLW)D\NR&K9]:Y9BPWVY)Z!1B-_6V!'Y'SN*_J.DR'+/\VWNE;'>[T\ZI4E._X?FVJM#T]S&@=YQ+" M88HBB&1.(0XSW9LL15F:IT&46UT8=9I]:EM1(S 0C:2@U#<3]<\N1?Z<5^$Z MT0V.[< TMPW":V2?@1;H5GS0R@]V"@R)MT.%@2%Q'ZGJ@&?\W2H2=,7O:I4" MYT''JUS05=^#:@:=!^GAD:=7G"2-CX0>^TBV><[JO+5YJATF^HC%U+YV+\JG M<,Y3'B6,2)@2A"!B*(%$!!+R- HP%WE$4Z>J",.).K7-J!4.J,F>P+MB6=>: M=3P?#;BT#I[U-U^P"3C2;_C1]VH^["E<][$Q7P.MLV>7^:#+XMU#/HRTXSO$ M!T7]K/][V!D'B@*[Y)>O,VP_+ZMU:8RGRA0 O%<[8N.Q5[NE%,5:7P?63OLY M#HG(I60PXSQ4FQ!1AQR")201C](TQ"C)\K:=Y[W'8#!_*EAQW6&'S_MQ#DRU MG+JWH_CQ7&@K4V]5G>[RQOQ*> H+&WF%_\OL9DV5@3T FCJ=:P7!+F9L]_W9 MAHV-&!7F?_%&C0KS*/ZTHL+\KXMS5-@ (G3;)K\\BY+H>(9?A9+EZ";QFW@B MQ;+]Q]HJCS#':D_+H=25H!#.!20,88A2QN)(LEBZE79Q%6!JQZCM'7OKX2A; MF<%""VV.5V[[E/.:V&TV0R(]\(ZQ%1T8\22!#J]E,(\ M%C%D4C"*<\2%<&J)?'/&J1%<(S XD'@&&IG=F.TVW'94YA7$@;GK.GX#U$*W M!L=%0ZLL;@F'_L'^QX+;%69^<[_J1H3)?PJIO[WI,?YJXVZ\=5J5OX_!W$03 +@J -=RN60']=34R< M+OTP4T?(2E^$%R]B\3H#:A_:Z/.E^N>]R+B_@S"+9P'*S#^$631#R')(UW)$ MEY?=CAX]+>; C-BLX_=Z'9O.-5\L0A$[E!RZB8??2D.7IQNYP-!-O4_K"MU^ MI&LZY/H#J1Z_EJN7@@O^_O6/2E^J_:S887ONIIQ;.JR0'3(D.GAO9]37]NTUE+MA_ K+5 M )"M"JZYC]:K8L<]PV ],!5IF+74X.L^S'^T,&^%!W>W8>Z0K^B*F-^L1.O9 M1\X]=$7E-,/0>81NS':W,(O<1/Z>>"&:%)6Y[A>#WU/NE&92?QZ=_-4-* MN:@:_9D5RP^KLKQ;%Z690[W=KJTT0Q48\95]GS,I$HH1!MPLT0#6L00\T1E0 MAE%PJB37R$NB.K2!4V,C8U*DM%9B8_>"=9/%(=HLCLW>KXAY)M(,UL>.P0\O MV'-#!T>\>7\BXZ;RQ"[#FVS;CF>1=2UZ99W[RRQJ_(MJ!W?B:L;'@/$3 Z$? M-+XBM(WCQE\,A/!1?,90[?2LG;I:WMLXD/?+)U6S43F7,>.$80T$23# 66ZW MZQ0%2:Q@C$7*<:R]"J4>MS$UWOZX6H*:I3=1L3=S%K%:FZ):W)85J?]/G,%9 MCFE%"O\3)W"6)0-3M[4.5/E7'?L"5E\][WS04JLGFAFWKNIY/X^*J%ZXM!\% MM:44[Y9'^C GR@MG"4KC&&6 Y1K;&@4(4"(TH IIGK),I8F7@*)7ZU.CK5U] M4,L11])-GK6) W2.&Z4,!OG 9!,4;6\NZH5:2);R,V!4_NJ%S7-FZ_>0?IQW M01/KPZY@ *2V9#W/0"PY!UA)FQ"76%DJ! E,5)PH[$-U+HU.C>'>VHB<@F^K M9==G&\QL)F5OE9D!K1ZKG%OQ;;E:K.Y_[/[85L^)VI(Z961Z-/JLZMET^:UX M-%?5R4XGU.[NZJ6>5 ]L_0_/PU>G7G7CR-!]-3 U7M80'*A A ]&(8G0J=U1 M^<\'B>>TYW5O<+8[H?WW7XJMO_ZQFC/,8JK2&) \I@!+&0/*L\3\FFDQ9_,&6JE31VZIX MF*.\8Q>FRY36U_F!":GV>Q;9JC.UYP$.$$[Y>J%Z:7MYS1;M;\^9XN"AXP@F MGG!CIX-XZF]]D\BM7(?85">;=TM9[=78S[S\$\L=N\!M MVC($L /SP(')U19_8W1D+>TL!NVO(9/-_9 *FW/NV/;(J>=^B!QGH'O>WW-B M<+=8--$:A2K?KJRRQCP36$A(,%]%TG$_8::)^J&$Y=R[;<9,I4^,/NZU7E>WP#8 /T"LB5ZR,F"TC;TUVE L.T%%79GZC@C_P M>+'S(ZH=J?:]K=71H2^S_1\Z_LRBQJ/1NL:C-,MH7312G9:AN\JO<$L0="]6 M<;FMA?%*N@1!XJ"^2Y@G]E6X6XE_U&K%OYK7KSTOS!4Q2PLS=FF2Y0!#F (& MD0!(L@0J8J8;L=.,XG(S4YLMA)47. .MX[KC9L"&7GE8 ZW0_V_+8M-HN$?6 MU/"Z 9>Q"*LX=[*ED?7E+GE[K"9W\>JI5>/XV3QB4[9JZ,\$@ZL_OC4LMZLV M,CZ=$[Z-5_:@QVI?\."$77UT26:@ZA;'^#*5!>O;_GZ-P MB*]S_S\I*]*S3\M<[P.)Q=W+GJ=$2VAWTZ$TRP%.4I!C9OY',)B+#. :DAAI@ M2: 5[4^ 8@QE*!&&%KUJ9Y]I9W($=R#8WRKF5Z;V5L8_P#6.24(V/7/_=;2CJOK#:2XHK #5F,4NX MQMAKAN_4ZN3&/#O/M$D!5?4&M;?;DRR<$(\)EI*E*8B1S.TF#0&,)00D(DMS MI0P]R\RG7D9XQ$]W<\UQ9?%-RNU"?]+OEIMC\^+M94;U?ZM7ZH=K\;JHYVM3: M=]\-SR[9HM57*E__,"LPN17&I*5L ?B#=+SCZ>Y+ M=^? O#M83_J?HPZ)=- ST4$,'?=\C MEA55W"G&5JU]5=\WKPV _Y@K+#(S8C# 1 8!5BPU*PR9@5C$2G,$;5R1<[+$ M#89,;438NV*EH:TCLU-3N4J-]+KZ<=@^N\ST8_;$\/L?;2=\JCOAJ \JT/S=6/UH73$W?\:* X_ ) 7 MH_!O>?YX,?@!4#B(P _QO)Y%=!Z5K0&]O/^@F*'X@O%B84;8.9140D%L103, M (ZA )SD%!#.8IFF,:?82X[W3#M3&X1V9D:5G;-H9ZEGW9HSL+HM&0* -? X MT0,G_S(PEU$(6LWE3%/C%F6Y[.]1;94KE]\0>O]9/9H7Y9MYK)D\WZ_90U48 MCN0X2[B(@9F@:H!I0@!EJ00)(P+J5">(>5'"^::FQ@J5I='>U*BQM5?AO0L( M.VXH!,%M8(+H"UF_X.F+: 2/9C[=VOCAQ1>]/AGO>_F.O@&X8FT9Z*VJ__M^ M>2>$U>HJ/RNAS!3&;I7E..8H23(@8UNP$TD*N- *I$Q R*S.F43SI;JWVD5? M?0)RK[?M]%'D]4=Q9,%P'TAK:+3>6>H;E.N NQNC!(-QK##=VLSH56OP7VSZ MQ@[1S]<1[1&QZPY1V-!=AW9'CN%U1^(XF-?CWAL2BK^M%N:.LDY5L#MN'"9Y M!C+*K#P)M4E\9D&3:2B56$3V/GO_X+19#\1[5% MX+N8.0&I61K26 @$9"(AP-J 6T$:IQF*?^06NW ?N"\6HWXZERF9BW M$0%D0RIQ1E- AYS;=C7!EF,+@'IY\ 2/?@GUYXA24G/Q-&9JY>^!S36K_' M]..\;CV[NF+=+^J!J_4LAKG&IH: MBQT4^%NJS1\K[[)[9S%UXZ402 U,0">J($:_UU8&))QK0(1DEK-MC4HAUSQ^ MSA57K^]9A+TYJ; 9:TMY8@J/,$(TA]RL@&*K_24RP#!.04XE3&F:8X(2G^7Z MM0:GN7A?[*VNSO*[B_E_Z[6,OPJ\&X.$A'-@)OGP#,-WEU'SKYCN"$70\NG7 MVARWEKHC D>%U5WOZ\3$%.?#JBP_*C,/^LJ^SY%()&*0 M 2BH !C%'' <$X RF2@">:J(5PBW9_M3FZ9TS(]6E622.%@'+(SM,SM_L4N$ M#?ONQT.^G>-&2P-"/C!+==&N!:I.KKI>6?/_8DLW5;!_O0"[-Y'U!"\DK_F: M,"K-]<3G.>OU?4SO@]E:S76OG+*/G4R4Q G!%- D5W8%!@&7:0Y@3#15D$L$ MD9\TTOG&ID9O>SUCY;GXN@BI\UEK$*"&/V-M-9^[6D@N0;Y]SE:O0A+X3/5\ M>V.?I5[U_,09ZO5[>I8N;S797O_8_?B?A5J;!WW[\4$]&2QLF!)57"BD,"!2 MI SS$&>QQH(EJ$84Y)FB==LR:W9J;'(7@DRVAE;K3(^WOVM5V"8(_IN-!,> MTX$)YQ8X_4N0>Z$3M.:X6\OC%AGW0N.HJKC?W3<4S2QL-;MJK6@UO\O/7WYK MMCX1RZ!FE "*D2&D5"% $:< "1J^, MP;[J+I=1=B.>8-@-S#<781M@O]D)E^#U+L\V.'Z1RVN^GZQL>?6F$%DOMD#F M/$ZQQ%D*S52&2X 1L=7M5 Q0PE.-$T0X]ZHX<=S$U(ACG\.QJ',XQ*5:KZXX MNK'$;>@,3 U'R2UAB^">]WVXE):JE1?,9NEZ>3F1Y>#*GB=,JBR5.I,?TTA9 MEV^WZK\46_]4/*DY9)I('@M %#/??IXSP#A"@!&$<,+C'"'J\^W[&C U9C"O M%/8\6_*%W/&L:4 @ASY[JDR?1>8I M3S070J9>835GVID:7>W,[-3ZZ+<#H^E!U#^>RN780BZF7*F MJ7%W3R[[>[1=ZY6HW>'UHT1;@5L^(/G M_EAY\\(E,$*2PLEV1F6$2YX^IX.+U_8,?C%=*HO%UE;T_*+$=EV%V;S[+A9; MJ:15R;+GSMM:I.:3?L?6-I7)UO.L-T EB MV+AQ.R&Q/(KF"?KP?ES_ZWHEE)*E;>T+6ZA?V,;:\:-*ZU@L;%GGU;*TR1X[ M^:@Y)"A39B)HA]@P-1YO3-[%6ALO*FFU MPE=I\)9^<>/A@=$>F'5;ZVMVM?;/HM:#6KQ[YX/%WT7IT9M@;T P))WV,6-4 M\KP!I^=4> R#@#6 L&*)$0P"Q)-(DUCI'R MH;Z3K4R-W)H,\IV5/=?!IQ%U(ZV;<1J8EOPA\F:=BQ"$Y)73#8W*'!=]?Y3/W\F]]O-WN_C6.A]W3ZQ8 M6,V4GU9K._'8K]/J$@Z2R S%.@=:XQR8[S\%N5D" 91QEA%JZ_+UK-UQI>6I MT41KN)UU[TP'>K4&=C'4W2"YL0#'M1YQFU ,@O/ _!(.XALJ8SC"-4RUBVN- MOU %"T=,SE>E<'U /S;[>;TJ2[."TL5F#@7"F H$6 R3N@IU#C&Q)_PTPS&& MG%&?W/C.L[T8:80T^,JTZ(&M[XNE']ET 7.CDYXP#$P8-0*U6>&XX(2O(;_V M[N-'_9Y/^/7\BSUU2>]]UT>UWOSXU738YFXI[2+FT>Y;?%2;>48RGTEW76IL:O.(UM99]&BMK0NVJ-;@*FG<>R?U/-+. M6Z9!\!M^;[2!KC)TIUC1(/?Q G)]]D"O0A)XL_-\>V/O:E[U_,3VY?5[>H?R M%1OUH7BR1=TWYG4HS(3AKBS5IKQ[6*TWQ3^KXZ-WWQ_5LJSB![^:?E%SCEB6 MQ#$!-(&VZ*!. )>&;70L<:Y99EXQKVKL/>V8&OV8UR_QCOGKU0%NU#,"K .S M4NT!J%R(]CY$E1.SR%I>)5%UW6FBF2M7@@86WH)EX,##7J:,'9AX"UXG A=O M>EP_?C0,NQ?&F$,ES57$2H/91 VD!: 9S0#,%4V3&#(AC?0E;<#)D; MM?<&8F#"WK\VC630X-K1)Y$(2;>'#8Q*HB=]>TZ-IR^Z\>BJDFK]M#9SSR?S M2JLY3,VL+M9F01DG$&"IS(POA2F B#-&>)PDB5/8SK6&IO9-/S^6J/_YECK/..'GV1.O<]0-FM7Y6 M]O3=@\9E#G*D8 \C0!&!.[6,3*($XQ5"@F./>JW-;?E*F1 MR\Y(>RBC*S,C^S(.D/UZNFOU1M:X<.4'V(JRCI\J> MMF9Z2;,74>N5/GOYB7TE$I_,HU?K'Z?T_&2NF9E %1-[(+A=/ =+8SR *) MUST_%DATN*?O',PP4[DK!9.SC*8BL4'$2IDE&96&'#@!4.L,":0AHYZZ(=W' M3XT3:NMZU]EYAIWKQ*5SV)G&00LCSQY.>7<\(SAYE=]7 M*^Z7W^M"7L=U;^_OUU6MUX];FW&[TE5*5KF_3LXQMD6MS2<=2V)#;7(!&"?0 MP*F0S@F",';ZN&^R8FH<4)=U7N\-C%X5R\@K>?6V7KE,&Z-A/3"[U(J$Q]6S M9]'.C:CVPZZ-:D\ZE\LQ>D*N1*5>49WZO'R/')CS)^P9YV$B"*+U:&(?58T1 M<89H-4+<]O!1!I(@_K?C39B']=1IJ,Y.WVS7]C1FGF>"QRE. 4^MABU,-,CS ME &LJ(HQU6:X(3Y'FP=/G]K19EWB2-3&1:PRU5/ZX \M\ED;T@&9OO:KEG4 M6!902N"4PT$E 0X:&#>U_Y1O1RGZ)R_J&8:]6LD_BL7BU,8&@HS9J$^0XMAN ML.<<,)3E(*=9+/.8YC&)?1:"%]J:VHRP-=4S1/L"F&X?%YL8-^[[N]U$8N,,M/;/.GVM\M+L=6F",59H"E4@;KIEE@"58F2%> M"ZZ(XM1/3>E<0U-CAV/!G-[[1V>Q=>.+$(@-3!;]P/+/1+^"1-!D]'-MC9N/ M?L7CHY3T:]??6)#K;KOYMK+Z%Q_-VU IC*J4:ZV@!BAE9O8OD2V(')O9?RXQ M1PBG%,->Y;B.FIH:0W0*3>ULG476VEX2KA T MMY6G:0)8IF(@L6 I5Q+&6LZ?U)JOQL*UV]B@=&*7R#(JEM'FFZH3-\##:KGY M5D;OEE8-\?]LERI"=!;9#S< U#1%B9(I U3;_"5!",B)K;XBB3"+99A*FON/2\G?$++9WQ M]&1]I7/7]CAH???]L5A7IR]FVERLY"==[:M_JH2-;>;DG,$T0UH0,[7E"F"4 M")!CG ,2)S!5#&,*G=37W)J;VO"U-]CJ_AJ+:PW$^[7-]97L?%GZ/E ['),& M!7#HE?$>N]K8Z)-NRK;5]E8ITT$1]#C>#(KD2.>8QV_C2D=EA6@M15[E[_\U MT'&E,T(7SR6O/V6\ TAGCPY.&MWOZD' ]3&'^+$QC%(NJE:8_+_;1D]SMUTF MA;4Z/BGU9K5=POFP-(\2/JF!]U M[/]W#T9Q1-^!F,-C.C [O[D"H_>6K]?K[,[3X8$=B:Q# .Q'V'Y0761MQT>- M1]U^OAWPM^>M/0^1M+:"R$]JMZ7TF6W49V5]*Q9%U6J56G:WE!],-RYVUYGU M8(;C1#*SD$96YA@+S '%- -)G$&STE9$(Z^:/[<8,S7:KQ,AZ_SP:&,MK/2( MJM0O9?J'+2*NENJ2VE;X#G,\O1JI&X:>Q[=N1)T=;.M)=.A*F[1J)9 J=SK7 MVUXSLR<1-%(F!+Y!S\UNL6?QRKRR:,\W-3GBM(>@C:7_^B\40?(?E:;; MYH?C#-D!73<>#(/9P"S7-?+?HD9;_K0(QR '_-=!"BKO>KZU< YPQ O)KZ7@O; ME5'K?3T'W?L?-0#,CL3PS+RT0B':&!BBJW&QWK3^(MT7+U?V/S\7]MTW9%-@5"I$/R<7Q[OZ"G.:.9&R#RJ>U%NV M86WRJ40)EA3G(,U58FO+42S*>>7ZGL<%=F?\M14# ML#-VM2RK5=?=>FUZ7ME#X=<_]I+18_ MK=;VCW,A4)RGAJ6IU!G &L:/Z/* MT5D3\VGWV_;.1K];=Z/&WY"G*8-V2-"3F&$L'?<49U"TCTZ AFUMK)) /YEK MYV;]RC.H$Q G4ENY4F*6N9 #"F62(X:)8$YQG;>9,;4QP7PJZ= %@2KXW=A] M>% '9N\;R@%93UZR&E 7R9&\(>ZW079&Y>K5]L9.0UNXO#QRMWI[MZ),S\ MPKX7#]N'MTJLK=SL^^4NC+!AKK=;]77U62WJOWY6I5H_V33Q3# -*0%)DB* MF90@UVD,&$9(TY@BB=WS&'L:,34":MR(9..'327?1UI'JO8EDMLJ^&U=NV,O M6C<.>62&].VWRX0U5F\,3&-M1[0NF$E:-]BZ<2,R?D1?5U'CB;WH\W@=X9&S M,T*'C)3$<_,7$BH9\T9(+R;[]'WV>-D_-WI_D YTZ[,\QZPF^6C^[K?/<\RY M1@3;(IBQLCO$T P_"@)*:1ZGV(Q N9.@7/>A4QM3WFW7JZB."S#3LNUR8\N1 MF#6F^6='DNHB=H7]>^(P]*2T!P3N;'#"YPO3S?;R>F7<_O9\57SPT'$^ZQ-N M[#[34W_K&5NBUC9^SH!I)J#ZK7I,B-7Z<;7>9ZS5)&Z6M%+-DS212N8,,(U3 M@+%$@&48@QQRA(1$J2$/W\"1"^U-C3EV 1$=FSO52AO+(VNZ?RS))=Q=-ZZ" MH3G.SM5-0/:*,G& )T"PR:561H\Y<7#Y5.B)RVTO$X'RL]6?*M\W@C1SQ67" MLBP!&FD,,#%+"IZ3!. DYBA.A?D?)TX:QKRI45AEGG'58*7FR#H MQ'= P^-^=%T>/ &>Y[A[".)FN,%! 6&$C)@MUP!YC9B$-K#U)QG!&7, M#"N9U\G-\Q:F-O/MQK=YGM(<@>=X-G,+)$.?R'30&.(8YISK00]?CAH9]\CE MG(]'!RUG+_3[F,OU9O[K>B6W8E/>+67#+&6SQ!)4$\J9!IP06V0@XR!'0H T MS6.*L^ M>W-_YYLWOSW_WB\W,,HW[^1C^]V[73R<1G*C\GYPQ=O"W&CS?@NVF%/%,ZP, MP'FBFQBJ'&,%&(6:**ZS'/D5Y0Q@U-28I97*MR&*:WN@*#O&AI=)OMIG7%.: MJ0P!%N?<%E*5@+)8 AWS7"@6*P7A?%G5;9<3Z[5=K:F]<6__ZJEV3T\%V1;*/'K;S MLWON[*Z>5-7 6\4W7Y38KBNUP%:M+TDR+CD%NI+&SC@$5&0,9(SJ)$X3!)/< M*VK@4FM3&R)WQD:O5TOINR%Z$5?'3?B^]&6G=--/<4^BZ="*O-M6&6NN:$#DBM- $JI!#B.8\!Q H%(.&50 M"O*C?Q_O;EZ]V);%=_S@:GI*88(X2!"3+ M*,!+ZIJ8WYK9W1ZV*Q\/R$+P#J]CV'@6G@C_NW M+]$.I$%'^NMHA/SR+[0V*@U<]_HY)SC/=UN\%<'R'.>0212 M*(#.S)UM;-P3NFL^'YW47;VA3WWPY9=O[%']_,#_ MLSU[SZEY+R "G"8IP!IRD'.B )(92=,DSIAPRV$^^?BI<4)C8&0MO#X,NN!W M^?._'96A-T># ^)3L_L68,:JT=T!*%0A[G-N7RZ\?737B(6VSUE\6%C[[%7! M-1A_7J_*-.A0BN-30U5J]-C;JV1L;8/EM;E^!UV/4+!-K0 M>_[CX.6Q*1@(MY&V!WOCY[=EZ #*Q/MXWHX,7!AJ++]7TK'W?CJ^Z> M6+&P1RL_K=9?V$+5=+Y=;;9A3R'$.(0!QS"###'/"8YH9\TYBE>1:G4/K%QP]JK]-G-6K@ M_-Z-:&$,M%.QA9W6547=(8H>*C=\*S$/V>5N\^Z7[\:QJD ?A);.HIVK0*_6 MH#3.MM-RZV[4Z6_K2=1Z;*;>W6ZOW;;*)CO'J^M#%I0>H8/"EJ,>TN"1BUF/ M@/UQ*>PQ&NTW2'U6Y6:]%1MCW/+^;BD_J^K)-AF_+?'T<6L'PT^Z-:A\MR@> M[*)$R3FF.*$\1@!+)H#YC0*:BPPHG.<(HUQKY;4;=)LY4ULH[(ID+2N;[;K_ ML;4Z4CNS_<:8&WO,;1 9KQ\&'B4.'*D2@AM7*E&;3AVSC[LNVCD4O;O>1=[L M'P;9D/1^HT6C\G<8])X3=*"G]F/@7]>KIZ*L$[O>KK9\H[<+P_%6GZ><K9<0: M4Z.U$JIXLN.H'WU>A)N)&#*-,4@2;8:S7'/ M$A!AC(-B30#'?$:SD*!/<9@ M]7Y9)Q*7MBK-YIN*V&*Q^H.9SS(R\^E(='LB(.1NXU$H( <>;5J3;-9O\W:: M-4B-7+7H:*LRO?JLS =DUBCG#[F]1Q87C$*.&Q?;&W54<[W=./T7_9 M+@M1/+)%E2:ZTY]*J((( 9AR0RU2VCH^/ >:I#KG2B:<>X5YG&ID:I2RL[%/ MPNQ)%-W8XE9L!F:)9[ ,$)MQ"8"0%'"RG5$__4N>/O_D+U[;=_*FM%H;@J]" MYZL#MV[E5(5)S!GE(":, )QP#/*8$)#%&>'FUYA"Z3>?N-3>0+AX?SR%<+KK9E/-$QFE&\Q@@D6J 4Y(" MQA(KEY&FF'$A28Q>K*G M?+U50O;@F:.IQI[RI"L4>_+O/;5AV7II/NOR5[6NF.%ML=A:"N#E9LW$9JYQ M*J!99@-!E/D,F2+ =*X$.L6)3#,EF)]JS97VIO:=VE)F3=WY5W;;_B_1HUI' M?ZCB_INQ&K GM6;W*A*U,KJ=2=0_ O7?V^*)+>RTHRIW]^^>*J)7NL5MPA@0 M[($)H;74BG;6<[=9U%AK.**Q-^#FGB,R054ZKS0YK@"GF_]'VIJ.M_5UJ%HJJS\VTY1WW]5:%&8*,\^82'">8,!3>]B8XAAPJ!. M%><)2G*!8L\(3G\CIA>6N3.M9ZU-_WYP7, .@^V?;^79^M? MAU[=&E=JE=:HX]$LVCM;_[&.I#S\MX,;FM*!+0K1JQ:'O\RB'111BT6M@5^C M$5 #[D5Z,:BPW+@>C*M6]R*]FO55E<5\G%M<2DXG@"+&8 M 41LN>B<:9 3,W!J)HG0,>$2Q5XZ5X.9.K5]%NMI?:)21AU?9U'C;52Y&[7^ MSNQ$>W]=U/H<6:?["8<.^%JX#9?3Z.R!A\91^]E?!&SP+@@J'S:,*CPV. M^I%DV? M]AN;;)Z:4I]:':,/=B3\4#!>+(K-CU^83:[8_*@:VM=REIHD62P$ MR#!"9M#!": )S0#D2::$PC2+O<05>]@PM=&D=L'NM[1:7I47LVCGQRQJ/?$; M)?ITD!O]#PS[P+SN@_B@%;-O@#$D-_6YEJ9&>:VAC11\;:KGF>-9 M5!U/&T-@->(F_FYS?K]_WV[1#Y!.-9QL;]Y3QFL]'YXM7;^A)&/^] M-1QT2JG_0[%4[S?JH9PSK/.493'0B<$4(Y6:Q3NG(.:89"D5F@BO^AL.;4Z. M1"J39]'9 A/6\J@RW7-U[=(!CBP3%M:AXQI"(.K/->X8!64=AV;'Y1]W'(Z8 MR./6?IST]R:(Z*Z.(6J3X^MCPT[$Y6M6%F).\DPAFF0@CV4&L-;(K/)R" A, ME4IIRF'F%8?EU?K4>*HR*GI5QS9X2ES[P8XS2 F/)%U+SY&A*- MS!\9]-0.& SX<<0$:NC/!<#5/1*M^B:G^76.VX Q&. ##QVMW5%C>$==I;;] M,$6A,C_<$-(+M9"#B9\!HPXKO;!Y/L#T>TA?%<4ZQ^XK^UX79C _M/_6J"D< MY LLY6NU5+K8E%^LQ(+=%FT62^4\XQF6G#. $VT8D4$,F+2Z*JD6&<%0$C_M M\H"V36V8JD4KK,Q*K9:T647WQF#S+\*:O5CXRE:%[$80Y%IF@L!.",2X Q1P"F. M =592F*:)8)X:3,,;O'4A@AK(]#&R&AMK!LI7=FY>]W&B$EUVHC[QSV#P/Q70-X$,8]]^FD0FL;/1?XZ,8=\^")89[-WP$$+O=ZV, MGOF]GE5;);B_FXO52NLYRAA*DR0&))'(K$E2#2@5", LQ5@G6&38*^[N%F.F M-L)4=@%C6% 9]BL=XKJX& ?FP5<3#B+J=P="D!TYPUG4NC26.KH;L..)GU^Q M9T+:YF[(^4F7.SZSYPI@RTOUWUO#Y>^>[()BES_,L2(:0@E8;K=R6*9 #BUM M2HXEIS&3N=_$_4Q#4V/#O9U1;:A+=K$?M(Z3Y@" #3W7[8.5_ZST"A!!)Y/G MVAIW#GC%XZ.IV[7K>Y0D>UO8; R^M=.YSW8CNGRKGM1B]:CDKHS/C_H/;[;E M9O6@UFW\:]F*>]N9X+?BL:S*;SXO_6LN^KIF4CVP]3]:X5%)!400<\"4,J0# MH0#,AEDD7,[^42M=ULA=5G>QB7R>;62(MAML^'E^VW@.7 ]HSCP,'K? MR/99)_\RB]I>W4E/=CRM CLZOD9[9V>1%6RQ@=OL>[A-CV$[).26R4"6CKKA M,BS:S[=K!FZM9XT-\[E\-!_0V]4#*Y;SF/",RHP!H@6QXS\"%$$&M)(V:H/& MF?:KT77P^*D1NK4NLN9%O]<&>F[U/@//C7/[0S(P5WJ@X5\!XZ3302M>'+8P M;H6+D]X=5;0X?57?TK)/:KE5/QE;VJ7(WXO-MW9YLD\R)YP1FJ0Y2!G& ,KVIV]R&I;&^ MD:'/OFX,O6I=>MG0J^? OG3HUR8=>/4H_E:PE,&VI]/(->RPV;&'_]>[!%M*=0XYC%:LV.Q-YPCR/JD#WH$,/P0OTR,#WO18EJ MM^JTB.CU/*N:CC752[]T)]Z!$]\$)].5)0P*Y/RZ9/JYS_J$YU M$=T^75__("-6N?G70"?\ R!_\> ^9'OCG<S5/Y6SJ%,$..Y!AG*$X!C0D%NQEL@ MTB16G,60:NPEYWR3.5,;;\WG #TEEF_K#K>5S7@@#SQXUHZ RI.C8*G9OF)I MUZM9]%^*K:-/RX!I@V$ #2I\?)M%XXH;!T'O2, XS%/[EY^Y6Q[)^*\6A?BQ MWQY'<<:82A1(8PD!AH0 KK$ ::(TQ@F$6'H=,3JU.C6./%<)Q,8;O%_::M4] M@H7<\'=CR^"H#DR*N[HI)XJE5$9'OS?_'>2 P@NNT#5,KC<\>ND19RQ.50QQ MO[GG[.]LL,7/K%C:K9[72IMK;!Q5BB!1.D- :,T!%IB 7,6&K9!@2L0I09F7 MB+I'VU/CK*/PMWMC<5/]U'.^Y]$!CI.[86 =>B9W*?3LYPK=)DB-5]:'C37K M@5G0R9I'\^/.S/QQ.9J&]7A$/RZK0\C,0$I'9PU(LN:W(IP&/ MM>V$-"6,(2YYZL-;9]J9&D7/,%1Q"\LFYID;ECBO^/N>):Y?W3.X7WY3<+M0G_7%5K254 MI\A:)57\FUDEEG>&D)Z.JY(D<2[R+,^ )EEJ9CQF[I.G(@:",I)!(G"BO#:W M;K)F:OS2.F,#OW?N=&LUUNK=E4=1ZY*G?L!-O>=&3Z/UR< DUJL[!BTS$P39 MH-(&-QDTKOY!".R.1!*"//0%ZC'/-60D42P#7#()<)I8498L-NO/C,4+FB^@"= M*'66922/ 998 1PK!BAD&"0X4SC10O!$-9WX;ND8+C=R%[9VO5 '*O/O+])U M[ANEHW3&"!NH 6I33Z2^]%!;K?T-^O-4?[ZT-7O[0WMN<' M6^]:*9N?5ROY1[%8S'.)"AE#@%%9@RE&840LTR:H=5K\\.G]:DM M6=X_E_XI=MY$XAM;WZLR>O5QM5$1]=TB\>L4!J6$9ET9IYF9SG",37\(!$R? MT"S7G$/"_:0%!NN6<10#'#IFR/YPW,@:"N.AM[?V6)K)PY&D3/1J9WS46A]R MVZL/:D$WP[P,&'>+K \V1QMGO1[2;^RY$V*]5;*M7%JHLM[7W\P3E3*F"06" MVB)0>6R&&"IS@!2,B48DYXC[C#-G6YK:F-(8VNZQ>_+4>4#=."D(3 /S3XM0 MQ\A9<\YW/E+9FV>N(A&24\XW-BI_7/7Y.5=LQYIJEQJWE>]O>H M@N>5RWND=7U6C^8-^<9*]>MZ=;]F#[^8^[]9S!J-R5Q*GF8Y 32/$V!6IPCD M$A&0LUPRK"F3;A'C3JU-C1GV]D:-P5%E<61-]DC;N8KR998(CMW 7'$1MC[J MJE?Q\\AE"HGC2 E*-^+IEW'DBL_%-**K#QDO-\C5GX.$'^>;^HI+K(LG\])8 M(:URLZ[>(2NU^9]*WAN";X[TS'SO;5&*Q:K7:N._\2;:NQ/M_>E=,>&6?G2;&([4 M.P,/"$-V3 \]@YLA#2MGT-^8HE@F3S&8X4_,_$.<@Q\QJ@Z($Y4FJ M<.I4"VIH0Z=&$%]7&[:P)5=J&Z,G:Z3'.FW(/G58(D^DIP9FLMJ#4Y(CW8JM MKYN*K>V%!R5;H\;=J.-OM'.X+N4ZD6[W6-E/I/M'VA1H>O>$2@D[+-Q;=B]\ M;%X#5KT&J^8U4)W7X-G7'TK(9(3.N;@C,63[XVUFC(#BP3[(&.WUVT+Y9?54 MM?]^V5:B;X1!/Z\6BY]6:VO"G+-42RXS(%*[>2UD FBJ.?FAU,/N.URA,9UX!$X!*3>VQ8^&(7< MGW!J=]2-"!\DGN\X>-T;OL#1?L.C_/^V;%'H'W:;H[3[':JT2>,"\C2%AJ<0 MRS7 TOR4IS$'F"O*59Y2%3L5E QAS-28S&9\*JV5V$1FEE-%W.O%ZH_H6V5P MN.(U5SO)C=3&@GY@LG,H1-/Q)MJ[$[$RJAV:C5=JQA78L0K*7+5G,F5C7)'S M*0[C_,Q;C]$^%$OU?J,>RCF#@NG("YX;CI"/WASDFVC?S0L<_1WZ> M/]8YOK2G\!$KUM6JL1,+^8MB]D!(?K+*F]NU65K>FT5H4?ZV7'&KY%HO.1^W M&RO,N13FKFKMVM%SPT*9=: <8H2.]2Q9\?SR!/7]%26LGHI[\MRJ^3; MK:6.6J.]XICJ;X?'%4K.9<(YP08U:E-_,4D(X$I %$N%5>$IL(K&<;;@JGQ M@+6]JCED., L\!\,&Y252-%V*6W23/6SI03/K3C_KG$CBD$!'_J,OP*S-CZJ MK6^JB,S:^5E]R;.#_)#).+WQ"RH"Y6W$N,)/?3$Z$GOJ_: >H5=W]U;;\_5J M*=O /H80S161@"I&S%(X8R!79E&<:!0+*I!(8^(<,'7T^*DQ66U@5%GH$>9R M#-ME(KH=C(%9IHM#G[2<8T \HG5N F:D&)L&(&Z,#!4'<];MB]$KQW>-%W-R MUN*#2)'S5]TJ!7JA,D2UKS!/>)*C/&4 \[0J:B/,3 UK(%&6<@H)3U/13_?S M6M-3([:NJN3%8BMELR?C>4C@T2F.<[1!H!YZ;%-YR?<>F:YV^/ZI+L')O5^UX\YU1QJJA/ ']/32D;(??5W'OWO2CG M2[3IS:[JE,GK'71[]8^S\G3 M(7)NI-(;CZ%7CLY0^"M#G7(YJ!K400/C*D"=\NU(]>GD13U742;U]1M;-AM1.TWROZOB_IOY[YV9"K![];-Y].8MV^Q9J!L. M+M-8$\X%B)6, -\5%E?63-[PSS MGFO :4'NNM"X@F7 6U1@=2#O44<,; U-[1#'; MU[F812U6T<47(&.59!BA2BFIS8Z M-Y:W5P[0^*C'[ MH_*<,WL\H6>X^85BY$)L'[8+9GFU4Y=\3FDF*#-D1F.B #:+',!1;E8VL1 T M3W5,B%^Y76\3ID9O'3.CKIV>P=[^7>'&:L,"/#"[73YVFD7>V/O'7?>&+VA4 MM;\5X\9,]T;I*"*Z_Y/\%=)^8=^+A^U#,TO@*5:"QBE(8YD!S* S$9")EI3 MA(G,!')*J3MZ\M08JS'.71[M$*?+O'.3]P/326-78&VTD][>*HUV^-#1E-%. M^M(51CM]@=^G)U4Q_V)S&\P"[]UW\K]Z^E_F5N,_S.T/P/[0^5K//G:4C_::4^VW>_6ZOF$>?-,\ MMC KE2=6+&SPR$^K]1>V4&^J9MXOS8*F-"N7:C.F6=58.9)UR19S$3.>T,RL M('1.;=4Q8I86$ &5$/-_B'*,L&_\QXTV334P1*R5+#;1POQL%OHV-L3TE&?% MS=L[#"H--<<2: &)Z3"> )[E"M $JT2:=6 &G6*H7Z2[QJGG9SJ*V2[:K"*S M<(_88K'ZHTHIT:OU82^.W7EN:\91NV3@T<3Z$NV=,6O&UAU@>@,88]4LJEVR M.E>-4VU@4.-7]*KU+& -NF HAPT:NM6HD:.) F%X'&84ZL']!M;/:L.*I9)M M+9QF[94J3O,L2X".XQA@D1&0;F1JCME9&K9E^M'D& M2S>( M(LC*\@ SPQ9FT^B U<.PNM;;SHE;P(>/8= ->AI]$T&C7M '0*[HS/K( _M6>>U$DO= M*3)^9=\_F^&CMF-K&OKTV-A0SA7B>48@!U*;/L32SI_MAG/&TUSJ/$US1><; M6Q["C5_=F_8BTYT!@^Y26&W3C16;K50X27NI/(:P;FHS MR6[N7Q,>9^/FKFL!VJNZ;M;B@#?HT89]"=R8]L6Z=F R?I%>[:_D&!+]020< M@QCX,MJ-(;$]*]H8M)&>B6_%_;+0A6#+S9T0-F_<:BJM%H4PMNQ57U,%J4X1 M KF(K7X(RD%.<&+363.LS9\2MT)Q?LU.C?6_;!\>V/J'W3_H.!#M/8A:%SQ3 MQ=PZP8V@3+Z?1 ]7#^8@F8=N;4\;C*0%QI'.3I^=_=CJH]J\X:5 MWWY=KYX*J>3K'[^5-L3S?97$<[BQQA5",5T YK&QW68HOMK:W,1B^1?S_XT'$;N^QW9KK[C1US!8#TQA M%F9K=?1K%^;?6IAWQ@^RE>F/6$@V\VA]5$;S1^4YJ_5XPDUG=>77U9WX[VVQ M5G43U;_-LY02*3 #7./8+,:I,#26"F#^-8.(:TV%:H_BO(YT3C;7XY!MZ#,; M\Z!O53"4F745>TM['=2LU2Q8XVAT7L'V/J>H%S$8X #DM/M MO<3YQT7/SQQO7+YG9.V2)@_Z3LK"_L 6;XM2+%9V^5FV@@)S96."$I(#L\Y3 M ,<( JXR G1,N,A%)G+%1E$B<;%V:@O&G:[(3K_ALWI@A0WSJ,Y K%4LZQ]^*+8NSP<+OL";X+C\G$K_#KUJO5T.9"?XL?2Z2.,:( H5M:!O1TDRE;3Z.4 1BSB43?B+(X_LPM5&NX\+,AL!7 M0U>/D6OD-\%C/)MN__Z)1KF#U^1(V.K\Q"CPX/+YK2V_*R$*JK"H',E,QL&:'HX%69]A-(4 ML)ARH$C"8Y;B.$WS^6-5=.O+AJTW;M3OUK@/%3PW83A6>,T65>XUJXX@WAIK M;7Y6E,!99)4$ 91H*30A0DG>],*[I>.Y MSU!]T!HP5@_\G^U218A:]%$\"/IN(V!X/ <>WEKCHKUUL^CN0%O@3:TM\&%5 M!CPI\@,JJ(2]6\OC:MM[H7$D>N]W]T G2F<'JKTF_U+^:EX^JQ#S=F47.G.M M9,C;UK;^P.>.-/5#DTVVT3;%815U'KE$UY+@5;1/^EV#IJ76QV$2*7 M(.@ANMB-[,?KN(%I??0^\QX;PD =L^9/=!3^W'X/I+,CA!O MV$;=K]:-MG%;MESD"<6V1J9F'& -(6 DSP'%"LNVM<0.? ME:V9)>Q497EO?E'K)_7ZAV683_K-JMSL%P-1WR-^]Q[R/VJDW#&[.41> M5T.FY0AI9LW[>-1=!>#6GZARJ(IKEJO%@JW+R"SSH]*B-&YVCNL[$^AX9OPW M8>AA(F L<\?[$[',A^_.=))W//ML2FD\KJ9/Z_ H;'^$3NWQ;;YOA1>MUFLE MK:[]7ZOD6R5T(I6?YD#'Q?EEL;[M1$SY:_+?-F8&7]#>G/,B393Z!CD<6)W+Q,$:&XF MUYREE.7F#R3V.K,>U-K)<5?C8"VA_O!@9D^E-3?:6D^;GQ^M.[ZUN(?L MFTQ'#DR>K9^SJ-N;M9^ST[/?_91B%NW<:V;#N]GN^4)B/0J#C] 586N)#VGP MR.7'1\#^N&+Y&(WV5(=OZK+\JM95R_O-59(P6[.. DD%!)B:GW)(E2UG!\UT M%F+"8Y^AY&Q+4QL&CG9+ZI[R%( _BZL;7P=!:V"NW954,D;6( TD9WD5C*#: M[6<;&U>J_9K/1\KL5V_HQQ"?UO=LV1R[VYH5JT4AZ[7X4C85WJI?/^FF=@5; M?#'_4L=\[I66(,D,F6 <_-EX9QI0&&< QL83[*4"<*]@G2"6#4UYNDZ-8L. MW*J6SEW'[+1FYUJT]\U%6&? ?G9CM]%[;V F'*OCO)DS*- A63:,8:,RFW/G]I9$.1,FL5S!I#,,C/;31/ #)8@M176D*%2 M[:?#=KZIJ5%F8UZTV%O\[YXI/>=A=9M_1KKV M*"I;ER*Q6C^NUK8DH;W3_A"BT*-?[SKN"([;9T/O'3J7AC1]US@5[;QZ?M-H M!21[P3U\94D_LR90NOK%F;5/GL-JQ;M#.]9*/82\FYD$AK/@:FE"^6^9FMX,O&!99!ZJY?:?9DR MJ@Y(G*V.ZG+ORV3O_$V5-E9Z*=^9990P/WY=V7\ZK_5\F* ADCP3F.1 42X! M%GD*: X9@(C%@BF(8Q16"6U0=Z9&G'^RFCLWODMNA/WG>4.&/H4)F -4@U)- M55M8;$2__>=KQ0ZFFB 4II^GE#=THT=_JG2B,+T7.LLHD%5]M9&:G0S+_*8I MLY2LQ9?F4&14,YT!#DD"<$P$,*L+"02)29I *33T*FYPMJ6IC8^=?<&.J?V* M#IR'UVU<"@+:P$-&3[QZ:"%=P2*L!-*YQD96/KKB\['@T;4;;A4_^6VY5FQ1 M_%-)*X+]:=D1P'JFC!@3RF .[0DVT@#C) <4061KBG'*>)KKU&N7HH<-4^.6 MG]?&WFAO?B4DKNKMO/TJO*RDQN^>6+&PW@#S&_C"%FYU:H-UG^/,>=A.&7JZ MVU%&>=8KD9GT'HB[C2*)X@WB,)(H[F:\D"2*-T[G)5'\']6/0C^J/QHA>L/+ MOZY72_.CJ'=O?ETM"O&C_M_]!ZBE2G66 J9&GL3\Z--N/!+T[P(T!AX1U8/JSB.YM?P;N+*H-CWYO_CL(]?5%+R3O M>=LP*NGU1>@YX_5^3L\98QM:W@DW_W55Z_'MHO'B.!>)U=U5+,_,Q%"F@.6I M! F-4ZVYH+GPT\=S:'1JM+:S^3"KHS6[=S*.4PH, RX$36.6 M@3RU^V:$2, 9RT$6)Y@@CA!CB7NBR^#V3HT-#X3#]IIR/ND?P_?Q9=:<8,^- M<6H4O;Y\:O2Z.35JKCLL!=IXW=6-BW9^1SO'_7.!AG\9?%**)O52C)695'5Z M?50HNB\'.SQ2+#O7/38O!ZM>CE7S55_?74*E.H_75Y8RI MX/LN\^X7$T7\W_]"_\K^\MW M.$^+/)U_^->__/K^1W!_^9__]D__]"__#\#_>?[VI^]>+M+I1YROOWNQQ+#& M_-WOT_7)=W_/N/KMN[)#?-G_T8O'IZW+ZX63]G6""W?[M M\I^94,PZ(X&'8$#E+"%*D2!DY1,Z5K3,_^^'?XX\EA0T ^T+?_G*S7G_[Y^^]___WWOWZ)R]E? M%\L/WPO&Y/<7G_[+^<>_W/G\[W+S:>Z]_W[SV\N/KJ;W?9 >R[__/S__]"Z= MX,< T_EJ'>:IOF U_>?5YH<_+5)8;V3^3;J^>_ 3]3NX^!C4'P$7(/E?OZSR M7_[MG[[[[DPYA0$Y$P+0/%H(!2D M99)\L$$07]H.0/SU=]ZD_;IVGRW3=XMEQB49DHN7AF6ZH^F;(#[_Q/>?PI(> M!.ED.LL7?UTMRA!Z6R\&D-^9OQ4: M1/]H.$2JG0#C#2ZGB_S#/+^DC7G"LW3)10:>:P%*100?F *-P99HB?ZH!X3% MC9=O!0K9/RCVEV@GD'B_#//5M K^'-9925L,R\"0R%>9/*J85 )GK>%&QZ*- M'W*_N/7^K8"A^@?&07(=&1L_S-?3]=$&R6H;9*PJOOOPO_$K2 M\%(JZ8!')*,6",L^>0,Q*)*/XLJF/!@@;KU\*T38WA%QB$1'AL2+TV65U(_3 M50JS_XMA>>$&:1N\49:3F5/$ R<>HD +Q:O$A6(ZAR%OQ4P7+_ &$2N MG;B75TS\2#]934+T,123@ M="-Z"?&6DN%J+%*P+*CHVQ%'* Z_?"AF^7V0, M(=6N@'$6/ITQX5-2-I0,6A<*GG02))1LP&&4UJ)&[L7@T+A&P':G5NRIH&-? MT8Z,CV?$0=YP,0L?**#6%"AY!MQQ$H6A6-K7TQ;NI.+,1U9T&0 3-UZZ'0XZ M/K[<7X1=^)BOYFFQI)!Y(_)W)'E\L3@E)^GKBT7&B5 ^"2<">$9>D=):@M.) M%*H@I3M<-+QP>;0XNX"/>_#EU>9Q#'C!7WY>OE^ M\?M\DI1+Q3H$QP1%8,QIB$8Q<(EI%;7FA<6AT7'U^NVPT?V!Z&%B[0D9F^WR M]?+-P+*F\5J'6;_W_33QJFB6%T'Q R,MD8230P06)64=5Y'ZWD40T0U#U.P'4BZ M/SL]6+AC'Z!6'I88SNB6U<6."K(W9 -%-7]2:S#<170ZN.#Y *"X_L[M8-#S M2>F^ AQ9\36U;_;F9#&_N!A$Z\D?BA:RDH)H3Q)B=((PS PO/"J/;@#EWW[O M=@#H^$#T($%VL4&<'_:?)0E,YQ_JCG>ZFDAR?;+' I&K&DL5 5Z& ,252,5[ MSM(0Y^2/T;!=WE;'YZ&#";@+H+R:T]-('-//^#*LPSE;$\F4B$Y;\$$44)@$ MN" E2(?(:2LTT0T'E/MIV XH'1^8#B;@+H!2\TV6+\AO_K!8?IUXF60T!8%1 M1 7*V #.10[6J"3)+[).#)NZ<_GJ[6#1_?GH_N+L @WO/H;9[/GI:CHG3WFB MF _&:@4N(Z/XR3 @ETE#]8S1&FO9(,E]][QZ.S1T?_:YOSB[0,,/'W'Y@3;! MORT7OZ]/7BP^?@IS C47K-B:2, BF3CK+3@5&/E0A.=$OW4%!T/%O21LAX[N M3ST/%V\7*'EW@K/9!?5%.5Z28,!-D;3_90,^>PY""T<15S2,J>%,QK4W;X>) M[D\[]Q;FR%!XA^ET2?1S$=]/US.<\**MY-H!BKKU):30BC,$SU3VWJ%7?(A3 MJ]OOW0X&'1]H'B3(D4'P?AEJG>>[KQ_C8C:1R (Z)&]'1@\J)@9.& U8A PU M\%9NB%.*&R_=3OT='U7N+\).#, /7]))F'_ 3<9R2,QSLF%0HB?>W,Q6/?XF>Y(S#A?!'K2.4R$_)(8N;-6Q%#;BWG?!XHO%:OVZ_&VQR*MG\_P.EY^G"5?O M%K,\R2K:4I0'F6H"OA$:8BP%A/,L.*%"*O<$R8=#[V&2QJFZ;XFP@<3? 9#^ MMERL5F^6BS)=3[0M2G> YE0"3[(J$,6W,1[(OO#H;4=>>.T FB)L09J MZ0!LM'+6R].T/ET2;R\H9/V JTE06EN4"FS*M#T[*2#FNG12D 5%,0SO28L= MQ&K=(6:G49.E37[_?I M;#9).5(@;6I)&_U'<4O,R4+>7TR846I3TCWWE0/$NKM0.4Y[@I9 :Z>D#A!X M?FPS_W FN9_(@9Q8GHM4& $K]0I9 )HZ%/E//.E(R7B/%'5&B MKF%(A*BX!E2.W$CAE-T1VB)L58*ZL!>O9I_IGV_2NI,<+\LYHN+ M%37Q+J()M/L'6?.2B':(C-S'VC^&[*_1&N\IDA[B,/AAHD9JK]!T0QQ*!QW@ MZ?7Z!)?7&3ACZ2(,X9H5K:*#DI*O703,>44X_O%QD;J M:M$>E(=)O@/K^PNNKP577@L*QS4'1LX';1W.@[>;_:/V+.8A279/;L[AL+E! MQ4CM+5J"97\I=V!C?@C+.5G;U1M<;A*,7DYGIVO,EX)1UAIA".SPI&#@?--^@:J1-&2Q@-J8D.;,^W]W5B])S'#;\3Z9-0W)'( M;"#A!93@)+&:54@L25Z\'\E_NT7IN,D[@^)D9V?L$*5U@,H'A#>Q!C-1A,!] M)C90>PK;50*;F)&%>\Y]D_R=!^@9-WFG)<*&4$ './H[UH%5))//M# ^G#%WNY.A>RLPZ:Y4/]3:$U2IB%!!B9%""B4*P+(0*+0"V*Z$CM0]JN;$VU=43 MPN+SL)JFB6IR-+P3E>/NL&T!LR MO]"\[D'!&?WC0(=Y02XE<%JB9/'#X9W$7X?.^-M MH1 _K\O[\.52.*BE*$HYX+*FEB)I/CA6O_+>*.>2<$T.A[>@;5P7[9@H&UI1 M(V*O[F*3NL67V>+WU0GF#[BZ\F*SL97"ZD-(EH4K310M0U I=.00@4 M@6=KA7-,1G/?&*UV$#^4H7'M\K&!N>6Z."I*>EDM[T_"_#U^K+.*EE^OBE$J MVR\QKJ\Q_CE,Z2$S_'&Q?!=F.-&JMM'Q HBQS>V2 :^X U9DM#K'DG2[[-6] MR1[7Y/> _.-H?'=\^S-\S_%#/>]X?Q0/YRVF65BM+H7J6V%COZI^] M?O'JG/?7Y4HNE^M]DYPF21XIU/M5CQH"(W\O,Y&%DU%%TZ1PO!E'XS8MZ&%Q MC(Z30]=-TR5S:1'*8KDB;J_9BDN!7&JJ=H8G2:W7RVD\7=>_>K]XLP'"Q!:M M0G0,D->RH,0UQ%!GB@@I!<^)"]WDH+ Q7^/V;.AT^8R!F1%S0,_.!LYKX^I0 M^M5L@X!PR>S548%1,C!.=L'58>3*,@>A!$_[J6;H?-+A]AW80Z M]C!F>('WXJ _L*(?KL)\-L_OK\1P=Y%-N,#H/9(;YTKM?D'K/0H=(7$E@C0I M!+QG*%);MV5_=L8)99NA;@>GY$@0V'LA?,9E7!SSF/*1W<,D$P69$/"I4&B> M0P1?VPLE]"R'M)F&.-H99:\>11<'E ,IM8.RD$?$.0MH:5=60L7"G%/\CY Z\YC%?TFQZ>=-F[;5 M_SX-LVGYNNEL^^^;Z]5-9UM4WCDK0$NF_F@JNTX,-OW!JF*0*MLLK,%HLEUTFHB9Z8.5/$/%(\HFQ2P- M>'E:>4(M0'\L('2\%NZ+3L_BT0M9/,"_+"&:%!5I(7/2!V;P/&L(F7SZPH-U M_*CI)/LR\K3\YQ:KX"@0Z#\1_7F8A7G"=R>(ZX-G;]Q\V,!N\R.4#N\7_SB= MT\NF8?9FL9INEL4%%HLHIEC.()"I(PNH:RT65^!]H) K!LW;W*MN0]RAYO*L ML^<5JY)I%T0&Z4OMGI,X,:TE%)0E*>:Q^"8^[4TRNO%2A\'$;?MT@,P[V&#/ MJ#^?G'QUJ,Q"P"0T&.=%K1=/X)/3@$Q(KZ-2030$SBUJQL7/(>J]%RF'R+H# MP-3,Y+K;TS^U:=?G,-M<1ZQ?A.6R!E[_$6:G."DJ6I^Y!.0YU&(O"8[Y"%$S MKQF+S*HFO5.WHJX'0!V$@MLGC(.KI .A$$BPU*5A_F*1Q+X>'!]) PN\ 1K4_ MZIP^\I56PD2@S#PF)$'4YH6UO9,7!2&%D&PQ(8K2KIQ%GFN!8>K,J*G/M M_IDCLRAT5DIKD[5NM$L]3%0/T=4@X!E,\AV@Z'(LU4^UW.1M[7[VNORZ.AMS M-M$5]R@M>"_)N6?!0Z@<<24TD-:C4L. :A!X["71#I#PXW0^7>-/T\^8 M;X]-K 92"5&"K0GAJH[T\4@(KV,#(K/$7K*,M^G*]3A9/<1.@Z!F0.EW@*67 MYZ^]G%!RQ0F*G+50",$E1I%?/7C*GH/F5BMTSF&;9*2'2>HADAH$0P-)O0/\ M7#LQ^&4Q3^=!H5"Y>,<$,!L**$[L.,4M,)81BU:6E2;>\;W4C#OJ=$AWYF!9 M=P"8,_HG3AB!5A:P+E$L&+6MV2T<8G 1)4L4&#;IH'+V^G$GDPZ>M+&3-'LX MA)F&.)V=)0+/\Z8S[\EB1D)?G4U:NVHHQY#)XAE$,GTU*R"1LVXRV)B\RJ'D M6)J4AFU+8#?9WFV2QYKHJ0,;=(VOVP>C%J-!7@*0296@+(4"7M?=6"J+% _0 M,C.-$==5@ED;"#R,LT/TT0&R+A("WH2O]1+W,J_$R0@I%U4&]M M?A]IQX]:>-0HE6RR%3Y(T;A[7SL4#2#_?H!T;1)+]*)FGM1!N%Z"MRZ2]'@R6A0*>MO41CY*UKB7(8W0-: F.L#5/9MYX$Q3 M3%(/Z;D')26MC$+6.)8@HB1K[-J,KM[3BVIV+=((/P=*O(,3J@=6P+5C5U2< M9U6GE%JFZJD=0F1.0G QHS0"HSRF.=KQN/L8?GF[\X)AM=.!B;IS'W1-C/52 M2#,=8M$K&U6_H MF VCCPZ0=8V)"7>,(W(.@8);4-I9<)IK\$P7DXEP[9MDLURC8=S,IV-? NXD M\0ZBQ3<7[]V(9M/0X/H,ZQ2YL:9FEEJ>ZVB! #%J 99Q9SQ7@KDF54B/DS5N M6M11(#6@7CHP28\(*7A1[Z$02JGAKM$4A3#A@0L=,,ED=9M\NP,S8YIE6!T% M70/IHP-DO;B:D'YGD11;G&." ^<&B15+BX1$!-:@(V=1:N]<"V@]0M/8+;N& M4?O#4^H/TD$'<'J6\R8T#;,W84KAQ8OP:4I;[34.)RXPQH)+$(*7H"1RB"47 M$#G[&%@4J31!U;=)&SNEKPFX!M9(!QA[B_4,>E38"U($2[^!4XEM! MT$1')YR(H8X/JC.$5+V.CPZG<5U.9W<;+EYV6\0<43H.MM2&G>@C>$[+Q_$@<["H M+;9QOG:AJ4V,C21HJ-+/#:%TEA2! *(E@M,[=2!-\FS_ !>L8^J3@VH/;00O\C M@&[,HPRKDQ_)1SAX%-#]#VTY2?-^RH?W]2]?= FQ6.<#&BF ;$@=PRH+V18E MH##A/#E1.K29CO<848<:H-HFG9[Y9KGX/"7Q/?_ZZZHFHETF=C]+Z^GGL^CX M0@PJ,IEC-$!;=J)H.Q>(C(+O%)0.6GMM6).$KMU)[<;+/PQ+M\U58YUUL"T2 MAU='Q1/%5<%B"1.ICB3148(G>B%4ENC;@J%)4L4-*L;%4FN5WT78GO+O #S/ M\G^>GG>Z?;^@:'=!#L-F'L052^\7NTH3.=.IE@CGH#THGA.X8!0$AABRYBZT MZ<'6@IEQ(] C0WET-'2P(C:>[>M/5<.UD^]YF_E)X<4;$Q V=RDJA^FL ^2]1'HSQ6N5C8GG+F-B&8)&7ALN M!(@I&7!>(\LVH_1-SLBO$S%R7_?>4+:W?CK UK./B^5Z^H\-[77 \,T6L!,9 M><+L _#-IF%J+V%3-"2M0F'H*U=-=NQ'R1JY-7QO^!M0AQT@\M7'3V&ZO!AX M?9.7'[ZDV>EF"OM%LVLE0Q$F11 Y&%!>.? N.EIXUK,8:EI$DVJ$G:@#KAZ<1*6'VHU$&T/*3(#*&T&Q>I4 M1L,8>2#1"<&D"OS6R<_=P\/M7C5R:_M>8-= +QV8R9M=(ZZ6U.:P@6F7.5%, MP@G$"\$&8HB,C)B/J#E7W#39MA\C:N26^;V@<7#]=8#%6GJ-&TW>\$1>3E=G MV1*T[-XL\>/T]./J^@0ES[UGAG/R1#@#%0A2047R4[)URAHM4VQ6'K\[N2.W MZ^\-OT?0^>[(]F?(GN.'>N,US*":,)U7Z;Z>UY'+U6&Y8L8Y;2F<*R"\UZ 4 MIP6;I:B%O=X5M)+;)I^&)O.99IA> MY3>01T]?OJH[T^GFXOC^/[GL1<3)% C-:A-D[FT=GF9K\F8.D+G'0.%GI&VK MQ=(X$G\CER!TMXAZA%4'JXW4L:S!R$L\^_?5_$Z_.(J3D\V^#N*!*&*=6&DH M-HE8>Q,FP:RQ5N4FJ9I;4;<=TO\\%V##J[0+3^@N6W<3\RF(-MFYS7&A0%"% M2W".-CP9%5.Z=FAJ,WI]&^*VP^F?YPIM<(4>"M/W#:WJH^W.)X6Q7$]X@.7: M'D/7LQ],$A++C"7K4N%-SNYVI',[!/]Y+N%:JKE+W^#B 'W3X8P'A])9T-+% MVM*%U?ON M87&^DWVK;I%? H5=LA]$]T[3:8"GLVKF^6^"E,\X6;D](_S6 M;+")2=D+(\A[KZ.^E16!I*@%B"0M^?*R3DP\KI][3MEVN/WS7/D-J\HNG8*[ M$\Y>X[1#ZY[G4&URA/8-T<_9Q ML?*\B\S4M$WB0()R@4%,5D VG#D;&9>ZR57>5M1M!],_SZW>\"KM$J<7[LQ; M)#?]%">I)*55Y! WYQ^V%/JJ*!"6L\"%2)B;S'GZ)F7;X?//P(?H0.H@>/#2L-2DD=OV)&Y7O?#GN0UK MI-Q^0JCMB^4FC+:,8E!#$46=]2ES$3WPZ%61A8G09@[:]B2.6_MP_!+:%IKK MH)WA YR=Y2?=+TAF ZJ0:+M )$$F5_O-6@4\.2.]#"*K)J4.NY/:37>FH[0, M&$IG'>SSY#J?;TS/TG^=3I=X/5].V))B$1E8](884@BTP"CXHP5>2)*LF":= M.QXCJLN& H,!XO8 D*&TT\4=/DDM(>;5CR36FISY2 [=#S:(.G7X[J/XY;)'AF5 MC337;VASF;E^CR!C(&]<\'H(5I,/"H5Q+OM46P;*H MF8O.(V'R$U&ZZ@AXE MM!E*9SWLW]=FY939FM$]J9!G)N-#!;8LXNFB":%! TY:K+X&HP M2#[BPHZ+CQX6R[G+].-B^18_G2[3"?%:*QZN)FPI9IURDN)-KC4HPQ-X$3TD MX8,OL6A1FER8?INT+B.O9K =5E-=.+47/-5JXBK$>5[=X,?+XH7PM+M)3_R8 M"#Z% D(JS54H/)2FYU#WD]5E2-4:=0-HJ)]KHG.F:A7E-RJ[[A'K) N;I28+ M+Z6RY'WI D%$ UDHP93&D%@3%_8@JKN,N!J#]@CZ[0?3VXMXPD4Q-C(/44A6 M@]D <3,/S&7I76&9M1G!L#V)X_8S.C):&VFN@_.!'TK!1!'L#U_2IJ+V+4'^ M];PR6_]7#^,^AQEN2K](CM-$"Z+^@MSNFS^X]LD)]X*8)'#QQ$G2VB-$7<<- M!.MXT;DXV23^:L!+-V,BACUA&%OK'415!S'[!I?31;Z;JW,>;5X7ZYFH)U)H MUQGH^72,58ZV$(.,QM6VR@4 M\6FCI_"$&04N*=HO!0_*AY7&X/WF9E-IV"=Q=-'@C>'^;73^;:#\=: MG!V MF,B*M;S%ZM^*NL,G;)R_Y/VF?L=)S(:)"$:;!#59&**)"%H6#,Q'[E.3?->; M9'0S_FH@5-P=D;&WT#L(J2ZI/Y-(O8U;S*MU??9ENIJ@4"'5UEM.;=R#8,&C MKJ:^>)8*1B::W%$]2E4G@-I#W0\AYV#9=P"D6SR\7'P,T_F$*1E4-A06&:>( MB>+ Z1@A!ANS*ZZHV*0N.38>GKV&27CXF8 [3X\:'8/47> E6PG$_G'U;G7(1B12A,@XAJ4Q'"(-2R$*=*C)BL#+[)C?3]Y(R; M'S$\@@80>@?0>9;2Z)\-?V,9P7)%XQ9B8ES4,%)<&R'%T((,0RB!*(9J ZRXIG92N#AB=[2?E#G!R]_[J[A'(V\5L]N-B M^7M8YHE%$0QF!3G7Q<:C :\"@Y*C*T9:XW*3'( =Z>PDC-L3%M_L'3&H@!5LQR]\@%RB *9X5FU&8OY #WC0JHI!AZ. M_?962#<7@7?%- DJ2&U#A*)M=1A2KKX" Z]+R=(QX=HTR[M+RK@;X3$Q=: : M^H'3O44IUR98//]Z]9'S9-AG57K75]*K^5GRR$11M)),2)!EI%W!IEHU4'NO M8\PVBR 5-CGZ')2+<8/.HX)X-.5WL$UOQ'K&PLO3)47C9VS\1YB=XO4RK!^^ MX#)-20 3S(Y6.(O 7>UA:5!!C$E"8-D*$3P3N79*IR(:%.H&7A%.P,J>P91$UO&>V],]D'P)AT>OTW:N&F61\?A<&KJ MHJ+N,9XV"VSBE;#260=J,W$V.D%K27O0(I54@I&9-TDK^R9EX^8]]@*\W974 M!>YN]+I\X,YELZ;B;<_E+9)L5],UOL/EYVG",S'4=ID?YINGG$E$.;1:: DD M& TDGDR.BM" BI8B2U&8W.2.HS5CXR9,'A/U74&D R_AJJ VK$XFW&:E,JUS M%GVNYQH"7-8)A(Q9V>@B:U/#<8.*<6<*'Q.,^PN_JY+/JT["$W*1DY>A3CFI M$R5J&P"G$ZV#P!P:6XB.)@=*-Z@8=X;O,0&TO_ [,#T/73/^.B>YS:;_P/SO M)#/R2:Y-U<94&_W5HM+YA^M."PGC=7D?ODR,8KHH%&"*D^2W9 2/WD+( M*2F*X:Q,3?(P6S$T\CS=8P*Z"TSLO38^XS(NAEP=[T_"_#U^_+18AN775Q\_ MA>ER^1YND='^G'TVT5L]M#*KKR2$ST+J]6T3-.9LB^=]-H>Z]GK%Z_. MV7Y=KD1RN;216V[1(03!:6D;5CN^%PG6>,N-<4RE>$QS?S!'(T_K[<'>'Q<5 M_7C3C\F#N,7IA_F+4R)OGKZ^7P:*3#>MCI_-\^:[V2TY70K#6>:U31EDT!%4 ME@I\+(1H9E/0A3/1QBUOP\[(LX![61]'PD,'D<)#:1@F720'L,Y( MVC90%-%DOO2>:3'M9O&.G1>S@Q[^ "7K;S8Z.<$U.3RSFWP-7+]^\TW'+&9_ MA,>C5K;3#NB<=AJ\JS4WDK;!(*6@%>E=1.6=]TW:SQVELGWH4Y2-/YV=%!)I M:0M90-5>A.1(1-4SM?G [$KIV2]4FWZN(?9W?+) YC9?7@8R*S>?N&9N(+S<\1*'U\Q3-E?MS=;QS==H9DR@ M#%E8$"75ND9OP0N=H$A=&*N3:+-Y6F;LO"?8[7:-]2U?KZV50I$YYQ%D(@=# MH0FTM?M$GH>7VCH5BFQ2#;D5=?T:L1W0_'YCG)TR6G)=1)N5]3!)XY8;-8+50!KH $N_X._79+1;U/F?,:Q.E_N;T_L?-(!)W8+"@3E=IMJ@ON\):MBPQ M[27H7--[&S2$U(&ER("$LR2D=+$V.2 J*7A>9=.,)_6W,'+MSQ;K7"S]5X, M9J/XZ%S\^?7\;;TAJW=BS\-J>J:*J^51G/.B-C 0T9*$3!!50@RB9Q99H%#' M-,FV'I2+C@W;+@B\!S4 _NMZ?D!-P M9@W"O=8@K"__9#$/-^7VLK9DG0WG/1Q*1RNW8U#Y',-?L2@RHC&00W6#R04& M'R@H-TH4R5WA23_=0&G+O8L^\,MBOKR[E4V2]BDK[B$QY2A((%9",AR2=(IA M5E*;)G-.!N.@8S]E%^0]:+*/JN&>?)3G7R^__/<;68^1.MU M/6P#YNK,S6@D.5V.W"\IALI.P#H@3!Y"XN ZZPF0&V=] MM9$8/^_-KC$5DSYUVMB M^W&)_W5:JZ4W+H:GQ<&T14B)UZ(692!D7M,LM;,N8XJI2=/I+6CKQ*;U$D\, MHL*>4'D?0Q=3?#(M5\,T:"X#J"0LA!@8>*.L-$P)XYOD]&Q!6R>^W%!XV")J M.$0YG>)M=;ELSRT[$T%9)7@=:U_G_J0$SLD"R:*4&IE6K$EIYS;$=8*XH1"Q M39QZB'IZ@-Q%NMRK^6J]/-UT_J\KDP@GUR0RR#Q*4)R12U)H>?HH50[26A>; MI&@_0$\G+MVX&^P JNH <9M>-_3F*L:SYKPDHFMYFU?I%9E2"9&-II#H&K1B8H[@/>+Q;(V"%SC M\T5E_J)0_WQWB$$EHDN!"=%3;)8U1"\]8$RY6&.E<(WF/C]"U;@ ' \L=[HD M#:6Y#F#XZ[OWR\W&]/4.)T&;(+/5H!2+H$P];4C.@[&,>2,,RC;U?0^3-&[X MW T !])9!^C;^$G/0_H-[RXD']$*[01(5[O924X.LG8%7 S9J&BQA#:S@A^F M:5SOLAO\#:6U#@#X;O$9-_T6;S;FO;#ER(4S@8QWK@W7+7DY3I(MM]I[KKT4 MMK09\/485>,.\^H&A,-I;D08UAS"R;,/]=RA.A,7U!=+CK/6CF(^3SZ$C@GJ MH A EX)(3GIS>V#'W63$^Q\][@2NT<$S@+P[,%H_G\Y)O,.T:QDB.S'&,MP^@U2_62BW$WX$[.&$>#Q=B[]0M<,G2EU82=:Y[5[LC?D@004PN8L6$QBJSU\RQ=V+%A^C+*G MG_%P&"S;J+ #3/Z\F./7G\/R-US_>$KNS;/UB[!SK259!_,^2?9!D] M,BU F1KL)R1#;BF&2TX'K3SY,M@DTV%; D=N2]<4;&8;V2U M$>9]'H7 J++/Y$*'1#Q:I+ .I04NK22'0EA;VD0VN]$YZIE!LJ;(.$'G- M8PO0;&=# MA]-@!RA]?KJB-;Q:O5A\C-/Y1:O VHJ/=%";!DY)C>=-%LZYGI287>12 DO! M@V+DO3AF"C#OM$-'NX5N4KVR!ZWC>IM'P&AK_3VA)B=#-RMIW71DO.8AL8Y# M)(6[4FJI)D_D];D$UNCL@U-!-6XST'7S$"V,SS$AL)@+* R28K.003I#(9LV M0?BVU9]_Y.8A.R"O7?.0730\XA:]6JXG;VN'W$UJ<8F"&^=IDP@Y4# H,P2I M+6C,J3A.+D;99M'20Z]!DKZ[#<<;;^T$2L?5^.)0\?> F?,+]GI,8(RRP$*] M8.?&@M,Y0C0F.9>4-'F;JY#M43-F-8! MDW<.BI.&V-\$%(SV6FMD%MP'CMOT/]M.^]??/$ZX-9CV]Q9B1X'\L_1?I]/5 M="/S:@8MUG0^@BX34E.P)P7$%&M'2RD*UUH0D%L&Z[?H>?I7X/M[%$.JJE/$ MU2^7B.?Y@B9''IA-(,GKKZFD$9RM8UZ3Y)GDA"8>#7LW*!O7KQU$_UM@:G]E MC)Y7=C(-R\5[3"?SQ6SQ@1;G3S^]N,@9587,L@@049-?)V,A%DH"G@*C'^N" MY58C\H=RR1Y^27_X.$"7BP:"'1L@?_N/Z7^0).OAPJMY^NLY![10BJG]HYTK M&91'0;* M" DQY@0L)6MS*2SI-EU#_@C-D';"PQ[-D'913J=XN]-M)]M@7> 2-*_M\V)6 MX%DP8)UDPK*L,S9QR_\8S9!V0L0^S9!V44]/D'N\US%7+&AC/,A0\R*8->"8 MH/]P+17GP279%G2']S9_ F5, VV_0RFR)WANU5DT6Q8#5^3E.O2@. 7CM!0Y M.;U!"H51F__N;=X )@?U-M]%9ST!\IX&M*Y$P9*T4&@/ "5< 2]2AJ2#,MFC MSK'+OL"=]#;?"0D[] 7>12T=((R"^,5'O!SE^U/]@XLS1@K=-6?90LBBYGE' M SZ1B+0.+D?H1FL9MP]#'WCN4ROI%W_D2Y5((QK4!4]C&>[;U?,D! MK4R+]7).Y28)SH]2-:Z-&TSWVV%J#T5T@*K7ZQ-RN8T8200@M*918@:%G .L.,4,RK-K7DQV\;TZPI4A\^ MWWBPZ&E-7 OL_CY=G]R9U+NZ.:KWZK3TG/_SHI:SHGZ&F4G-$@5J*$$5'B!F M)#LA4KT*+5*J)D/*FW#32>1]?'1N<1IT7*ATL%[>A*^;RXC%\EOE7>?]VT@C M:3W]?-9O()0<--DIX&<#'!R'&)@#+^MHMNP3[ M\_M*)I_E_SQ=K:L,)C*6K*4)@+*>Q&F;2(ZJ$/2DX[9(P6V3P4&/D_7TDS>& M0>J RNL BMN7UCY;+FOZ^=EM;OWJ=7E]NJZ!T6HC@Y\6OT^RD$5R3RPS2S%+ MC!0*<6: NZ"CE5K3OM,R%W80+I[^->DP0!\/&AVLB]<7)ST_DX7'B/JZ5\P#(/:P137 0BO MJ']=7I$VYQ^F% :9+P_"?/W^+&.SEE^O;D2 M;[:*N]U2;A*"$E9X!%%JHV)5\_5C+5!S.<02YBG^OT+(F^Z6??UY))H M^#H1/#'NK890QU4I+QFXB 6BU#PX9ZQN,[GB$**WPKK_LV-]0,7WV93K15B= MU/_]\%^GT\_$,$6\89Y?S3_CV?G/7IVYOOW0 =IS[4CY0#VZZAL)C+=>?-DK MR3O'%9,:>,H9E"231]@LP F3A3M=RS);6(+'R3H\.^Q2J*\VTZKH5?4UZZ_7 MQLW<3\*OM&C#;/H/S/2[M^=?_BU,YZNZD'#UGO3RG-[UV\26XIQR%,8Z0?\) M+$) 0YRF.L:C"!M5DR2-8S W[JW@@)B]FZ[6&3*>J)7=)":TL;7GCSZ&Q;V/ MB^/87'1R3<3-ZXQ:_05FL6-.@8$53QY)8'SD!:B2IR%7QIDME[ M*.'CYC T0.XH&NT*P5?.1G4N7L\?7J1U=(*S,8.QT8&*QM7QOQ15: MI;:@W9K6<3,8CH+3-GKK )K['#O(O7 MF)"Q2"!#$S5%GI8B3TZB-A*ES9PYIIJS1-/M$0_8!)!5L_ M^QA!>LL)!M^ I[)*FX :4.8$"I4%;PBMP2D4*"6/OLD]2=O3T2MOY?[WG!6= M6!%T%-)"*F325;((3LD$N13I44AC79/YIEM1UW6LO@MJ'O8DA])-!WON\S"K M7L2[$\2;A<=)<182N0W&"PK/?.'@ ]/ HA(NH0ZE3<7 0P2-"ZL&NK^=43J$ M(CH%U'DQ:/08I-:&W-':$2:7>O9.BT^E$*7%%!4>#5(]U/T/H_(M<+2'_#M MTB95ZFSVVMG8RHOJWV249T)L;N>)#U%8'5]EP60MO(I<:&R7 7H=JCT.T#1_?;ZI\M\#Z^*B#%EL%;DVC^2HF5,FW&\3D<;9+%-3CZ^0=>X MY\;MM[LAU=(!RE[-Z5D4%;W%A---0>J$Z>!CHN"UYF:"XKI 8"C!1LX9T\R7 M-IWD[I+2HT>^IZ;OG#,<)/8.@'-@/K"*4;DZWD@B)T_!Q52+-@IDLM)).V:E M:C+)[PC)X$>^%!L&D$=49P?@??CF[V_+36KCM42Z%W 51;0XKXLH.-='.Q%R#%N&0Z7T'&N M)(20@?$@H+! 8&5)072$7536R% HX%9-*OR/=27Q\-(]BP>#SJ9D9FN3$>+? MLEJH$Q0XAUJ&E P+3<[WMJ:PQT!H+_3LDXRUNXXZV-K/&]J$V54*^-G4#QX+ M=_5<-";R4)27$#DF,$*3OGJYG!A4^[>[< V@B@X0]7X9YBMZ M[U7MZY.K^7UT:&0-6B$Q5W .]?W[U?;DH>OUZM_?.#>ZF]+#IF\M4E<6)T MA!B2 QMT*D5%3>N_!5@?)FE+93WU6N/S197I+6:,M1%C M82"]H;"QU-&"@GMPB@7T16O#VZ3L/$;5N&>1W6!P.,UU ,/-?>7SD'[#NZPH M6Z2)RD%!DI1"7>_60X90C$05M%>ES3'DPS2->^K8#02'TEH' 'R!R_6T3.EC M55XO\=-B-5U?K"4M8C9,0OT'5#">C'LMD37>U+P/\L/;E!<^3-.XIXW= ' H MK74 P'>UIP1./\QO7CB=,U.X2M&* )P\"E @KK@-@9MD$##GH6P>$ M#Y02WWGTN*WS1@?/ /+NP&C]?#HGR7T*L^L\&)E%=&1+',FC7HD'B#8*2!00 M!2:*X&U:>=Q'S+A-[$9'V6!ZZ@!K-\SL.0O"2F.2IK!&9)*)8C7*R1G0&&&( M-_) F]P,WT/+N-WCND':H5KJ 6A;',Y?W:P'Y%*Q+ DB%-TH4X>F!AMHDQ*V3X4U&P>]$92^YJ2UO.]JIK0-,UBO(B?:9/()B@6.J21S*0@R\0,G6%>',MLGC^P9=_1NE82 UI'HZ0-L#21&W MF-)>TF9?-##K:,\/FQ[?T=<&F;8VF5.ZS=27K:@;]_CVN,9L6%7MC[_%.LP: MYX[>/'\YKX2:<)<:E!*V0\<:XS:^*@[4CGN">ZQ\-D2_5U M8!VW9>^7Q3R=^#;'T;W M5&(',/UI,?_P'IJG][J#GISN\>]S"X/:J.H9+!',#CEFR\._WX,2R_+JYD7\YD?Z1*C5W> M?XP"C;WE<:2Z#(/6.14(^'54#L$?:BDE,,-CR-$01IML1;W4942*_;/G!DSP M=>RFDA!,L5 4*YG",5K]36;H_$'J,G9 S_YU&;OHJ ./[Z&T[1QUL49&",HG M4,[5Z2EH08?JA7 3>9LKM"=>E[&3]K>LR]A%%1T@:M [1VTM3QXS2*,%*(KL M(;JLP88LC&4^^#:9QG_\NHR=4-6R+F,7%8\=V-S-S+'*.F4E@G>I7F)' 2Y3 ME&^,"SD7F=/M#+Q!,Z&>1DW%3BI^/!-J%WEW8 P?J0A))4:G>:GC[UP]P;00 MO.20HN)26H;8IGW!@54\3Z."8A_$#:RS#M#W>"U(<%ZX$*I0:DF2P 0QT39@ M55&J<"M=HRKW@ZMXGD8)Q2$8'$YS'<#PL7J08!G/V25@&WM>TRDBDL.L+2KO ME476YG3YT"J>IU%$<0@$A]):!P!\/!6?:,; M &MA"*70A9PW%G(G)54R-(S MU^2B[<]21'$("(?37 K OLIJ$_$[:[C&*HT4*>(O&LEYY1924MD(28&3:-+5 MYRXI_:?X'7Z:=Z "NH/0"W)&/RR6TW]L]'19Q19+EK04&+E(6$$+F6 ="65/O^.@AU M>'MQW ?&3#"J34WK@R3UA*7#E7_;PQI&$V.?S-Z3P'!Q9N-LX$X:R#X6VK@= M+;SB.6BT'(50SI5;0P8>.*%]\!7C;F>-\#&@5'NP-SMEV3C',!EMP;LZ_)QP M0.&M#N#)!]1:!<-MFXAP\.*M4;/5#W>BVJFM TS>9NE62_&/9)=K ]T7B]7Z M>5B1"V$,Y\89!KID1GX$,1FRX6!I+>:ZAE6;._E=">W_LGY/S'PC'WA0!798 M4G&+OY1./Y[.:+_)FX;/5U-Y:^_QYS5S#-^'+Q--.X'W3H IAKQ?(8EIPVH# M \.4T\G8:$= [7;4]Q^I'@7*#53=OP%^D.G:TOR*:6>%$Y:8%C81T\QX\/0C MX-R2P&TR2K2YP1B"^OZ=B''QO;^J=\>W/\/W'#]40MX?O?9HDI,U/CD%7M6A M)4B>FA/!@, 2A"B8"C:)O+]_8S+N!AQK,(]*Q+K1WX, MT^6F4G5%RW.D_/VA:#M&;G\3.1XG[Y]GK!-#$)+E9'>CUQ"Y28"%911",W_4 MJO&CY_TGZZ43DC::5(<=3=@:UZ/'L\*JU1 M9@,!39WVC0)\EO1M*;F.?52*MZFB_K/D_1]@L8;37 /2ZLRS(E#ID[<@%D"1!H M]P>O8[).IR!LDU#W3Y/W?P (A]-NH :[O=4J&G0">1*9?*1%#H6.TD51O5"<:%Y 9- MD[&7?\@NY8>< ;936P>8O'79?HO!%XOY>CH_79S>NIQZ4XGX0Y M%S_3)T]6$X,JDA\LP/*H066G($BE 4OPA4GM&R2!C>;1ID6,*I0^QLQHYO,2!Z6C:>4GC?> M6CA(^4]^D[C-_6U+X#AB]&0)*%BA $:$VBW6!I#")DL[*8FHR7%O4ZZ>4BI@ M/POC$&@\@4WB?B%,4'%30F(0@LZ@ FG""S()HO@<5=8LX0@+X'YBGU(K_7:X M'D"1'93/[,/C[15:R(7+M;BR<%'[?5.D$UPQ8-!CS)S6IXN]8'/[!<4EGS 5_,W9RK?Y!;_\.43SE?X%C^3UQ1F$^0Y:<\EY-J"5/$L MP-F"@"0)H[,)*8[AGG^;\JSV>+W,$_U^Q=$WG1= M5^Y;3/6FZNND;DTB%F)4^=IO2%*H+:V@H-MPSPP77HU@J!\G>MS9M+U@>4#% M#A9+'K?"YMMC(?I^NO+4MM!B?RW;25[G.(;)Z5F M:#(442?P9A<@:LX@HH@V2:V2;%)\TK;X9B^;L)C-Z >_AV6><"'0A91 NYH. M8Q59!%0(AMG I#3*VB;C P^DN^M"G5V0-HB-WU.?W1\9WL_NI!2+(2L'D-J'V'&!>E0T#8#DG52[-WP_X7*ZR._68;GN)(SD MPL0H) 7*1M=I $C&(B<+PAGK.(F:W,*G&T8VN^3L%]Y#*_V)FNK+Z$-H8WVL MC?)WK<2\>G!NR]5/U$[?4D>5V< MR@B<5^%&5QN_, \N<5J\+JODFO36;N9:-[MC?&HPWDFU![K6/\R'LX MK-EA[_%C+2=;?GWU\5.8+NN14^7I<3E,T&E'@C7@A-RTJBY JS0#+6-AI"VT MF)N4)AQ&]K@N=<.CC2-J\XD>8/]0"M:#4OPYK*L8OKXD)VS\=JOUM9S[OH(H.$#5H"6=2PIJ('E!FXEUHK)?M B3F@($S M(5D3&/[Q>S_MA*J6O9]V47$'\'Z\*XS>=I MM)0Z!(3#::Z_5HQ6:Y*%]1"4)NIUG>D3A(?"93#.QA+Q5GKDH*T8GT8KJ'W M,X"\.S!:]_84L?LO?3(6> [=36 28?GV5S?@-% MW_U]NCZ9SE_/\?]B6%Z.))EP)WS [$#[VJU<9@4Q*@6E9"O(347F1AA)]"VR M^S^YWA-/.PTJ&E2YHSM^6[+ZK- +SSD]'QSV^Z)^L[KB>S.SR2D&SJ0:=WD. MP20%R,ED%"$$,WX[EW$XHOHWM(=!=E0E/BGP7K!ZSC@!$&^QSEQ&+#E"X(7D M3^$;.$]N5[*I:,&RSHD-C]]OTO64FB4=!\+#JO)IH?B2V3/F?UR<+F_Q[I 9 M6ZL'2C <5"!%>$&1I)5HI?; M:U@*9YV3F=Q8I)W(&0/1R@+.:J1P-2*S6YY #4K74VIE=!P8#ZO*[H.[:X-* MA54VH0S 5""^$KE-/GKR]&VNL\^U#*E)G=Z@DV4[Z574+F#;4V&#-20:-&FX M9J_.";Y5NWLD^5[_\P&2)[A*9##<\]CWY/DGQ.G_EMPIFJ,Y8-))?K6:U3 M$(LTD'WM%"VTQ]PD8_@QHL8]$1H*';?-R6!JZ+/NX-JBW9SR'FI(SA\RK#FY MC[(C&!5.6X)WFG8$;C(H[P@VZ!*XX+6+RG/GFNSH#8W*U39\^9(7I\NZOC8R MOD*V9EXG34&SRW5SE.B(;2G!1(2:G(HO2V!_1J;75#S\#7)@.KIWO!< M-8BZ]L,#BI>V??2P1FI[+HY@NIR.TJ%4H,E=!F6K)^D-O MP^\4=.)R&F:K7W#]NKPEW2T_5X^>(PN<%IR2C)9>5!FN1*](V&44D'T?XE1W]?+'^K+5H6"5>W6,I86&)60C))U+C1@R\Q M@0F\I%"*,*I)4L$6M(U[P]4<9@,II2><_3B=3U>TILR$JO.: M:?TX+R$HXK#D1-%,48FG)DT)MZ!MW&NHYC@;2"D]X8RXF C';(BI %.;9'QG M(*3 @8FDO>>:2]FDT=)U(L:]^&F.G%W%W/VYXB]AN0RUD'X8?_S.XX;UP1^G M]@A^M\R&:50&M.*!S$.=7NU5 NLPA^R$YTD\$;][<_?SPY>ZU3Z;Y]=Q1;)> MXU5<>A*6'\@@)E=,?G7Z9+G)H21)=.B:B.!YS00. M@,XRYQTWR)L, GB6\,3Z$ 5 $0NLGIW?!& M8K[X'J9_AF_7A2SSGP@-".T*R"!%+MPYCTW&'QQ Z[AYOX%1V5)//>^'0X3:CSQIL#WR) 'V SP%'73F MD@,F2W%0X8Q"((SU;]K9)+1534YUAMTM'\'T1&,AG[ (R!81E"4^/0L:6"J* M8UO^VC^AXZB \B[@XWK>S;>33]^6KTM?RUQW?-B@ISB_V(= MA)P**.0!G*Q=!CAC14LF%'/MP?. JJXVH^$@=(SLNYC]]\B*V%PPF:3BM*U= M!DQD#!0M! @J:?H2#'J*-75N$M0_3=:X)TWM[=$ATN\936_FL[1A*=0!VS$Z M\&@L+1!2?<3J%II</^8+VLO 1ZQGO_&JV M>A=6^"D?@.ZSMOFY^^ $7G_E$NE1*40QB$0$4*^36K2\*R&ND/@]Q-W)HF5%%S-D2E+7YA*$#4%J%I+:45V2N@F5YF>(FJW["0[ M.V@=(?JQ&ST\F21[%1:+;_2S=>7_VW+-)JV@=0+-6R6P=NI'&Q4H5Q![3ZB"[NS5]LO5ZNK!?Y!F_GGJ\_W(]RW M\7+Z^^+!CG4'E4"C.U-)647P B>QCO@S$1RGCTDF M4;0VD9YFUO\BK7GF65=OF%PIQP63OH3'+FR2='"\W45*X(%-WH M1.Z!,*EX)K/4I[^.\B3)79TE[X.?O6ZE#*>U#G;8G3C]^6K=T^G#/^<3&T(Q M/F,]!)7DJ3)/H0]]28IG7;0TLLU0C#WI[.I(NCD2#]3/N<&O-LR;9.M43%C' MRIBZR%2&&+0"R0QJIXHVJ4FA^]Z4=G60?3(([JVC,P-A;7I(+BWALX-@=.O.$D.3:UQK_U?!/D6 MCD&T*8$H1D1)H9A/35H2[$MH5P?H)T/@OAH:.Z6W#W/OIW]/M/<1BY(0N*E7 M*JTA^\Y*33$PP;4,:'9+Y.WYXJZ.UP]!4W-IGPN20FT=>\,@Y]';FJQRHC!0 MSG'P@EG@04FC(D./NXT...3M71W,-\?4P7(_HTUR(J-TGN< W*QGKSD+P6@) MS#MI/.K8J%?FK@1V=6!_BDUQ+XWTV2&C=H;YY_3R\LU\=5@)Z_7W&M-S2$T'PQ#U7#&RNUL2( %'*"#IYA2H*DD1N ML>KVHO)8&W3SLFV]8;.OX\8ITK L!E#*>W"TBFJ1@ PN<,UDDX3U$S2-FY!M MAY^'AF@HM?1Y:'7#W>'U\P^>,*#U:5A#OQ]\K/79ZZ!!1.?(2W8>?(@6M!%6 MJ8)%BB;%!R2.^'(!-C=JI$R,63IKT)$$+U>1E3 M/B9#05:3LI51'*!W\\O+7^:+?X9%GM .7912LMY>\Z"BDQ"L+D0O$U*A8\HU M*23<0LLY69Q]\/*8PW.H&CH(YV]8F"@IC(S< XI8;T"Z0A92)XH5=9:Y\*QU MDR'W-P3T@9F#-?D(,O82Z\%PH-!_.L_O5V&Q&A04) F"5"%18A>UPI_*5@P(7C1Y,;57I:HV96!9I9H'[$>:8E>SW*[ M'KG?[^B'^,$_/&.0;KA/T36*)^Q23-QZ!2Y[4U,YJ986TT?:>91625K>Y)+8 M23WAQ]]PKVF:EES%VA2+95&;ICD(Q@9 K6WA*@C7II)]!]KZ\'J&Q]./G;J' M55.?,?I#+H\9[;7U20T,53>I0Y5M8)X6DF#6@:JSFX)"#D:@XSY8*TO3 .3$ MJ<,Z[&"%O]=>CUM5?Y8C7]G[6>7__]!6=+?,![B;S8$@KP M7'NJRV @%AV@1)T=2]+;W.14\!LL# Z6+K=>]#-1! M1HJC=S$T.2'=G<1SVL3W0=?AF_A>2NM@[WZ"GY^^_1'^<[YX=1F6RXN_I\N) M*RIC+*:V<8XDP1C ,:8AZ9AT2%[G-@?6>] X+B!;P61^&IWU#<<[QMZ$S_CS MO-9R3M"8PB)QQFP5H_<<7,1"""*?AB>I79N3S#WI'!>6S?"R.RZ/5EX'V*0] M9;68QJNJMG4+C^4?^#GB8A*%+RR4 )E5F<6TSG9I8-Y;GIS"V&82]V,$=8NV MXU$P;Z"2'J"%7_%R_@7S!TR?9O/+^<=OW[$3ZC5O6H*T/=2^:4SG>C1'ODLQ M3@K!C0]-$E[/T#5NG'M2H VHH+%+?EY=+5?SS[AX-9^M/>,ZW>X=7I\(+S]- MO]SP9&,PAM$:DL+4>[CA!^/5/GL^,)Q#U-/@:9FXN_ MA-U.?:Z#>(F23\369M74JI(-4\HFY>K-%I=4JNVL/(24*"9CF#E74IK<:&+R M#M2-6WU]2G,VO+(Z0.#;U2=<_""Z:U90*^W01\#L:QLU6DS><7)K$;FVR86 M3;+*3] T;J7U*=$VE&(ZP-B'1)_,*NP=&!\;WIZOE=%:G<:?_OIHN MIVL,U)P5MUK&A+6)LQ2@>.+@ WH0KF@BPZ!O8X,?H6?@A=-$II.I? M%WBSHI7(W&/P8)7+Q!7%8L[I %XFFRU'AZG)4(%G*1LWRS>(_G? U.'*&'NK M?W\5Z%L;2^N"MRRD#%+6-LXF(1"M J(7.H0B.#//W@GXX:G](> (;_\I?,%?/\=_VU#OM5$6:_CLR4-5==YN=*9 P1S1!\FEW\WW^N'1XVXS M#;5_G! [V%2>V'A_)Z']ML+/RXE'DD)F&8*@Z%=908:2VP0LI: #BYY^>N*3 MRUOBQLW$CG^*?IB6^D;>KXOUW H4Y-.+ $$5#4HZ!TXF!2(8740V0K$F+4^> M(ZS;(\L#H; [UO;72]\XNTCIZO,51:.8[]_YG&0KT6?'('-&ACSIVL#**+#$ MIQ&28SRYO7N$U&Y/-9MC<0C=]8W.-[B:2!&B*"K6H1BUT6>@5/TLSGJ]M7)8/WFCCCLO)T&];8\9.?UW^GR*D]G'V_+:9T0 M1E,H#"8%\H23S!!CE.2J"$_QC%2\C>G;B\IN#S^'P5\[C74QE/DF''LU_QRG ML[7:WF&]^3_]'Y)H)K:G91KN&?IUJ)8O9OFF_>,4E_2SJ\\_*F"=3O[P*+6>Z M+320&(-W9#RX,_5(&\E;LB6"#CEI'26/X=0QUK-$=WM\W-S[&%:??6-W"Y?; M9R*EPGB,.H-EP8/RQ&U$)R&FX'E*AMG29%K! +1WFTD8&&A[1'4MM-Z%U[,? MTV_P[]6'?^+E5_QC/EM]6DX88T&YD.KX:4Y!1V1U_DVM/34Y1@+X4;H^.R-^,TO,)RU2*<2DP0**HZ+-,BK Z*Q3@J'Q36[7'D1MMPF/ MGG!\B&;/$[[K.63%1&82<\!K\*UH98*C_T&4WJ#!H)UO4@%^(+W=YDRZ@_#> MVCU+$*\GF9DH$]99\%G5AAK1*H@N&V(UR1140&>;S#L\C-QNLQR]07AOW9XG M@NLD-):LS"E;X!PUJ*(HPW8(OK@9 MEK5F520=8_0!4#)5:S(#>,LD!&6U3T4;KSL([[ZCN=O+[CUA^7 M]YZTJ">A MRK',@T,H01(_B9Q\+Y% EEPQCCPDYT[=9&77T^EF$]!Z!.:^NNIS2MHCS< F M#X+)HYJ6TL],-;1#_^L#8VJ6&CZ)W0Y;50(9*^_;H;B_(2?*!(1U)T MPT62!>W96J:[V_$/UL'M'-<'?56MP52"K>?F@I::%.3_(!-@. HN9$@Y-KF. ML"^A9V"U]L'5XRTD&^CM;&S8JT_DQ.%R.MORLVN/;B#[ML.+VMB^?3D\I5U, MQ5FF= 1;B9."I'@HSYDD>$2%E;RQS&8MMTKCO %K/P#KN@ZZ'UK&U M]CI(96YG:$(6/NI"8D)5:RMJQ_/U%&7BPEOAG&>Z2;)].SGCPJPY"IZ.) Y1 M23>#^+;SGQ/!Y]HQA_&DL(J+-;DBLAMYX]YM MZ@-^1ZFLBPSW=K[^#-^J<)>3K*,GGB(H[PI]$1*<<08LBBB"DT;Z)I=+GR9K MW.M(?4#O(!7M#SE_#;D9?JR5ABTWUY*DUDQS((^$U<+% M'63F&..T0OK>*NEWMN3/](*O](RO^-N,W-^K:Q-R0.BZ_4$#A*8[4#A0Z+GU M31>S_&^8/TYG'R\2_6CZ?=!P-U([)U?[=P#Y7 I4J(:&*PZ)\%:DK%V5FR2G MCJ#Y^%[?>[_Z7E)(2LD#L11C- ,O. S"D+QB&!4FH)/M7*>1%YC(C) MRB:'&R.8S'4[J+=7JV5U6.@=&[?DMO'EP[&)@O 2:+FJ4+L!62[J+2 +$670 M-HJLA7X.:/N]\GQ-VSXH^JX[5QMU=)"?NSN@V2K7M=N\PNL. K],9V&6IA0Q MS:][G_T2IHM_#Y=7]]C7=6YAL 667>_ANGL]_GRL?6'BS)??*8/]U>>\R)ISFFI.0?*&%U3 M&!&XH1U(%9>P33>&P3D9-WO4J2%N#(@SBJV.&#;\Y/-:15(%133 Y:Q MQ" 6GT S(57&Q(B-%N#90DMON#E$R?-A)=X!: XQV;_?]LWC.BA3F(48N+JN MA?$V,L#""H5".F)L4@9]%-5GEW4<8(\\G9H[P/0?X>_IYZO/UXWHB+L_PNIJ M,5U]H^A]OD!:KJ^NB*I9^G8GE26?1,=JHWP!R>EU\U"Y;AX#S-?V,0>BZ>%=[N:J/:.TS'/'94.G;79]7ZNTSD'\]I#V*=%:AQY,+K+V MIA+@?*K#BT3$3)AT;:IYNTC[7.]=F"W+CA?(K/9HUMI!X+)>?E$2A29/BS4Q MK@_H.#NS>1"&'M_\]U=&!]OY(R$?*Z((P2-H7A)QP3541PB\U\R6C*AUD[LJ M?2=>#M#P;NF4?<3=)6@V\5Z22EG&0YT"7ONJ! [18H%@N,",SF7WO^F4O92] M:SIE'\EW@*"MP;U00K)$@1='6E?<<7"9@GNO"VI;9%"I"7C.)YVREY)W2:?L M(?$10;-^$E,KZ"UTXD=?R+=V27=TF\T7/OH80^ M/43(PQ?WDMPX?!\Z2I1C#FG=T#RYN+S.!0"]>9Q=HAT ]A5F M#P#XX_]_,U$V.IZ)59XD,1TX@R 9A?8IY"13XE%O\1*.!0"]>9S[K.T L*\P M>P# KS_]20X2M[Q0>,6YE:!42N0I&P9"N["&L\0MEYR.!0"]>9P;G^T L*\P M>P# O_WURZ0HS#HI#X+70[VD*=*)DE/@G3R+0A'=9S>]NT L*\P M>P# AW_\/!'DFP3I"A13)Z-)%L"GHH"KD$0LJ*7;TC7G6 #0F\=I"-\. /L* MLP< O+KX>6*]D%97IDWM6H&.:,[!@2,#%H+6QO &N0%Z\SB-U]L!8%]A]@" M][_^/&'>LE(OGLE<6P$45>M'&()5RJ5,\:LO6R93'0L >O-. /#G X!]A=G! M*<-=QO3WVPLR+)14!*\MI16Y,4:1#"Q]S J++D447T+;P_+?][HK=X*ZQ^./ M-8\5=%=869=COIE7/83+B\_SJ]EJDB-:J60 &Z,CX20.#GV$$D/()!^3?&/4 M;*&JEV/Q W7^*(:.5< 9W3*[J9*<;Z^2G-Y51\Z?*%'1^O;FI%$U0ELQ1J'V9:$N#6$P!"F*] M%5(D&]K,)VW&4B_&ORVR?YCKU =$.O!7'JO5TBY[Q R,B4!<>$,>.GI ;[0* M2EB1FPPQ[?'B7B]@V;&D<@_-=8F_39"9F=1<*06BSKE6AN034"A(!BTSV0:G M3E2SV_$=P+V4O>L=P'TDWP&"MMU(,RS)J N'P JY^3;56RM& Q,Q,A6$36T& M )W/'<"]E+S#'&Z2@]R=Q/Z0=@@H?FB'WT1#8YZ/U7:PZ[;^ M>,O6A@-:CPDY2<;0GZ 8UF9%J?JE@B>R[8;^]UQ*\?''C[LG#HR/@:38@0VZ MYR+<^@UW.7W-O$7A'!AFUD.5:.?GA'&9I/3*B&A=XU9A6Z@:]^BL4^]J.#UV M!.$^#4AO21>C];QT^=O^PF\ M*\#<#&:=XG+"0Q$*)5EV4WP=B$1,.!' "11&*,V";)+XWTI-+_5C[:!SJ.C/ MZ,CV8=_FP1N!//+\9HT_=N&G@P-14;PC+RU ,I+7R?.1(D(3Y\V[?SQ.7"][95NT M/6X.!U);%\,A'S#P:GYY&+7N1RO(61? M2\R%(G_66F!,4X24T>G49'+U0=3VLC^/!==6BCUVTN2'=E%%CB)G9LCMR9F< M7!9J79M%T-%K'15Q4DZ!SV[N@HX*O?W4<;C/.%^%RX'AM-72WWC#WR;&DG1* M- 0'5_F*Z^(I#5'G*#D*C _S:B?9I&\)/-\9%0TWZL/4U]EF?KH,T\_W;#I7G">N _"4*IL4^Z];/L<<&6)B:+?52[8(EG>@=IP:RWX@ MVTJQ/6[6]],*D<6@O#40Z4]0M6V?BU$"YUA4=,XE?R*0[IK1&;S.LS\0[JN8 MP?;N4\SG>6)\T?##>W9X6;O)/OMRVD%:B#GFBH@%T-&&K)Q&BDA"S3(&IYED MIBC7UAST,?;G1D^W1TOO\'(-B^6GZ9>?OOTV(]WC;47$M@.JNX>]FR[_:W,< M56PJ1CJ2 B?I)E$@UDD0*5&(>O"?<:IF*)-G7SAC_*O?J>P7/CO?L]]!DEWC^&[49J ^T_ /Y],H7\*YV9,DJ!'>B2H\>KAD.H>Q=[]GO(_D.$+3MUG>6 M:)B@=>6U+*!0!=H[9 2C GHOI,BIR;'X^=RSWTO).]RSWT?B'8#F$7N]7E3" M\1!S#"!<3J HYH,HDX3DHR7G0QO$)B[W$S1U>'+3WX8XE$[[A>?-V@UU>':1 MD.O].<5]@A@MJ[6FC*=8G Q-JHB>I&I<.S>8[G?#U &*Z !5[T@G1, G"L!^ MQJ]X.?]2>=I<[MW8\2"X]!@T2*182T5EP*M<0";%C="1MH4FM_!WH*U+A!V" MA'E;M72 M <#M6[VB@TS,N0#H+B,,5J0Y+9(,O<8*,)BNHEM M?):RCG-R!\+A4<0-H9L^;WR_(_]B=D6_7G^P;A1UR-'>EJ<,<&;W'&T#'<9M M7O,+0>RF9.D?T]6G5U?+%=FXQ>WQ0V&:2\D3<"O(>"$+$"Q]+$PFYE7*1C99 MB#O2=WPL\.1K/I"T?Z+?_Z^)EXHGS QD<;2DO+/@/7F>(HB4BU$>99,!E+L2 M.*Y=:H&F'^.#!JHZ%_NT]B0.NH#PZ+.:V*IM=)[88ID4P(# 5^M18-/O2?!YV;1_,/6'7FBJT [__II?GV_)Z MMIJNOOUCFLF1+?/%Y[5&GY;$GXMYODKK>Q/OI'YA2X[P,,':R*BY1J\^,E;:-(818M\(O+ MR_D_:YN!7^:+5T30=%7CL =K/_,D;"@2(JLYJ\@]1.09*/0S7CMNZ4,+R!]& M[KC9GE/@^01J[ "L/V]>NY'H3]\N%HLP^[A.B-W=7KMCS[K ?'0&:-EY\OAY M %\OII=B=42==>2-+F[N1>>XE3&G@&=+Q9U+%+7Y#K$;/GY<7!3*.P0/D\U::H.R,CK4!B<]>L91TDRO')XK2[HF> M]/&V;%Z[.1#(Z$-Q HRIYU@Y9+Q9#B(ZI^U. ],? MI6+D Y+!E#P?6N)CPP8_/F1AM\--H]1,=Y0]8&T.Q]:U"/CY8+L+E%^ M>+">Y2@%MW:GP["=P'#_Q>,DQ=I X6"!CME2MB8X%M\FK]Y,0G*BI. (JQ04 M*B/KD$'&(&>-0=7,L]AIY.KU$S?S%J\__#!N\?:MXR21AM?_@7( M_YTNK_)T]O'5I^DL;.#K2XHA,04^N RJ=C)UBA3HD467HW/!/Z@S>:R?\"-O M&"<]TT#Q@XFQAU3@=E_[]]MK2,9R8WWFD%PAJZ:=(VQ'!*&EM4GKE-I.S*F6X(+48)"; M4%A=L:U/N'>EM^^>;L,MR=79X@\_S$6T^8@]Z5]Q-G MH[%X)SS%8)FA!F5+JG,*(PAGHG0Q!MZFUO%$V>C!C]K7>Y6@6%53 %M;U]>J M:U_OM1.;5AB!$EDPJ4D:NPDWYY'_W@>GS>];[ V"D5,8&Q[>+C8<7,\GTA1L M.\U (Q.@F!?@F?90E(PBJ5ABWF6.X4ZIC&T$C(N[#C Q'U!!?0#LOD VL:+F M(0=G+01-SKP2.I-$0H;B,= BKO>5!DNQ/TK%>(G4XQ7[(TJ.E/+8N93W*W*! MPB)O<8@VV0#FC%596 H :VL*8R($1;:>LYP":EX<$\\YA[N]:G1@'*O+>3/! MC@V3BR]?+J?798;OOV":EFFZL<#OYY=7Z]K$F^R1QLAKT6J2%+6IVN_1:V] M,Y]M-,8XS#OA9?=WCI>/;P"<1J+N()&R[]Y^EP3@VF#"XL#HJ"NC 4*]4^MS M$BIISRUK4OUU,,7CIO;Z<:=.J_H.,'Y(RLDG)HPF%J,,M(PSB^!*Y+S^,US>D_Z@&<,GW] D.[@[3R?.!":' MPM?V_T)6]T&Y!.0E2L*3, 6]B0G'J/,=*A/X*GR9KL+E]'\PW[SFU7RY^G4Q M7RXG@IC+Q7$0V3OB/=64/V?@3=;>.16%;L+[4T2=1UYN']0\-'.#J:2#79A\ MF*_3)2GGE_GBY_E57)6KRYNZF(DQ*J.6->22M6F/(;,L.#DSV5LN4G .FS37 M?8JH\RBS.P9>@ZEDP(DGC3?,&S=\7FXKL,K]"JQ!]\Y=7]9D&SV(TQ/OJ)D+ M5)%7C%47,#,&CB&AC1(Y)1*:10HRS)X1:)AS**TUAAMF]C!O2D]C[UW'WS]4+/95'D=;,B[,3AQ M+%B7= 8G,DG.>@,18P"6-?>T%\BBVM02[T3>N#ALC)&#$+F7P@Z&X1=<3.?Y M_2HL5NV]0Q=B%-[HVJ:G%G0Y$AH6#UI:%J6S%K');8)^O/V4.C1#AZFPO%G MWUT?..W8,&+3NO;UW^E3+=A_1R13)]H';W-R8-Q,8-B*8##P %Y MB2F4^K,=[]X/0*]FA%]U+8D=[DZUD^72+H0<^3S9RU8?M\//..)FF???@Z<;:'HH^8 MO2^@"*04@V[A6;@_?E)-&& M;VV)M.GS.DTCUD)3:6C)<>YR*DFVZ9/[&$'C)EM.#:;#]-"?*?K>.?D?S'R2 M8Y >F2=>&-;32@.^\ Q&E6R3EM'K)E,'GZ5LW/S)J1%VI&8Z29(\8.K!&)^; ML/I>2*U8R=*A IMKTQZ)9*X5+X#"<,^4CL64Y[S\@]X\;NJC&;K::Z$_HS9) M@B<7O26;;!TH+3BXHFG)N!P*9BN1M>G0=X!_U2Q5<7+_:A^I]YN&>+^:I__Z M*2SK=:[/=7C=^GF;.7:'Y!R>?N "88]*!XHFW#7X")?W!J"4@CH4!1AH.2KM,U!P8B$;38L*>?&AR6G^K@2.WOGB5-C[ MX:IG"PWV>8W]29MR^#2;71[;VB(VG'%S)#9-"-I8@J61]9B^-@YRVB!HPI/! MJ+D339*OX]K%NZJK]3M^4-M:F6^_K*/MFU3Y@R;\)1:6@Y40D#Q59;D'AW6 MA"*Q%2=8;'/S_7C2S]J6[H/7Q]M9G$3K'00IVSC>B/2B^N+W.?[W<'EUC8+E M\NKS]?<><)]<01/JS D?0_6Q+7@1ZW!=*8SRGBO7N'W+$&R,WLNM)_R?" U= MK877Y#;,OR%N:F:W&X-Z#IYN.YW=),3^7(>":R7=":)V8)1UIFF.'.M(K5I+ M&!&2T1&5BSR&QEO!P!R-/&>YAQ4R)D8&+)L98KF\F<^^XG)5DRXDXFFBOZTM MQ5^SZ>K1?5(YD4O0P#22;8C2 04[ KR.28O(HFQ3L' 4U>.F8[N ?6M=GV'D M><35GYV>VSKV;'G%YTC,\IRYK;-9O)>$V:(]1)\L&(\E6#36/#QX^5<(/N]- MV5K^]&V[JW;=YB/9$(/(M-Z"JH/@;(%@% ?#0@U'&->YR9V.P3@XZU!T'_3N M&XJVP<#(S>[>K4_\:B.W$(M/WG&P]>W4W.[V MK;WT33RIQN?'BK\'S-STT++,T**SP)QRH*3@0)*(X%56GH).'?PN9SB[HV;L M7G<':NRAS@\0W\A:_V,ZFWZ^^KPA/$;)#9);69PQH!@OX!CQP;/T9()-Y&R7 M;6XGO7_WYI$U?XC>YD,(<6SMA[_O$:XP1*.- "'JP/)<&,0L*=K *!/WB06_ M2])Q-^W??_-XK0H'T?[!0NP@5W>]V]$OKXU?4IZGVNY3\OP^Q-^(PW$WVB5UH6 M#MPX"\HH"SYQ =*ZJ.LX'Z.:=+MLP6.:Y P>I6CDL&QTL#QLOSJ(YCJ X)^X M6+=IG&U.3VXZ(7.=LER?F:/RH)3PX&22H'TRQ$8JJ=0)5(P5S4$8K0J%,@1YPW\1GO$S$RV+J(9@Y6 M2D> VBRTH(Q@MF3 6,-[FXEZ$0I$(8-5D5G>IGR\IP#B<'4^@HL#9#OV[(_- MK?![OF-E9F,SBPI"1(. WM-:24Y=WV)$EQF&XF,JNY6Y/?66/C!PB.KF+>38 M@:EXUL0^9F%_OVW)GZSR-L8"SM;=ELM2[2V"5,5PVH'KA+E1LAS/DC[NE9X^ M]KD3 ^"<(?_FJJ[PC;J6%U_#]+**_Y?YXE?ZMZN)8UX*;B0XM9X5(2D*LKSN M,I8%'YB2NDECXE8,=9Y[&1B80ZV+(5%RSJME_>7?*4Z;SCY>7WKEDX)&9V@\)=3IJC@6#6/[SJ___C)=K)F]II[6 M]_?NWT0$KA5+ DQ)"$J& *[( ,4%K;7R622VDP/][*LZSP6U06 #+9RS==T4 MXJRWE.5O&W'\ Z?UW[A(TV5U MZ7Z;K1;3V7*:KN60!?<4:5GP/-71=+69?C$"4C$I:%FR,':G#: AD>,V@!ES MZ^A%\UVL@".LP[^O"X#N5C\ZIA5'!BY9 ZK8>O3G&7"6,HM<%/1Q=]0/1]A. M2#WJT^X^/ IS [<&%E02BJG0):H M:'?4"6)R"(&)JDY9?.XKVAU: CNM0?O"UF!W6M@+AR]Z 5];MAO!353BG+$B MP?M2>PIZ#\%F#25(JTR=]![:%,B=B,&=EI_[W^5W.A2]Z-7UO5F:V)B8])JT MY4UMN2XT>*LU")F-=8$;@^:\5M?W#.ZTNOS_KJ[3H6CLT.KFY.?7Q?SJR[+. M(9C.;B[L_CG_,9BRXTV+W=ZWVRD> M>V% ;:60L3'V>KF:?J[UY[_,%P6GJZO%>@04??IKTYMCLX[H.^]Q-ITO_@BS M<"WI"8IBI?()G!(6%"L!7+U[&5/TDFD3 ^XVVNL8*G;#XTL[5CZM\LX)I1>7 MEV_FLQ_832IRC5&"T"F#*L&#%]("CUH4Z1SW2@R.U>VT[(;8EW;D.X8BQ\;M M;[.T0!+C;[-MK7*N\,/\'7Z=DI@?D?_GM:/-F_GJ/W!U MUZUNHEB(+B1#T:UAM84^0HPN0?)),^Z+SK))/58SCG9;%B_U;+@/H(QMYK=) M(3XCA>]_M/IVG_GK6+7,%_=&*DZ\X%BL2A!)6U KG4@@J8"7Z-&55(S1NSDP M)Z!VMU7Q(@^&NP-#!_O)IG4IYNV*V>RD$YN"L**&RU8$4-9Q<+7J05NO"X^L MD-!;; Z[D;<;IE_:$7!#%78 S)L)/Q_"WQ?+):Z6])>;[VU8^D[:L_P3SK!, M5\OW6,_'9@EO.O5-'%J5HZ(=B]5CL>0HH,X2@:F<'68I8VY2%C<@#[M!_*6> ML(X%A@[6P4Y^'(ECP_#U?-P?5S^SM-@CQ>9HT8.2B<*<(CS$8# 84[00;#3O M_EGR=T/_2SW@' $"/?KM/["\M=7ZJ_!E2E%,_>[%YSJM?F*9",4'!28EBE<8 M!@B,.0C)9ZD"4PEWS"\.1]1N@'YI9XJCJO8,6XZ_O_K\.2R^S>_7/MPT7V_5 MCGR7=[9N5;XWWWVT,??>KY2K,\G3V\=V]Z:"I!*6M*V!YI-W*%%-+QA1X^H'A)@6?FDPB;,/.63H#(".#ISX :5P?=-AHJS@OC %Q=3&B*QFF)B68)./11DG"F\2T@[. MR9F6G@\(SW8KY@"L'#D<^?TJ+%9=+)D'M\NQ'(&2'K:5ZA[_MEQ>8?[Y:G%;;W]=W'9_BM^FH WS MQ'K+;,H%D@D(*N0,064/IH@DHDVON3>J:U[PVQWE;;^^/97^-YAA^K M%]F%U;^[W;&\F.6[)@)W2UPJ%0O)'$1A$I34$9RCO=%CL)ZD(GB;1&ASSLZT M$K[?O6%8++V(Y?6C;\E%YDK'""PY RH%VBQ%#A!D2$9YYE#V55EU5!S2W[6( M?I?/<5@Y,@YY/>MCP=SK)+ 1 E-,&.0!E*YS7'SM&JF< Q]SD9KK$D(;!VQH M3LYZ?/:8*:WC,-%#V#%(VX'K/15K9^\/\_JM'^62N:P)B@3KFAW%))+!T 6X M=5XK):0+36X=G8K!LYZO/>82:H*@%["R[NVY#YH%W,2$?RZF":N+4#8N@C8I MJ< ,.&5+G2LFP0N*&+&PE(KFF=CL<8WMS^I9C_7NY RF!:K^==;=A!62![F[ MP$10H$H=SLXC@^2X<];Z*'::8=CK8GLQ9SE-8#[.JMP+<^=S^O-HG_1=.N=\ M+Z"<."*YWV!5+5MT/(.WRD#4@L>BO=2E3Q.KGY0-E_,0==9+,YV"#R' M]7GLD<>3PM+>NEBX@:PU)V$)#0%MK/=,E/=%\L2[]&Z/XOK%'+MUL7J[P><+ M6,R[!@B*1V==<9!8G6/E/-DX831$198N1*T][_)$?,B@]!P.]LYA@;; W,L[ M"GS&2A6;DM9@F:-X740.(6=9QZ9JYL@9\:'+A.R._(V[',\X"]L"/R]@EWOD M*&A70V18#";*"(B!-!H]Q=Y,42B>190A!FG:=+T9E^UQ6^:?\2(\(=I>P-J\ MR'G=%"5\ MLH;#2B\+)SXOC+BW&_T.ZT1C^OZK^6PMFJMP^0$7G\6$-(>&>PT8ZI#C6(=W M.$P@.!5I>S_N<<4"D;UN#'UR9!_!ZW@>-_:[,UK![ 2MS;]?\<-.:1HA-NQ-][WL6>/WWQ\>-B M76+[<-1O"5(R=I'2?JZG6E] B0%[#S M/.^Z/B8HYX/2J!185QUN%.NII!XPY62=T.A47_,!C^5XG.BIU_4XNCKV N 9 MM@E]$#)>+)=7GZ]%]A?]@^EL,_N&!'0[*7CY76_-ZQOKF%OU%!V)M['*9]JM]%;1]\#P;KK\KU\66,T- M$@Q7=:+4A =#106I>8^.=-9@Z%=.3OK'J;[H'VPC:L) M9L[9E=PFD)O=_.?IUVDFN[@6B/7>!FL14O8*5' 28FU9UT?#E=?5N+)(0LC0H&F&&DL!PM.)<%"#(HT4GA M>&<-5';G[:Q[IW2WD([ 32]+Z9!3N:=$%%1>='NDF(3ELZZ#D3N[F%:IK/_!7[/I M:MEL3,GQ)#6?8C*PU/I(&R3NH_35R]** (Z%@0_" $4I*)G&2,[7"TP;;-3U MMAQ>@/ZA'B9,? CDBQ8%AH=:^68,>&<-6&N\*M;KW*@%T% J\Q*8Y:.:M--@!' _.(/U^-_U3.X8E6W F MD1^E.>U;)3,@2V%R+2THMJ\F!;>DCURATH7G<&( G#/D7__WU73U[;<9+?^K MM5;>KC[AXL.G,-L<]+^9S[ZN+Z;@+GS::E\L'@>#%%DC/D8@X-D%7DF&!)YPU*"+,BR M#4BBZFMR\YX,GFF-\TM:D$<@[D5OCM=7I._DXJWW,I)7PW55GHK@(W.0E2B6 MPE(K?%]1VIX,GFF5\DM:B4<@[D6OQ$VGVGNB(>4Y]"* #>0OD =1(&B)P+V2 MJ3!GL^JK/G-_'L^T%_)+6H_'X>[8(:4?SF!E/G3F.0HC AK(R57G03CP*DEP MFKD@G4\YIO-:EX<$D/TU0'Y)J_(8S)U[^^/=A?.@ZFKMY/],9N7V_MU]14>. MT6B= 8-2M8%F@A!(CDHK3L% $27;,UVV^\CA3(/1L\G!-L/DB_9^=Q??1-H@ MDO(.9+#UZFP=49U%!*EEMD4&9UQXJ>OXQ:=VVZV>#BW!7E#^ETL+/R\^SEA, MTI#DUH,*42C:!#"1$V>XDE%&/+=LU9X2.-.]_%_*'+0$]8MV";Y/%.X@."]C M1K3 A*]]A9F"6,BVHM:*N9*$C4UNQ74C@1>?W'X!UJ EJ%^T-;@WR.UYJ3D5 MK):D^V19!A4P@ZLU'%$X Q)RP09R10HISS$Z#Q814YT,(%L1)O^ M4"VX.7:'_FU&L,'W!+*U$?M]\\IUZ9XT1<@L!82HR4A*K2#(%,%JFQ@)T9HV MES&?H*F7VMVQ\/AP5QI*?1WXBH^PLBG 2\IPIX4!;^H\TB+J9-+""$*F)!,% M[7U-%NV35(V+QL%TOQNF#E!$!ZBJZ^QM^74^S\L/\U6XW%1=6B99$HJ!9J8. M0 D%O!8UM:J2\D'PA$UN &PGITL<':+O^>#"[P!"[T@=1,"GBUG^&;_BY?Q+ M%=/&G=JP)(,(Q:.N_=R))9DX.,8M!.)3Y:B33TUBS!UH&_=DJ!VXAE;+Z&,I M\)*^__%7G%'T=TE<7>3/T]FT-I]93;_><,2M#%HK"T+XVL1,T=K)M7#<%8,Q M62;BCI,E=GG=N.<(PV.GD: [,%+#.*1W5ZL<6L:9%^"<):>4&PL^N0 L2,VT MDT;%)G,G!^:CEXK]7N*%,6'2P2K9<(9Y.^.;S6.B%'),)H! (XBKX,"1VPS) MTE["!>/TK1;@WXV\<;W%41'TL(O5\.KLN,/F._QR1?X.A1](>#_1/_BOB=/1%!LLH=@@*&09@F,*K,_" M^U BM@DV=J9P9 MU.#I^./1IHI-SLC'''I\\^L!F%J?E@<0#:)FLH@X43[+B M"BC%)7C-'02*0(0.RC0:SCZLX7EU&9;+M^7# @-A^MM:JC=]HM#G'!ED4\/G M1-&5*QG!LB*,5#H%U^3RS*,4=658]M'^#YFQ063>@4>]]KQ^6(/K'#3I%LG! M$C5NCA2G6#*.&#)XI7)*TI*$VMW)WDK2N/ 92.?;[B4 MV^3X!'(G:761OX:VWK)'<((^.J>P&!>$T/8Y+V?'=_6(E4.4.F\GX>X \T<] M7JC*ODT)*Y]C,!!U;0++(@=O6"T7UUXZ[XM1\C"X/'A3!\4\[<%RC'0[V*VN MG<%M>_I=;LOJ@-;7B;'<**!]7) =)@_199]+K>XIH6%BXDG:QH58&U=H:)5T M@++M(>[%U>K3?%%3JA>?YU>S%9]89E%R1/ V>U#!&PA,,S!""^*6Q%;:],W; MC;X>XK8!<;$M2S2PDL;>#!_AZ69(]G4ODOEU)^KEW>]EVO&M<8[1 LZQ]F20 MAKQ0DBM#=,8F%<+#$1^/'5 ?2,&XEJT5UDZGE#Z1=WW_/2EGG/(:1%3D4Q9R M%()F#D3(0O&2&,_I"'!U4#LY G[V%VVW&^,[K$[J=/;QSOC>_&,$ M D=)+FRDQ1!1>N#)\((Y&%H-I]LK=R%YW#*^<;;/P579'VCSSU<+8O#Z6/S: M:$\T8[DD(T'8*&@9&@_.4[,0@/%8U!X/M*R[B M_ 1PNS;ZV48=3>6A'EPHF2Q$E@)9_L*31JM";M,HX3G*=@*;>8E@VU\Q?1XG M?PA_XT''QM?_<(#CX2T4#'0,?'TQE9Y_=Q/@[KH!"T'D5,"C(HLI6F82ISOGOTW<4'@URMFU'86EBKD%Q&+V(@OQ%UD(G"B]+D M,LI31/503W$\.K;7Y0R@ACX-QBU[>'W/]2#C\>-#!C DSU!V J/"G3&H"3$2 M9025:;.))1T[GI<)RDLE31.0R>3E*)00;TQX'JBJ?@9.[;2- M/%*BFG"YI'_P$\ZP3%=_XB*1MD@.02A![E!.=19>L1X<%@\":5\1$87U3;+( M@W,R[JGAJ'Y#,X6?%_!??:H=,G^;O9Z1U.GE&X??%Q3%$(?!U-/49$4MG53 M&3,N%9,=;S)[^W"2QSV3'!/* ZAP?,RN;T#MN!W5;U[D_[Q:KM8=6V\7J;?) M6)[)+ZJ+-)H @7E&0:JU17$>8MGM^ME19.R$0WLN.#RQ6L[$>UWW"+['ZJ18 M9;QE"I@,!I2I _^24G5($$K'M.-V7V(47]'N;L@XM' M;QD=I8 .]K)[V_ O\\4;_.=%2O76>+UIN9C/Z*]IW59R>=TP.223&,O 8D"* M920#SU#76AEG0V&:ZR;HVHO*3A!W'#(>]G!KIJ8.,/B!?N]MN(ZB37>X(93^+GP,DWP&"-L?(KZJ) M7GR[:>9?4J5> ME,XH$5 TZA(CDY^B!-MKI)#+*-F-Z0",Z*T)(30IAGR*JM]WL,,7OA*<#M- ! MHM[A5YQ=X:OYY\_392T4H"?_ML#+,,L;:YNIM/KD-7+.HF&N I"2U.< M5+$TBI:Q';!T"@A]F @VID0X@=GWY^-Y\FCI1@02WN98QG86;24?%1B6-9>1B$UAE;'*R! -=$/QW@;ILS\?M=[P/CHJ! M Y(7M;^L,1"L-1 %=TD:6F*F;8W[-JHZN3_;QOLZ6@T=8&J(,J$HA<-"9*?K;EPDM'Z5QQ" M<77;H; ^(@7XVJ?(960VZM&@/$@IS4FS_*?#\J"*/?9:;*?E"UP*D70=MY.J MM\/4^HPM@LG1)I$#RZG):?HXY0LG3>F<#NCM5'XF)OR1:^]":U9*;35HD78L M[A6M[\C Z:3(U2O&^-'JSX^H7#BI:WPZ% ^@Q+$[XAYW.UX8QY6+%KR)&I10 M!CS+!7A0TK$@F>>[#;EH7[30O@YL, B>6#%=]).\Y?+UW^'S=+9FC[Y7^R/B MSWC]YV^SWZ+_\"PF*2LA*CRS28G"H-+ B=< ,>32SI( MFWF366G'$-U)Q=?@=O-DBAS;>Y10:'5R KRHG<*O6<+%*DRK)?]S MOIQ>UU8H;;2*PE9N)+F[K,J*E@*/6F7Z@= /FQ ] IIG7]5)-=6PB!E6P!W$ M$\\R](9\@JM%%3FM!#1!UDOY1>;:ZTA \,2:5"GYX(BZ-EOA'C1V4CLU^,[7 M2DVC^F?K%?77;'$[:'T5_H[7T?GRT_R?L[ DJ>>K5!EW'.8-H?3K8;G$ MU7*2HRY6452DF2^@0IW4)DC29*@ME]ERS\).5FT(:G9+F+/S >$X>NK .-[G M^2YSM+SKM'CC))##<.L[I+2XPCR1-1J2TA&#AH/";&OQ;(8D"BI5"K=M6KT> M0?-NP#W#HYY3Z7%L]^^/Z6SZ^>KSG3M[+V"JB5#\^0H_S-_AY?5/WY&"%U_) MQ>5,9H:L]BS2]1C+._"Z&!"T84@F(N>2[V0^#R1@-^"=T;G,R;0Q.N+"WP?Q M*)4P2I*7S.I:4D&1CU(X&;- W*[)?<.)& WQ)W1 ."P=,F83:T=>R M6\B[]ZMW0]D9'6"<0 -CXVM;CK'F#Y=_S4A=][ZY[IGRF@2[SA(E[IU#9\$G M5<\2F05GXB'_@]..G%>:+K[@('W$S6.\[DG=K:;/]00-TM=F!PH$:V[P.BSK>L6IW M_9:[[DC:*J]H;Q/UM$"QF&L/6 D"R8?#'#LYYZ M7"O3TG"@UJ-PXC)'F3SM(XITKKRC,"TY7O/\22O2O--M6L\V,C!W,Y@>B/AZ M(/C;.+Q:+>W5Q?FOOIV]WO_!F^U>]=_#,L\G6-%2I42D4#GJ][&0B* M6:VA\$27Y-"[%&23L22#<="I?=L'<8_;MU-JMX/3S@N*FO/T\JK&NN\Q72W6 MV93KT!9SO4Q7Q7"UVE2+/A3^3]^V/^"Z!YH5Z+UD$)Q2H+@0X&*R@*&JPQM# MRFH!](8\C0O]D5#ZL EB)Y#I=O7<+]?FT3JB&[1P)%UN!7B5-<5N66K.N2^-O[W21169%SL2!U[;;-)4(P MZ$ J5L@IMPD?UED,Y)T]1E&/@#Q4\0^3.H-HH0,XO4/RM*9I/;B66-DP$94) MV2L$RT5M4D*[2.2ID-L5 B)&H5*3"Z);J1FWUKM9O>2>@"'429:E3JD@WEV=1H"&F]RF>U((4@ MWYHE_KE*@;:O=5+R[=5JN0JS>GY^5VXZB/'.[M\AHH4_3I$BCC*>E M%;%V3:[=^X)'A&1*C-9P+=ND7?>BLM,SA'V0LY,]'$1+7314.-C<>]ID%,$% M1:2-I<0$T68.2CAT.@HM1)-AD&>YI9\.F -KKE>?\VUYC-&)X,BX)&FRDD5- MQC#PI00P@H?(F/;6-^GIOR>=XW;U.J6E'$13@\V&[.&J@+8JISK[0.NZ[J0B M]YQG!3['9!AF+[#)5G[:JP+-:F&:@'<<[79@7P<(-X,/,C >@!.'=2J:)V9] M;[V# [^]\+<\+G;?0#0 >2W;E1K__T)O^G/Q?R7^>)S MF!!G7.=H@:$B63N=P1GBF'NG!!>"Q]@$[4=1??:YVKT@MHMCTD3??2:VUF>, M5VEUM2 .7Q'+'P^[G+_U.0,DH9ZG;Z#4TG%,(;H;B^,P8E&"%U>&V0MO7R0$LEGH\].[SDZ(FG-;)M M#0N.=L==4=%PZ3D87OLW&6]J_Z8 T2#'$FTNJ4DV_606[LZ[?N25K^;+U?)N M71C:RGF]P!,2>@\%[NV#[X>#\:'5UT'\<.7QCD6%:#Q/#C!& 2H7XJZ(##(@QNQ+=J%QSFAG6L?-M8^* MT,%4>#X;[YNPJ$/'ON(1Y^ [/;?19OPT_2??E@DCK$A'X24O]>Y=9A 8!9_: M6.9]8BJ&)E- QPX\ZE*Y.3&X[83Z^G*Z;@N#^;=9PO4=ZP_SG^GS;?_ZPHL. M48$IPH'B7$&P6, I';VVV9 S>T)I'<3$N6SH^R!SQT"EO=([V.V?X+VV_ M\TGT3O/B,V!FM#QC(#Z8.G-O)'GZ+]Y-XH121:<*DA*Q= R:()&1B &:.\Y4*IA\W8S\P; MW3'3L#YD%8'BM^@5("N,A"&K, (#+0.%=D(X+YI,4M^#QG/Q)??!U8')H;U5 MUML>6]E8,[5.*:RKH(TVZ#%JD 9I2TBU+Z9-$F0QVAG.R"EN?RKU(UV]W*(8 M& ]/[:E'*J<#K%UGJ+YC:E/.6AA#ECDGG]1+4!@$!*X+))ME2*(X99O8N40LE=("FMS/\,/V,'W!QT\?W9C+#346S3"8EXL)@[71H$U*T8QED MXUQ15I8?K0<7 M*48*Y,B'0#_SH4G][*,4C9OW: .G8<3? 8[6K<6_D\Zڲ*$B!"E]=0LR MF7!?#Q$C8S:[%!Y.TAO(.#U"T+@IBD9&:0CA=P"B)]R!WV]O*[(B&=HZ?[QD M0PO#*#*P)#*1K4(74 O7I!G@+L3UTJ]B-&_],#7U!KVGLGJ&EV28C" =(\%% M'<#5YEG%!9FR85ZI=LU[ADK!CN'0'PB-0[.O^^BI-_QMTI63@)FI$C)8K$4W M4N7::Z" X=PZX8PUX@0YB?N7D;LX=6J.JT/D/V#%E"4# MLK :/M-J)E<$@3.-QGKDF)I<@W^!!P'[X.JH@X ]5-;=3OMCSC&R$+.0"7A( MU>BCAUAH*Y%!1_(EE,JJR=26EW,0L \>]CP(V$9DY"%Z[/EA1 M**B/%ARCR"=Z[]S#Z8K_V@^E_WX. ?9311;NBQW/17N207<$J&$Z>A"\0 M:>5!P(0Q:YZT:Y+S.+NC@&, -8SXNT#2X_EHC5R@\UEB M\?+A!/5_S<. HPS3$,+O D8[)7V,%%$'1=XFRNN&RN"U8\!]1*NP!CI-SI=> MV'% &Y_],#5UX&IMRQ:]FU]>_C)?U-X9$Z^B,H)<4<^3!!4X1=G&%&!%6!DX MC_8$ES=_I*M;)_Y (#R%M".UTBG()DY$;R+M\T9:XL$6#O0OR6@'+00OVG#5 MO@_$AIB.X'2LMG= TEZB/Q@^7W QG>?WJ[!8M3LX38#"06HGWU^J3M/4B>/X^LH6LG@Q M+%/D$45>\AX6SCU45*8HR:E)?_^:!6K(W_ M-K-(1KG::,V+"P3&& *B[$ K8RMFXF"T2Z"^2Z"!7BR:&42SF. ((/UHD>!5 MUSOMLJS7/TO^?K.^OKU??PFK:[7(0E=5,Q^34#QG.#&SRF0&U!A1>W*8NHPG M?J=\YV7A//7-=ZR!QH;?U:^P7&TH]Y]1-2LGG%*$0+I-$HLA0$2^\1TYJU%D MM+5+)_Z[)7P7!/&C0/!X(XT-PH62WF7* 9*)#@Q1X;Q':I <<2I.N%/H0^H^ M.:ZW'P5:!ZG^R+C^8IE[-?)6L PI3_GQ1HSM-V\+==,W33; M?_*/:$B[$'Q&2#Z4S4/-*-AA9$E!:&&TS7U>'-TAT-&],EOK/N,6=.1M2 K: M'(%&<<0Y12L*R.)C1$DR^RX5XYT2G;DC80Y$O&A[F47[8[[,O[VW(]K\=BW5 MP9OT;-';"2$3,>F8!%2E(J=>60$54GPR;##:F)"H2TWA1$YE\\A?H/#.23X= M)%LYJ'J(%264Q N(XE(-73*PUX09U)4<@H,]KN1PG0_P@'I[#_RSS<3PR ZO M<$3N9&!G6+P '[4#5VJJ+NE4L0^=Y^OR#(6>"8;>@YPI6A\3/(_5[9)RR,5; MP$ &#)+D )^O5B^J5RFD:NVIX#-"[]LL]MZ/H0G*'P]%?\? DT K;9NZV286 M>&O!FTI0VHP.]$B\E1,@:(3NMIDL_39^)JA]/.Q\>ZI!HRSB#UNL,*8Q&5X:&EB:70S M,3(N:'1M4$L! A0#% @ 98']4-/[*.VR!0 RB@ !L M ( !F1$ &$V,C@R,#(P+3$P<7AE>&AI8FET,S(Q+FAT;5!+ 0(4 Q0 ( M &6!_5!_TET!T 4 *\H ; " 807 !A-C(X,C R,"TQ M,'%X97AH:6)I=#,R,BYH=&U02P$"% ,4 " !E@?U000[_R9A! @#87" M$0 @ &-'0 8V=N>"TR,#(P,#8R."YH=&U02P$"% ,4 M" !E@?U0S8]HR&03 !PT@ $0 @ %47P( 8V=N>"TR,#(P M,#8R."YXJ, I #NP@$ %0 M @ 'G<@( 8V=N>"TR,#(P,#8R.%]C86PN>&UL4$L! A0#% @ 98'] M4-H6A(LD80 -#0$ !4 ( !VIP" &-G;G@M,C R,# V,CA? M9&5F+GAM;%!+ 0(4 Q0 ( &6!_5"QVN(EE0P! /H7"P 5 M " 3'^ @!C9VYX+3(P,C P-C(X7VQA8BYX;6Q02P$"% ,4 " !E@?U0 MHMSQOX>A !,F@< %0 @ 'Y"@0 8V=N>"TR,#(P,#8R.%]P <&UL4$L%!@ * H K@( +.L! $! end