0001159167-20-000038.txt : 20200730 0001159167-20-000038.hdr.sgml : 20200730 20200730190024 ACCESSION NUMBER: 0001159167-20-000038 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 77 CONFORMED PERIOD OF REPORT: 20200627 FILED AS OF DATE: 20200730 DATE AS OF CHANGE: 20200730 FILER: COMPANY DATA: COMPANY CONFORMED NAME: IROBOT CORP CENTRAL INDEX KEY: 0001159167 STANDARD INDUSTRIAL CLASSIFICATION: HOUSEHOLD APPLIANCES [3630] IRS NUMBER: 770259335 STATE OF INCORPORATION: DE FISCAL YEAR END: 1228 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36414 FILM NUMBER: 201061691 BUSINESS ADDRESS: STREET 1: 8 CROSBY DRIVE CITY: BEDFORD STATE: MA ZIP: 01730 BUSINESS PHONE: 781-430-3000 MAIL ADDRESS: STREET 1: 8 CROSBY DRIVE CITY: BEDFORD STATE: MA ZIP: 01730 10-Q 1 irbt-202062710q.htm 10-Q Document
false--01-02Q2202000011591670.010.011000000001000000002835200027998000283520002799800050000005000000 0001159167 2019-12-29 2020-06-27 0001159167 2020-03-29 2020-06-27 0001159167 2020-07-25 0001159167 2020-06-27 0001159167 2019-12-28 0001159167 2019-03-31 2019-06-29 0001159167 2018-12-30 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2020-03-29 2020-06-27 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-03-29 2020-06-27 0001159167 2020-03-28 0001159167 us-gaap:RetainedEarningsMember 2020-06-27 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-29 2020-06-27 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-03-28 0001159167 us-gaap:CommonStockMember 2020-06-27 0001159167 us-gaap:CommonStockMember 2020-03-29 2020-06-27 0001159167 us-gaap:CommonStockMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-27 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-06-27 0001159167 us-gaap:RetainedEarningsMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-28 0001159167 us-gaap:CommonStockMember 2018-12-30 2019-06-29 0001159167 us-gaap:CommonStockMember 2018-12-29 0001159167 us-gaap:RetainedEarningsMember 2018-12-30 2019-06-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-30 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-29 0001159167 2018-12-29 0001159167 us-gaap:RetainedEarningsMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-29 0001159167 us-gaap:CommonStockMember 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2019-06-29 0001159167 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 2019-06-29 0001159167 us-gaap:CommonStockMember 2019-03-31 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2019-03-31 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2019-03-30 0001159167 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-03-30 0001159167 us-gaap:CommonStockMember 2019-03-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-29 2020-06-27 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-28 0001159167 us-gaap:CommonStockMember 2019-12-29 2020-06-27 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-29 2020-06-27 0001159167 us-gaap:CommonStockMember 2019-12-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-28 0001159167 us-gaap:RetainedEarningsMember 2019-12-29 2020-06-27 0001159167 us-gaap:RetainedEarningsMember 2019-12-28 0001159167 2020-07-01 2020-07-01 0001159167 2020-04-24 0001159167 us-gaap:EMEAMember 2020-03-29 2020-06-27 0001159167 us-gaap:EMEAMember 2019-12-29 2020-06-27 0001159167 irbt:AllOtherRegionsMember 2019-03-31 2019-06-29 0001159167 country:US 2018-12-30 2019-06-29 0001159167 us-gaap:EMEAMember 2018-12-30 2019-06-29 0001159167 country:US 2019-03-31 2019-06-29 0001159167 irbt:AllOtherRegionsMember 2019-12-29 2020-06-27 0001159167 irbt:AllOtherRegionsMember 2018-12-30 2019-06-29 0001159167 irbt:AllOtherRegionsMember 2020-03-29 2020-06-27 0001159167 us-gaap:EMEAMember 2019-03-31 2019-06-29 0001159167 country:US 2019-12-29 2020-06-27 0001159167 country:US 2020-03-29 2020-06-27 0001159167 2018-12-30 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2020-06-27 0001159167 us-gaap:NoncompeteAgreementsMember 2019-12-28 0001159167 us-gaap:NoncompeteAgreementsMember 2020-06-27 0001159167 us-gaap:PatentedTechnologyMember 2020-06-27 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-06-27 0001159167 us-gaap:TradeNamesMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2019-12-28 0001159167 us-gaap:TradeNamesMember 2020-06-27 0001159167 us-gaap:PatentedTechnologyMember 2019-12-28 0001159167 us-gaap:CostOfSalesMember 2020-06-27 0001159167 us-gaap:OperatingExpenseMember 2020-06-27 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-12-29 2020-06-27 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-03-31 2019-06-29 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-12-30 2019-06-29 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2020-03-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2019-12-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2018-12-30 2019-06-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2020-03-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2019-03-31 2019-06-29 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-06-27 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-03-31 2019-06-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-12-30 2019-06-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2020-03-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-12-29 2020-06-27 0001159167 us-gaap:NondesignatedMember 2020-06-27 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-27 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-27 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-27 0001159167 2019-12-29 2020-03-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-12-30 2019-06-29 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-03-29 2020-06-27 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-12-29 2020-06-27 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-03-31 2019-06-29 xbrli:pure irbt:segment xbrli:shares iso4217:USD xbrli:shares iso4217:USD
 
 
 

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549
______________________________________________ 
FORM 10-Q
 ______________________________________________
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
FOR THE QUARTERLY PERIOD ENDED June 27, 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-36414
______________________________________________ 
iROBOT CORPORATION
(Exact name of registrant as specified in its charter)
 ______________________________________________
Delaware
77-0259335
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)
8 Crosby Drive
Bedford, MA 01730
(Address of principal executive offices, including zip code)

(781) 430-3000
(Registrant’s telephone number, including area code)

Securities registered pursuant to Section 12(b) of the Act:
Title of each class
Trading Symbol(s)
Name of each exchange on which registered
Common Stock, $0.01 par value
IRBT
The Nasdaq Stock Market LLC
______________________________________________ 
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities 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  x    No  o
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  x    No  o
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 
 
 
 
 
        

 
 
 

Large accelerated filer
Accelerated filer
 
 
 
 
Non-accelerated filer
Smaller reporting company
 
 
 
 
 
 
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. o    
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes      No  x 
The number of shares outstanding of the Registrant’s Common Stock as of July 25, 2020 was 28,005,989.

 
 
 
 
 
        




iROBOT CORPORATION
FORM 10-Q
FOR THE QUARTER ENDED JUNE 27, 2020
INDEX
 
Page
PART I: FINANCIAL INFORMATION
 
 
Item 1. Financial Statements (unaudited)
 
 
 
 
 

2






iROBOT CORPORATION
CONSOLIDATED BALANCE SHEETS
(in thousands, except per share amounts)
(unaudited)
 
 
June 27, 2020
 
December 28, 2019
ASSETS
Current assets:
 
 
 
Cash and cash equivalents
$
230,734

 
$
239,392

Short term investments
11,560

 
17,032

Accounts receivable, net
128,334

 
146,161

Inventory
133,055

 
157,347

Other current assets
92,555

 
34,285

   Total current assets
596,238

 
594,217

Property and equipment, net
78,432

 
75,988

Operating lease right-of-use assets
45,978

 
47,478

Deferred tax assets
39,237

 
41,791

Goodwill
119,521

 
118,732

Intangible assets, net
10,424

 
12,352

Other assets
30,938

 
30,195

   Total assets
$
920,768

 
$
920,753

LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
 
 
 
Accounts payable
$
95,522

 
$
116,185

Accrued expenses
73,745

 
81,768

Deferred revenue and customer advances
3,512

 
4,549

   Total current liabilities
172,779

 
202,502

Operating lease liabilities
52,819

 
54,928

Deferred tax liabilities
1,042

 
912

Other long-term liabilities
12,066

 
10,342

   Total long-term liabilities
65,927

 
66,182

   Total liabilities
238,706

 
268,684

Commitments and contingencies (Note 11)


 


Preferred stock, 5,000 shares authorized and none outstanding

 

Common stock, $0.01 par value, 100,000 shares authorized; 27,998 and 28,352 shares issued and outstanding, respectively
280

 
284

Additional paid-in capital
184,436

 
196,455

Retained earnings
492,802

 
452,321

Accumulated other comprehensive income
4,544

 
3,009

   Total stockholders’ equity
682,062

 
652,069

   Total liabilities and stockholders’ equity
$
920,768

 
$
920,753

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

3




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF INCOME
(in thousands, except per share amounts)
(unaudited)
 
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Revenue
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833

Cost of revenue:
 
 
 
 
 
 
 
Cost of product revenue
100,686

 
138,891

 
214,981

 
253,929

Amortization of acquired intangible assets
1,185

 
3,111

 
1,470

 
6,188

Total cost of revenue
101,871

 
142,002

 
216,451

 
260,117

Gross profit
178,012

 
118,170

 
255,967

 
237,716

Operating expenses:
 
 
 
 
 
 
 
Research and development
36,557

 
35,650

 
73,316

 
70,919

Selling and marketing
49,062

 
56,409

 
85,656

 
95,245

General and administrative
21,856

 
20,592

 
46,429

 
43,499

Amortization of acquired intangible assets
254

 
269

 
508

 
540

Total operating expenses
107,729

 
112,920

 
205,909

 
210,203

Operating income
70,283

 
5,250

 
50,058

 
27,513

Other (expense) income, net
(384
)
 
1,533

 
(403
)
 
2,813

Income before income taxes
69,899

 
6,783

 
49,655

 
30,326

Income tax expense (benefit)
11,283

 
(424
)
 
9,174

 
599

Net income
$
58,616

 
$
7,207

 
$
40,481

 
$
29,727

Net income per share:
 
 
 
 
 
 
 
Basic
$
2.10

 
$
0.26

 
$
1.44

 
$
1.06

Diluted
$
2.07

 
$
0.25

 
$
1.42

 
$
1.03

Number of shares used in per share calculations:
 
 
 
 
 
 
 
Basic
27,923

 
28,079

 
28,110

 
27,970

Diluted
28,280

 
28,763

 
28,414

 
28,779


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

4




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(in thousands)
(unaudited)
 
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Net income
$
58,616

 
$
7,207

 
$
40,481

 
$
29,727

Other comprehensive income (loss):
 
 
 
 
 
 
 
Net foreign currency translation adjustments
2,178

 
1,794

 
1,264

 
(676
)
Net unrealized (losses) gains on cash flow hedges, net of tax
(2,634
)
 
(1,540
)
 
3,040

 
3,261

Net (gains) losses on cash flow hedge reclassified into earnings, net of tax
(1,321
)
 
(267
)
 
(2,789
)
 
(161
)
Net unrealized gains on marketable securities, net of tax
37

 
95

 
20

 
208

Total comprehensive income
$
56,876

 
$
7,289

 
$
42,016

 
$
32,359

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

5




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(in thousands)
(unaudited)

 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at March 28, 2020
27,876

 
$
279

 
$
175,790

 
$
434,186

 
$
6,284

 
$
616,539

Issuance of common stock under employee stock plans
72

 
1

 
2,755

 
 
 
 
 
2,756

Vesting of restricted stock units
50

 

 

 
 
 
 
 

Stock-based compensation
 
 
 
 
5,870

 
 
 
 
 
5,870

Other comprehensive loss
 
 
 
 
 
 
 
 
(1,740
)
 
(1,740
)
Directors' deferred compensation
 
 
 
 
21

 
 
 
 
 
21

Net income
 
 
 
 
 
 
58,616

 
 
 
58,616

Balance at June 27, 2020
27,998

 
$
280

 
$
184,436

 
$
492,802

 
$
4,544

 
$
682,062


 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at December 28, 2019
28,352

 
$
284

 
$
196,455

 
$
452,321

 
$
3,009

 
$
652,069

Issuance of common stock under employee stock plans
112

 
1

 
3,689

 

 

 
3,690

Vesting of restricted stock units
243

 
2

 
(2
)
 

 

 

Stock-based compensation


 


 
11,061

 

 

 
11,061

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(45
)
 

 
(1,816
)
 

 

 
(1,816
)
Other comprehensive income


 


 


 

 
1,535

 
1,535

Directors' deferred compensation


 


 
42

 

 


 
42

Stock repurchases
(664
)
 
(7
)
 
(24,993
)
 

 

 
(25,000
)
Net income


 


 


 
40,481

 

 
40,481

Balance at June 27, 2020
27,998

 
$
280

 
$
184,436

 
$
492,802

 
$
4,544

 
$
682,062

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













6




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(in thousands)
(unaudited)
 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at March 30, 2019
28,038

 
$
280

 
$
175,000

 
$
389,541

 
$
(2,198
)
 
$
562,623

Issuance of common stock under employee stock plans
39

 

 
2,117

 
 
 
 
 
2,117

Vesting of restricted stock units
47

 
1

 
(1
)
 
 
 
 
 

Stock-based compensation
 
 
 
 
7,594

 
 
 
 
 
7,594

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(1
)
 

 
(65
)
 
 
 
 
 
(65
)
Other comprehensive income
 
 
 
 
 
 
 
 
82

 
82

Directors' deferred compensation
 
 
 
 
18

 
 
 
 
 
18

Net Income
 
 
 
 
 
 
7,207

 
 
 
7,207

Balance at June 29, 2019
28,123

 
$
281

 
$
184,663

 
$
396,748


$
(2,116
)
 
$
579,576


 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at December 29, 2018
27,788

 
$
278

 
$
172,771

 
$
367,021

 
$
(4,748
)
 
$
535,322

Issuance of common stock under employee stock plans
116

 
1

 
4,679

 
 
 
 
 
4,680

Vesting of restricted stock units
278

 
3

 
(3
)
 
 
 
 
 

Stock-based compensation

 

 
14,458

 
 
 
 
 
14,458

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(59
)
 
(1
)
 
(7,276
)
 
 
 
 
 
(7,277
)
Other comprehensive income
 
 
 
 

 
 
 
2,632

 
2,632

Directors' deferred compensation
 
 
 
 
34

 
 
 
 
 
34

Net Income
 
 
 
 
 
 
29,727

 
 
 
29,727

Balance at June 29, 2019
28,123

 
$
281

 
$
184,663

 
$
396,748

 
$
(2,116
)
 
$
579,576



7




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(in thousands)
(unaudited)
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
Cash flows from operating activities:
 
 
 
Net income
$
40,481

 
$
29,727

Adjustments to reconcile net income to net cash provided by operating activities, net of the effects of acquisition:
 
 
 
Depreciation and amortization
17,784

 
17,905

Stock-based compensation
11,061

 
14,458

Deferred income taxes, net
2,579

 
535

Other
3,162

 
3,106

Changes in operating assets and liabilities — (use) source
 
 
 
Accounts receivable
17,891

 
67,808

Inventory
24,137

 
(27,112
)
Other current assets
(57,813
)
 
(14,246
)
Accounts payable
(20,576
)
 
(52,835
)
Accrued expenses and other liabilities
(10,549
)
 
(18,043
)
Net cash provided by operating activities
28,157

 
21,303

Cash flows from investing activities:
 
 
 
Additions of property and equipment
(18,968
)
 
(14,705
)
Change in other assets
(2,125
)
 
(4,541
)
Cash paid for business acquisition, net of cash acquired

 
(2,817
)
Sales and maturities of investments
7,000

 
5,880

Net cash used in investing activities
(14,093
)
 
(16,183
)
Cash flows from financing activities:
 
 
 
Proceeds from employee stock plans
3,690

 
4,680

Income tax withholding payment associated with restricted stock vesting
(1,816
)
 
(7,277
)
Stock repurchases
(25,000
)
 

Net cash used in financing activities
(23,126
)
 
(2,597
)
Effect of exchange rate changes on cash and cash equivalents
404

 
(101
)
Net (decrease) increase in cash and cash equivalents
(8,658
)
 
2,422

Cash and cash equivalents, at beginning of period
239,392

 
130,373

Cash and cash equivalents, at end of period
$
230,734

 
$
132,795

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

8




iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(unaudited)
1. Description of Business
iRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more both inside and outside of the home. iRobot's consumer robots help people find smarter ways to clean and accomplish more in their daily lives. The Company's portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. The Company’s revenue is primarily generated from product sales through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
2. Summary of Significant Accounting Policies
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 28, 2019, filed with the Securities and Exchange Commission on February 13, 2020.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Recently Adopted Accounting Standards
In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements.
Recently Issued Accounting Standards
In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.

9

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Impact of COVID-19
The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. At the same time, mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities.
The Company observed increased demand during the second quarter of 2020 as maintaining a clean home has taken on greater prominence during the pandemic with sell-through momentum building globally over the past several months. However, the Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are still highly uncertain. The Company will continue to actively monitor the situation and may take further actions that alter the business operations as may be required by federal, state, local or foreign authorities, or that the Company determines are in the best interests of its employees, customers, and stockholders.
In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of June 27, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Credit Losses
The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of $0.0 million and $4.5 million during the three and six months ended June 27, 2020, respectively. As of June 27, 2020 and December 28, 2019, the Company had an allowance for credit losses of $5.7 million and $1.2 million, respectively.
The Company's exposure to credit losses may increase if its customers are adversely affected by changes in economic pressures or uncertainty associated with local or global economic recessions or other customer-specific factors. It is possible that there could be a material adverse impact to the carrying amount of accounts receivables if the liquidity of retailers, resellers and distributors continues to be impacted by disruptions related to the COVID-19 pandemic.

10

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Tariff Refunds
On April 24, 2020, the Company was granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles the Company to a refund of approximately $57.2 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. The Section 301 tariffs from which these products are now excluded were implemented at 10% beginning in September 2018 and increased to 25% in June 2019. While tariff refund claims are subject to the approval of U.S. Customs, the Company currently expects to recover the entire balance of $57.2 million. During the three months ended June 27, 2020, the Company recognized approximately $48.7 million of operating income (reduction to cost of product revenue) related to tariff refunds while $8.5 million relates to product on hand and has been recognized as reductions to inventory. All tariff refunds are expected to be received within the next twelve months and are recorded in other current assets on the consolidated balance sheet. As of June 27, 2020, the outstanding tariff refund was approximately $56.7 million.
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At June 27, 2020 and December 28, 2019, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $21.7 million and $21.0 million, respectively. On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received 0.2 million shares of Teledoc and will record a gain of approximately $38.6 million to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.
Net Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Net income
$
58,616

 
$
7,207

 
$
40,481

 
$
29,727

Basic weighted-average common shares outstanding
27,923

 
28,079

 
28,110

 
27,970

Dilutive effect of employee stock awards
357

 
684

 
304

 
809

Diluted weighted-average common shares outstanding
28,280

 
28,763

 
28,414

 
28,779

Net income per share - Basic
$
2.10

 
$
0.26

 
$
1.44

 
$
1.06

Net income per share - Diluted
$
2.07

 
$
0.25

 
$
1.42

 
$
1.03

Employee stock awards representing approximately 0.2 million shares of common stock for the three months ended June 27, 2020 and June 29, 2019, and approximately 0.3 million and 0.1 million shares of common stock for the six months ended June 27, 2020 and June 29, 2019, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.

3. Revenue Recognition
The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred.

11

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For certain consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services").
For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of June 27, 2020 is $5.3 million. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
The Company’s products generally carry a one-year or two-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."
The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. The Company records an allowance for product returns based on specific terms and conditions included in the customer agreements or based on historical experience and the Company's expectation of future returns. In addition, the Company may provide other credits or incentives which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and forecasted inventory level in the channels. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of June 27, 2020, the Company has reserves for product returns of $49.2 million and other credits and incentives of $76.6 million. As of December 28, 2019, the Company had reserves for product returns of $55.2 million and other credits and incentives of $134.0 million. Revenue recognized during the three and six months ended June 27, 2020 related to performance obligations satisfied in a prior period was not material.
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
United States
$
140,146

 
$
124,472

 
$
222,113

 
$
238,537

EMEA
71,048

 
82,893

 
137,707

 
157,462

Other
68,689

 
52,807

 
112,598

 
101,834

Total revenue
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833


Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
June 27, 2020
 
December 28, 2019
Accounts receivable, net
$
128,334

 
$
146,161

Contract liabilities
6,578

 
6,991

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities include customer deposits which relate to prepayments received from customers in advance of product shipments as well as deferred revenue associated with the Cloud Services. The

12

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended June 27, 2020 and June 29, 2019, the Company recognized $3.8 million and $5.3 million, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. During the six months ended June 27, 2020 and June 29, 2019, the Company recognized $4.3 million and $5.8 million, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers.

4. Leases
The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and marketing and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet. Lease expense is recognized on a straight-line basis over the lease term.
The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for new leases post adoption. At June 27, 2020, the Company's weighted average discount rate was 3.58%, while the weighted average remaining lease term was 8.75 years.
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Operating lease cost
$
2,289

 
$
1,969

 
$
4,645

 
$
3,939

Variable lease cost
882

 
1,316

 
2,004

 
2,136

Total lease cost
$
3,171

 
$
3,285

 
$
6,649

 
$
6,075


Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
 
 
 
 
Operating cash flows from operating leases
$
2,710

 
$
2,865

 
$
4,737

 
$
4,881

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
 
 
 
 
Operating leases
$
1,566

 
$

 
$
1,566

 
$
52,767



13

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Maturities of operating lease liabilities were as follows as of June 27, 2020 (in thousands):
 
Operating leases
Remainder of 2020
$
4,308

2021
8,529

2022
8,245

2023
7,345

2024
6,508

Thereafter
34,963

Total minimum lease payments
$
69,898

Less: imputed interest
10,405

Present value of future minimum lease payments
$
59,493

Less: current portion of operating lease liabilities (Note 7)
6,674

Long-term lease liabilities
$
52,819



Financial Statement Impact of Adopting ASC 842
The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately $52.8 million and $67.3 million, respectively. The standard did not materially impact the Company's consolidated income or cash flows.

5. Inventory
Inventory consists of the following (in thousands):
 
June 27, 2020
 
December 28, 2019
Raw materials
$
198

 
$
2,825

Finished goods
132,857

 
154,522

 
$
133,055

 
$
157,347



6. Goodwill and Other Intangible Assets
The following table summarizes the activity in the carrying amount of goodwill for the six months ended June 27, 2020 (in thousands):
Balance as of December 28, 2019
$
118,732

Effect of foreign currency translation
789

Balance as of June 27, 2020
$
119,521



14

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)


Intangible assets consisted of the following (in thousands):
 
June 27, 2020
 
December 28, 2019
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
26,075

 
$
2,025

 
$
28,100

 
$
24,605

 
$
3,495

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
11,165

 
2,787

 
8,378

 
11,095

 
2,302

 
8,793

Reacquired distribution rights
31,972

 
31,972

 

 
31,680

 
31,680

 

Non-competition agreements
258

 
237


21

 
256

 
192

 
64

Total
$
71,595

 
$
61,171

 
$
10,424

 
$
71,231

 
$
58,879

 
$
12,352


Amortization expense related to acquired intangible assets was $1.4 million and $3.4 million for the three months ended June 27, 2020 and June 29, 2019, respectively. Amortization expense related to acquired intangible assets was $2.0 million and $6.7 million for the six months ended June 27, 2020 and June 29, 2019, respectively.
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2020
$
450

 
$
493

 
$
943

2021
900

 
786

 
1,686

2022
675

 
786

 
1,461

2023

 
786

 
786

2024

 
786

 
786

Thereafter

 
4,762

 
4,762

Total
$
2,025

 
$
8,399

 
$
10,424



7. Accrued Expenses
Accrued expenses consisted of the following at (in thousands):
 
June 27, 2020
 
December 28, 2019
Accrued other compensation
$
14,907

 
$
13,331

Accrued warranty
13,769

 
13,856

Accrued federal and state income taxes
10,265

 
3,378

Accrued bonus
7,821

 
12,541

Accrued sales and other indirect taxes payable
7,134

 
12,440

Current portion of operating lease liabilities
6,674

 
6,843

Accrued direct fulfillment costs
4,194

 
10,582

Accrued other
8,981

 
8,797

 
$
73,745

 
$
81,768



8. Derivative Instruments
The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At June 27, 2020 and December 28, 2019, the Company had outstanding cash flow hedges with a total notional value of $411.2 million and $424.6 million, respectively.

15

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of twelve months or less. At June 27, 2020 and December 28, 2019, the Company had outstanding economic hedges with a total notional value of $61.1 million and $58.4 million, respectively.
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
June 27, 2020
 
December 28, 2019
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,473

 
$
1,855

Foreign currency forward contracts
Accrued expenses
 
679

 
297

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
5,737

 
$
4,347

Foreign currency forward contracts
Other assets
 
8,691

 
9,112

Foreign currency forward contracts
Accrued expenses
 
27

 
47

Foreign currency forward contracts
Long-term liabilities
 
600

 
414


Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Six Months Ended
 
Classification
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Loss recognized in income
Other (expense) income, net
 
$
(701
)
 
$
(1,085
)
 
$
(1,247
)
 
$
(652
)


The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Foreign currency forward contracts
 
$
(3,512
)
 
$
(2,054
)
 
$
4,053

 
$
4,350


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
 
 
Revenue
 
Revenue
Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded
 
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain reclassified from AOCI into earnings
 
$
1,761

 
$
359

 
$
3,718

 
$
214




16

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

9. Fair Value Measurements
The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):
 
Fair Value Measurements as of
June 27, 2020

Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Money market funds
$
125,072

 
$

 
$

Corporate bonds, $9,989 at cost (3)

 
10,060

 

Convertible notes

 

 
1,500

Derivative instruments (Note 8)

 
15,901

 

Total assets measured at fair value
$
125,072

 
$
25,961

 
$
1,500

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
1,306

 
$

Total liabilities measured at fair value
$

 
$
1,306

 
$


 
Fair Value Measurements as of
December 28, 2019
 
Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Corporate and government bonds, $17,016 at cost
$

 
$
17,032

 
$

Derivative instruments (Note 8)

 
15,314

 

Total assets measured at fair value
$

 
$
32,346

 
$

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
758

 
$

Total liabilities measured at fair value
$

 
$
758

 
$

(1)
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
(2)
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
(3)
As of June 27, 2020, the Company’s investments had maturity dates ranging from September 2020 to March 2021.
    
The following table provides a summary of changes in fair value of our Level 3 investment for the six months ended June 27, 2020 (in thousands):
Balance as of December 28, 2019
$

Investment in convertible notes
1,500

Balance as of June 27, 2020
$
1,500



10. Stockholders' Equity
Share Repurchase Activity
The Company's Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases from time to time until September 2021. On March 10, 2020, the Company entered into a Rule 10b5-1 plan to repurchase $25.0 million of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020. The Company repurchased 663,602 shares of its common stock at an average price of $37.65, totaling $25.0 million in March 2020.


17

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

11. Commitments and Contingencies
Legal Proceedings
From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations. For the following litigation matters, a liability is not probable or the amount cannot be reasonably estimated and therefore accruals have not been made.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The case has been transferred to the U.S. District Court for the District of Massachusetts. A similar case captioned Campbell v. iRobot Corporation, et al., No. 1:19-cv-12483 was also filed in the U.S. District Court for the Southern District of New York and subsequently transferred to the U.S. District Court for the District of Massachusetts. On January 24, 2020, the Court consolidated the Miramar and Campbell cases (the consolidated cases together, the "Securities Class Action") and appointed a lead plaintiff and lead plaintiff's Counsel. On April 3, 2020, the plaintiff filed an amended complaint alleging violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the impact of competition and Section 301 tariffs on the Company’s financial performance, and the Company has filed a motion to dismiss the case.
On December 20, 2019, purported Company shareholders David Katz and Thomas Wightman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for Southern District of New York against the Company and certain of its directors and officers, captioned David Katz and Thomas Wightman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:19-cv-11692. The complaint alleges breaches of fiduciary duties, unjust enrichment, violations of Sections 10(b) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. This case has been transferred to the U.S. District Court for the District of Massachusetts. Similarly, additional derivative litigations -- namely: Robert Truman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10034; Alexa Ruhfass, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10133; and William Tasco, derivatively on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10253 - were filed in the U.S. District Court for the District of Massachusetts. All of these cases have been consolidated in a case captioned as In re iRobot Corporation Derivative litigation, No. 1:20-cv-10034, and have been stayed pending a ruling on the motion to dismiss in the Securities Class Action.
Outstanding Purchase Orders
At June 27, 2020, the Company had outstanding purchase orders aggregating approximately $337.5 million. The purchase orders, the majority of which are with the Company's contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. In circumstances where the Company has determined that it has financial exposure associated with any of these commitments, the Company records a liability in the period in which that exposure is identified.
Guarantees and Indemnification Obligations
The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of June 27, 2020 and December 28, 2019, respectively.
Warranty
The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    

18

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Balance at beginning of period
$
13,998

 
$
11,628

 
$
13,856

 
$
11,964

Provision
3,396

 
2,682

 
7,870

 
5,333

Warranty usage
(3,625
)
 
(2,340
)
 
(7,957
)
 
(5,327
)
Balance at end of period
$
13,769

 
$
11,970

 
$
13,769

 
$
11,970




19

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

12. Income Taxes
The Company’s effective income tax rate for the three months ended June 27, 2020 and June 29, 2019, was 16.1% and (6.3)%, respectively. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to stock-based compensation. During the three months ended June 29, 2019, the Company’s effective income tax rate included the recognition of a discrete tax benefit upon the effective settlement of a foreign tax audit.
The Company's effective income tax rate of 16.1% for the three months ended June 27, 2020 differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the quarter.
The Company’s effective income tax rate for the six months ended June 27, 2020 and June 29, 2019, was 18.5% and 2.0%, respectively. The increase in the effective income tax rate was primarily due to the recognition of tax expense associated with stock-based compensation compared to a tax benefit for the prior period.
The Company's effective income tax rate of 18.5% for the six months ended June 27, 2020 differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the period. The impact of these benefits was offset by discrete tax expense associated with stock-based compensation.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. The Company continues to evaluate the impact of the CARES Act, but at present does not expect the CARES Act to result in any material income tax benefit.

13. Industry Segment, Geographic Information and Significant Customers
The Company operates as one operating segment. The Company's consumer robots products are offered to consumers through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
Significant Customers
For the three months ended June 27, 2020 and June 29, 2019, the Company generated 35.1% and 28.0% of total revenue, respectively, from one of its retailers (Amazon).
For the six months ended June 27, 2020 and June 29, 2019, the Company generated 26.2% and 22.3% of total revenue, respectively, from one of its retailers (Amazon).

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

The information contained in this section has been derived from our consolidated financial statements and should be read together with our consolidated financial statements and related notes included elsewhere in this Quarterly Report on Form 10-Q. This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities and Exchange Act of 1934, as amended, or the Exchange Act, and are subject to the "safe harbor" created by those sections. In particular, statements contained in this Quarterly Report on Form 10-Q that are not historical facts, including, but not limited to statements concerning the impact of cost reduction actions and potential savings, new product sales, the timing of product launches, product development and offerings, our consumer robots, our competition, our strategy, our market position, the impact of tariffs, the recognition and timing of tariff refunds, whether we are able to obtain an extension to our tariff exclusion and the length of extension granted, the impact of COVID-19 on our business, our supply chain, market acceptance of our products, seasonal factors, revenue recognition, the impact of new accounting standards, credit losses, our profits, growth of our revenues, composition of our revenues, our cost of revenues, units shipped, average selling prices, operating expenses, selling and marketing expenses, general and administrative expenses, research and development expenses, compensation costs, our projected income tax rate, our credit and letter of credit facilities and expected use thereof, our valuations of investments, valuation and composition of our stock-based awards, and liquidity, constitute forward-looking statements and are made under these safe harbor provisions. Some of the forward-looking statements can be identified by the use of forward-looking terms such as "believes," "expects," "may," "will," "should," "could," "seek," "intends," "plans," "estimates," "anticipates," or other comparable terms. Forward-looking statements involve inherent risks and uncertainties, which could cause actual results to differ materially from those in the forward-looking statements. We urge you to consider the risks and uncertainties discussed in greater detail under the heading "Risk Factors" in this Quarterly Report on Form 10-Q and in Part I, "Item 1A. Risk Factors" in our Annual Report on Form 10-K for the year ended December 28, 2019 in evaluating our forward-looking statements. We have no plans to update our

20




forward-looking statements to reflect events or circumstances after the date of this report. We caution readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made.

Overview
iRobot is a leading consumer robot company that designs and builds robots that empower people to do more both inside and outside of the home. Our consumer robots help people find smarter ways to clean and accomplish more in their daily lives. Our portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. For more than 25 years, we have been a pioneer in the robotics and consumer products industries. We sell our robots through a variety of distribution channels, including chain stores and other national retailers, through our on-line store, and through value-added distributors and resellers worldwide.
As of June 27, 2020, we had 1,120 full-time employees. We have developed expertise in the disciplines necessary to design, build, sell and support durable, high-performance and cost-effective robots through the close integration of software, electronics and hardware. Our core technologies serve as reusable building blocks that we adapt and expand to create next-generation robotic platforms. We believe that this approach accelerates the time to market, while also reducing the costs and risk associated with product development. Our significant expertise in consumer needs, robot design, engineering and smart home technologies and trends positions us to capitalize on the growth we expect in the market for robot-based consumer products.
Our continued success depends upon our ability to respond to a number of challenges in the consumer robots market. We believe the most significant of these include increasing competition and our ability to successfully develop and introduce products and product enhancements into both new and existing markets. Furthermore, we believe that our efforts to cost-optimize our products and diversify our contract manufacturing and broader supply chain will continue to play an important role in maintaining competitive product pricing, reducing supply-chain risk and limiting China-related tariff exposure, among other factors that impact our financial condition and results of operations.
During the first quarter of 2020, the global pandemic related to the novel coronavirus (COVID-19) presented significant challenges and adversely impacted our business and operating results. The pandemic directly and indirectly disrupted certain sales and supply chain activities and impacted our ability to address those challenges during the first quarter, which resulted in first-quarter revenue and a net loss per share that was below our original targets. In light of the adverse impact of COVID-19 on our business and on macroeconomic conditions domestically and internationally, along with the uncertainty associated with a potential recovery, we implemented cost-reduction actions in April 2020 that were aimed at generating net savings of approximately $30.0 million in 2020 while enabling us to accelerate investment in key initiatives. Our actions taken during the second quarter of 2020 included reducing our workforce by approximately 5%, furloughing retail-facing marketing staff in Europe, reducing hiring plans, suspending go-to-market and development plans for our Terra robot mower and curtailing working media spending. We recorded a restructuring charge of $1.9 million primarily associated with severance costs arising from the workforce reduction. During the second quarter of 2020, we observed increased demand for our robots as maintaining a clean home took on greater prominence during the pandemic with sell-through momentum building globally over the past several months. Revenue during the second quarter of 2020 outperformed our plans, which anticipated a modest decline from first-quarter revenue of $192.5 million, as orders in each major geography exceeded our targets.
Based on our results to date, relatively low inventory levels with retailers and strengthening sell-through trends in each major geography, we now expect 2020 revenue to range from relatively unchanged to slightly higher than 2019 revenue. However, the environment remains highly uncertain and second-half demand remains difficult to assess due to many factors including the pace of economic recovery around the world, the status of various government stimulus programs, competitive intensity and retailer actions to continue carefully managing inventory. As a result, we are unable to forecast the full impact of COVID-19 on our operations, liquidity and financial results, and, depending on the magnitude and duration of the COVID-19 pandemic, such impact may be material during the second half of 2020. Accordingly, current results and financial condition discussed herein may not be indicative of future operating results and trends. Refer to "Risk Factors" for further discussion of the impact of the COVID-19 pandemic on our business.
In April 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative ("USTR"). This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitled us to a refund of $57.2 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. The exclusion and the recognition of $48.7 million as a benefit to cost of product revenue contributed to our strong gross margin during the second quarter of 2020. We have applied for an extension to our tariff exclusion, however we cannot predict the likelihood of obtaining such an extension nor the length of any extension granted. Based on extensions granted recently for other exclusion requests by the USTR and recent public testimony by USTR leadership, if an extension to our tariff exclusion is granted, it is likely to expire at the end of the calendar year. If the exclusion is not extended through the second half of the year or beyond, our operating profitability will be adversely impacted.

21




iRobot has continued to advance innovation and bring new products to market in recent quarters. During the first quarter of 2019, we launched Roomba i7 and i7+ in EMEA, Japan and China. During the second quarter of 2019, we successfully launched two new cleaning robots in the U.S., the Roomba s9 and s9+, which, along with the features of the Roomba i7 and i7+, are robot vacuums that can clean deep into corners and along edges, and the Braava jet m6 robot mop, which can tackle multiple rooms and large spaces with advanced navigation and mapping capabilities. Together, these two robots can use Imprint Link Technology to talk to each other, automatically vacuuming and then mopping without additional action by the user. During the third quarter of 2019, the s9 and s9+ were launched in EMEA, while the m6 was launched in both EMEA and Japan. The s9 and s9+ were launched in Japan and all other target markets in early 2020.

Critical Accounting Policies and Estimates
The preparation of financial statements in conformity with generally accepted accounting principles in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. We base these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that we believe are reasonable under the circumstances. Actual results may differ from our estimates. Additional information about these critical accounting policies may be found in the "Management’s Discussion and Analysis of Financial Condition and Results of Operations" section included in our Annual Report on Form 10-K for the fiscal year ended December 28, 2019.
Effective December 29, 2019, we adopted the new credit losses standard under Accounting Standards Codification 326. The new standard did not result in an adjustment upon adoption. Although we historically have not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. As a result, we recorded our estimate of credit losses, resulting in an increase to the reserve and bad debt expense of $0.0 million and $4.5 million during the three and six months ended June 27, 2020, respectively. As of June 27, 2020, we have an allowance for credit losses of $5.7 million. We have updated our accounting policy in Note 2 of the consolidated financial statements.
Overview of Results of Operations
The following table sets forth our results of operations as a percentage of revenue:
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Revenue
100.0
 %
 
100.0
 %
 
100.0
 %
 
100.0
%
Cost of revenue:
 
 
 
 
 
 
 
Cost of product revenue
36.0

 
53.4

 
45.5

 
51.0

Amortization of acquired intangible assets
0.4

 
1.2

 
0.3

 
1.2

Total cost of revenue
36.4

 
54.6

 
45.8

 
52.2

Gross profit
63.6

 
45.4

 
54.2

 
47.8

Operating expenses:
 
 
 
 
 
 
 
Research and development
13.1

 
13.7

 
15.5

 
14.2

Selling and marketing
17.5

 
21.7

 
18.1

 
19.2

General and administrative
7.8

 
7.9

 
9.9

 
8.8

Amortization of acquired intangible assets
0.1

 
0.1

 
0.1

 
0.1

Total operating expenses
38.5

 
43.4

 
43.6

 
42.3

Operating income
25.1

 
2.0

 
10.6

 
5.5

Other (expense) income, net
(0.1
)
 
0.6

 
(0.1
)
 
0.6

Income before income taxes
25.0

 
2.6

 
10.5

 
6.1

Income tax expense (benefit)
4.1

 
(0.2
)
 
1.9

 
0.1

Net income
20.9
 %
 
2.8
 %
 
8.6
 %
 
6.0
%

22




Comparison of Three and Six Months Ended June 27, 2020 and June 29, 2019
Revenue
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
 
 
(In thousands)
 
 
 
 
 
(In thousands)
 
 
Revenue
$
279,883

 
$
260,172

 
$
19,711

 
7.6
%
 
$
472,418

 
$
497,833

 
$
(25,415
)
 
(5.1
)%
Revenue for the three months ended June 27, 2020 increased $19.7 million to $279.9 million, or 7.6%, compared to $260.2 million for the three months ended June 29, 2019. The $19.7 million increase in revenue was primarily attributable to an increase in average gross selling price of 3.7% for the three months ended June 27, 2020 compared to the three months ended June 29, 2019. The increase in average gross selling price was primarily driven by growth in sales of our premium floor cleaning robots including s9 Series, i7 Series, 900 Series and the Braava Jet m6, with revenue from the sales of premium robots growing by 43% as compared to the three months ended June 29, 2019, and representing nearly 60% of total revenue for the three months ended June 27, 2020. The s9 Series and Braava Jet m6 robots were only available for a portion of the second quarter of 2019 in the United States, while they were available for the full quarter in all regions during the second quarter of 2020. In the three months ended June 27, 2020, domestic revenue increased $15.7 million, or 12.6%, while international revenue increased $4.0 million, or 3.0%.
Revenue for the six months ended June 27, 2020 decreased $25.4 million to $472.4 million, or 5.1%, compared to $497.8 million for the six months ended June 29, 2019. The decline in our revenue during the first six months of 2020 reflected the initial impact of the COVID-19 pandemic on our sales and manufacturing supply chain activities during the first quarter of 2020, partially offset by stronger orders during the second quarter primarily due to robust demand for our premium robots. A 1.0% increase in the average gross selling price of our robots during the six months ended June 27, 2020 versus the comparable period of 2019 was more than offset by a 9.6% decrease in total robots shipped in the six months ended June 27, 2020 compared with the same period of 2019. In the six months ended June 27, 2020, domestic revenue decreased $16.4 million, or 6.9%, and international revenue decreased $9.0 million, or 3.5%, as compared to the six months ended June 29, 2019.
Cost of Product Revenue
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Cost of product revenue
$
100,686

 
$
138,891

 
$
(38,205
)
 
(27.5
)%
 
$
214,981

 
$
253,929

 
$
(38,948
)
 
(15.3
)%
As a percentage of revenue
36.0
%
 
53.4
%
 
 
 
 
 
45.5
%
 
51.0
%
 
 
 
 
Cost of product revenue decreased to $100.7 million in the three months ended June 27, 2020, compared to $138.9 million in the three months ended June 29, 2019. The $38.2 million decrease in cost of product revenue is primarily due to the recognition of tariff refunds of approximately $48.7 million during the three months ended June 27, 2020, partially offset by increases in cost of product revenue associated with the 7.6% increase in revenue. On April 24, 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion temporarily eliminates the 25% tariff on Roomba products until August 7, 2020 and entitled us to a refund of $57.2 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed in late 2018. We recognized approximately $48.7 million as a benefit to cost of product revenue while $8.5 million relates to product on hand and has been recognized as reductions to inventory.
Cost of product revenue decreased to $215.0 million in the six months ended June 27, 2020, compared to $253.9 million in the six months ended June 29, 2019. The $38.9 million decrease in cost of product revenue is primarily due to the recognition of the aforementioned tariff refunds of approximately $48.7 million during the six months ended June 27, 2020, partially offset by increases in warranty and rework costs.

23




Gross Profit
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Gross profit
$
178,012

 
$
118,170

 
$
59,842

 
50.6
%
 
$
255,967

 
$
237,716

 
$
18,251

 
7.7
%
Gross margin
63.6
%
 
45.4
%
 
 
 
 
 
54.2
%
 
47.8
%
 
 
 
 
Gross margin increased to 63.6% in the three months ended June 27, 2020 compared to 45.4% in the three months ended June 29, 2019. The increase in gross margin is primarily related to the recognition of the tariff refunds of $48.7 million as a benefit to cost of product revenue. Decreased promotional activity and favorable channel mix also contributed to the increase in gross profit during the three months ended June 27, 2020 compared to the three months ended June 29, 2019.
Gross margin increased to 54.2% in the six months ended June 27, 2020 compared to 47.8% in the six months ended June 29, 2019. The increase in gross margin is primarily related to the recognition of the tariff refunds of $48.7 million as a benefit to cost of product revenue, partially offset by the decrease in revenue.
We anticipate our third-quarter gross margin will also benefit from inventory not subject to Section 301 tariffs since our exclusion from Section 301 List 3 tariffs eliminates the 25% tariff on Roomba products only until August 7, 2020. We do not know yet whether an extension to our tariff exclusion will be granted. If the exclusion expires on August 7, 2020 and is not extended, the 25% tariff will be reinstated, and we expect this incremental cost will dampen our gross profit through 2021. To diversify our manufacturing and help offset the adverse financial impact on our business of the 25% tariff, we are focused on scaling the manufacture of our products in Malaysia. This initiative began last year with the goal of being capable of manufacturing broadly and at scale in Malaysia by the end of 2021.
Research and Development
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Research and development
$
36,557

 
$
35,650

 
$
907

 
2.5
%
 
$
73,316

 
$
70,919

 
$
2,397

 
3.4
%
As a percentage of revenue
13.1
%
 
13.7
%
 
 
 
 
 
15.5
%
 
14.2
%
 
 
 
 
Research and development expenses increased $0.9 million, or 2.5%, to $36.6 million (13.1% of revenue) in the three months ended June 27, 2020 from $35.7 million (13.7% of revenue) in the three months ended June 29, 2019. This increase is primarily due to $1.7 million of restructuring charges associated with the reduction in workforce during the second quarter of 2020, offset by decreases in program and people-related costs of $0.5 million and $0.3 million, respectively.
Research and development expenses increased $2.4 million, or 3.4%, to $73.3 million (15.5% of revenue) in the six months ended June 27, 2020 from $70.9 million (14.2% of revenue) in the six months ended June 29, 2019. This increase is primarily due to the $1.7 million of restructuring charges associated with the reduction in workforce during the second quarter of 2020, as well as increases in program and people-related costs of $0.4 million and $0.3 million, respectively.
Selling and Marketing
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Selling and marketing
$
49,062

 
$
56,409

 
$
(7,347
)
 
(13.0
)%
 
$
85,656

 
$
95,245

 
$
(9,589
)
 
(10.1
)%
As a percentage of revenue
17.5
%
 
21.7
%
 
 
 
 
 
18.1
%
 
19.2
%
 
 
 
 
Selling and marketing expenses decreased $7.3 million, or 13.0%, to $49.1 million (17.5% of revenue) in the three months ended June 27, 2020 from $56.4 million (21.7% of revenue) in the three months ended June 29, 2019. This decrease was primarily attributable to delayed implementation of certain marketing activities as a result of the pandemic.

24




Selling and marketing expenses decreased $9.6 million, or 10.1%, to $85.7 million (18.1% of revenue) in the six months ended June 27, 2020 from $95.2 million (19.2% of revenue) in the six months ended June 29, 2019. This decrease was primarily attributable to delayed implementation of certain marketing activities as a result of the pandemic.
We expect selling and marketing costs will increase during the second half of 2020, particularly the fourth quarter, consistent with historical trending as we accelerate working media to drive demand around the holiday season.
General and Administrative
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
General and administrative
$
21,856

 
$
20,592

 
$
1,264

 
6.1
%
 
$
46,429

 
$
43,499

 
$
2,930

 
6.7
%
As a percentage of revenue
7.8
%
 
7.9
%
 
 
 
 
 
9.9
%
 
8.8
%
 
 
 
 
General and administrative expenses increased $1.3 million, or 6.1%, to $21.9 million (7.8% of revenue) in the three months ended June 27, 2020 from $20.6 million (7.9% of revenue) in the three months ended June 29, 2019 primarily due to an increase in legal fees of $2.4 million, primarily associated with higher intellectual property litigation costs, offset by lower travel-related costs of $0.5 million.
General and administrative expenses increased $2.9 million, or 6.7%, to $46.4 million (9.9% of revenue) in the six months ended June 27, 2020 from $43.5 million (8.8% of revenue) in the six months ended June 29, 2019 primarily due to an increase of $4.5 million in the allowance for credit losses associated with the uncertainty of collection from certain customer accounts resulting from the pandemic, as well as an increase of $2.4 million in legal fees, primarily associated with higher intellectual property litigation costs, offset by lower stock-based compensation and travel-related costs of $2.9 million and $0.8 million, respectively.
Amortization of Acquired Intangible Assets
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Cost of revenue
$
1,185

 
$
3,111

 
$
(1,926
)
 
(61.9
)%
 
$
1,470

 
$
6,188

 
$
(4,718
)
 
(76.2
)%
Operating expense
254

 
269

 
(15
)
 
(5.6
)%
 
508

 
540

 
(32
)
 
(5.9
)%
Total amortization expense
$
1,439

 
$
3,380

 
$
(1,941
)
 
(57.4
)%
 
$
1,978

 
$
6,728

 
$
(4,750
)
 
(70.6
)%
As a percentage of revenue
0.5
%
 
1.3
%
 
 
 
 
 
0.4
%
 
1.4
%
 
 
 
 
The decrease in amortization of acquired intangible assets in the three and six months ended June 27, 2020 as compared to the three and six months ended June 29, 2019, was primarily related to the reacquired distribution rights intangible asset which was fully amortized in the fourth quarter of 2019.
Other (Expense) Income, Net
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Other (expense) income, net
$
(384
)
 
$
1,533

 
$
(1,917
)
 
(125.0
)%
 
$
(403
)
 
$
2,813

 
$
(3,216
)
 
(114.3
)%
As a percentage of revenue
(0.1
)%
 
0.6
%
 
 
 
 
 
(0.1
)%
 
0.6
%
 
 
 
 
Other (expense) income, net, amounted to $(0.4) million and $1.5 million for the three months ended June 27, 2020 and June 29, 2019, respectively. Other income, net includes interest income, interest expense, foreign currency gains (losses) as

25




well as gains (losses) from strategic investments. The primary driver of the changes for the three and six months ended June 27, 2020 compared to the three and six months ended June 29, 2019 related to foreign exchange exposure.

Income Tax Expense (Benefit)
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
June 27, 2020
 
June 29, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Income tax expense (benefit)
$
11,283

 
$
(424
)
 
$
11,707

 
(2,761.1
)%
 
$
9,174

 
$
599

 
$
8,575

 
1,431.6
%
Effective income tax rate
16.1
%
 
(6.3
)%
 

 

 
18.5
%
 
2.0
%
 
 
 
 

We recorded an income tax expense of $11.3 million and income tax benefit of $0.4 million for the three months ended June 27, 2020 and June 29, 2019, respectively. The $11.3 million income tax expense for the three months ended June 27, 2020 resulted in an effective income tax rate of 16.1%. The $0.4 million income tax benefit for the three months ended June 29, 2019 resulted in an effective income tax rate of (6.3)%. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to stock-based compensation. During the three months ended June 29, 2019, the Company’s effective income tax rate included the recognition of a discrete tax benefit upon the effective settlement of a foreign tax audit.
Our effective income tax rate of 16.1% for the three months ended June 27, 2020 differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the quarter.
We recorded an income tax expense of $9.2 million and $0.6 million for the six months ended June 27, 2020 and June 29, 2019, respectively. The $9.2 million income tax expense for the six months ended June 27, 2020 resulted in an effective income tax rate of 18.5%. The $0.6 million income tax expense for the six months ended June 29, 2019 resulted in an effective income tax rate of 2.0%. The increase in the effective income tax rate was primarily due to the recognition of tax expense associated with stock-based compensation compared to a tax benefit for the prior period.
Our effective income tax rate of 18.5% for six months ended June 27, 2020 differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the period. The impact of these benefits was offset by discrete tax expense associated with stock-based compensation.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. We continue to evaluate the impact of the CARES Act, but at present do not expect the CARES Act to result in any material income tax benefit.

Liquidity and Capital Resources
At June 27, 2020, our principal sources of liquidity were cash and cash equivalents totaling $230.7 million and short-term investments of $11.6 million. Our working capital was $423.5 million as of June 27, 2020, compared to $328.6 million as of June 29, 2019.
We manufacture and distribute our products through contract manufacturers and third-party logistics providers. We believe this approach gives us the advantages of relatively low capital investment and significant flexibility in scheduling production and managing inventory levels. By leasing our office facilities, we also minimize the cash needed for expansion although we invest periodically in upgrading these facilities, a portion of which investment will be reimbursed by the landlords of these facilities. Accordingly, our capital spending is generally limited to machinery and tooling, leasehold improvements, business applications software and computer and equipment. In the three months ended June 27, 2020 and June 29, 2019, we spent $19.0 million and $14.7 million, respectively, on capital expenditures.
Our strategy for delivering consumer products to our distributors and retail customers gives us the flexibility to provide container shipments directly from our contract manufacturers in Southern China and Malaysia to our customers and, alternatively, allows our distributors and certain retail customers to take possession of product on a domestic basis. Accordingly, our inventory consists of goods shipped to our third-party logistics providers for the fulfillment of distributor, retail and direct-to-consumer sales. Our contract manufacturers are also responsible for purchasing and stocking components required for the production of our products, and they typically invoice us when the finished goods are shipped.

26




As a result of the COVID-19 pandemic, we have taken, and are continuing to take, certain actions to increase liquidity and strengthen our financial position. We implemented cost-reduction actions in April 2020 that are aimed at generating net savings of approximately $30.0 million in 2020 while enabling us to accelerate investment in key initiatives. Our actions taken during the second quarter of 2020 included reducing our workforce by approximately 5%, furloughing retail-facing marketing staff in Europe, reducing hiring plans, suspending go-to-market and development plans for our Terra robot mower and curtailing working media spending. On April 24, 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles us to a refund of $57.2 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed, of which $48.7 million was recognized as a benefit to cost of product revenue in the three months ended June 27, 2020. As of June 27, 2020, we have received $0.6 million in cash associated with our tariff refunds from the U.S. government. We expect to receive the refunds within the next twelve months, subject to the timing of releases from U.S. Customs. We historically experience cash outflows during the third quarter, and our cash burn will likely be exacerbated over the next quarter given our anticipated near-term fundamentals and the need to build inventory in advance of the holiday sales season. While we do not believe these activities are likely to require drawing down on our revolving line of credit, any borrowing, if required, is anticipated to be short-term in nature.
Cash provided by operating activities
Net cash provided by operating activities for the six months ended June 27, 2020 was $28.2 million, of which the principal components were our net income of $40.5 million, and non-cash charges of $34.6 million, partially offset by cash outflow of $46.9 million from increases in working capital. The change in working capital primarily relates to the increase in other current assets of $57.8 million, driven by the recognition of the tariff refunds receivable during the three months ended June 27, 2020.
Cash used in investing activities
Net cash used in investing activities for the six months ended June 27, 2020 was $14.1 million. During the six months ended June 27, 2020, we invested $19.0 million in the purchase of property and equipment, including machinery and tooling for new products and manufacturing expansion in Malaysia. In addition, we made strategic investments of $2.1 million, while proceeds from the sales and maturities of marketable securities amounted to $7.0 million.
Cash used in financing activities
Net cash used in financing activities for the six months ended June 27, 2020 was $23.1 million, which primarily reflects the repurchase of 663,602 shares of our common stock for $25.0 million under the stock repurchase program in March 2020.
Working Capital Facilities
Credit Facility
In June 2018, we entered into a new agreement with Bank of America, N.A., increasing the amount of our unsecured revolving line of credit from $75.0 million to $150.0 million and extending the term of the credit facility to June 2023. As of June 27, 2020, we had no outstanding borrowings under our revolving credit facility. The revolving line of credit is available to fund working capital and other corporate purposes. The interest on loans under our credit facility accrues, at our election, at either (1) LIBOR plus a margin, currently equal to 1.0%, based on our ratio of indebtedness to Adjusted EBITDA (the "Eurodollar Rate"), or (2) the lender’s base rate. The lender’s base rate is equal to the highest of (1) the federal funds rate plus 0.5%, (2) the lender’s prime rate and (3) the Eurodollar Rate plus 1.0%. In the event that LIBOR is discontinued as expected in 2021, we expect the interest rates for our debt following such event will be based on either alternate base rates or agreed upon replacement rates. While we do not expect a LIBOR discontinuation would affect our ability to borrow or maintain already outstanding borrowings, it could result in higher interest rates.
The credit facility contains customary terms and conditions for credit facilities of this type, including restrictions on our ability to incur or guarantee additional indebtedness, create liens, enter into transactions with affiliates, make loans or investments, sell assets, pay dividends or make distributions on, or repurchase, our stock, and consolidate or merge with other entities. In addition, we are required to meet certain financial covenants customary with this type of agreement, including maintaining a maximum ratio of indebtedness to Adjusted EBITDA and a minimum specified interest coverage ratio.
The credit facility contains customary events of default, including for payment defaults, breaches of representations, breaches of affirmative or negative covenants, cross defaults to other material indebtedness, bankruptcy and failure to discharge certain judgments. If a default occurs and is not cured within any applicable cure period or is not waived, our obligations under the credit facility may be accelerated.
As of June 27, 2020, we were in compliance with all covenants under the revolving credit facility.

27




Lines of Credit
We have an unsecured letter of credit facility with Bank of America, N.A., available to fund letters of credit up to an aggregate outstanding amount of $5.0 million. As of June 27, 2020, we had letters of credit outstanding of $0.7 million under our letter of credit facility and other lines of credit with Bank of America, N.A.
We have an unsecured guarantee line of credit with Mizuho, Bank Ltd., available to fund import tax payments up to an aggregate outstanding amount of 220.0 million Japanese Yen. As of June 27, 2020, we had no outstanding balance under the guarantee line of credit. 
Working Capital and Capital Expenditure Needs
We currently have no material cash commitments, except for normal recurring trade payables, expense accruals, capital expenditures and operating leases, all of which we anticipate funding through working capital and funds provided by operating activities. We believe our outsourced approach to manufacturing provides us with flexibility in both managing inventory levels and financing our inventory. We believe our existing cash and cash equivalents, short-term investments, and funds available through our credit facility will be sufficient to meet our working capital and capital expenditure needs over at least the next twelve months. In the event our revenue plan does not meet our expectations, we may eliminate or curtail expenditures to mitigate the impact on our working capital. Our future capital requirements will depend on many factors, including our rate of revenue growth or decline, the expansion or contraction of our marketing and sales activities, the timing and extent of spending to support product development efforts, the timing of introductions of new products and enhancements to existing products, the acquisition of new capabilities or technologies, the continuing market acceptance of our products and services, and the impact of COVID-19 on our business. Moreover, to the extent existing cash and cash equivalents, short-term investments, cash from operations, and cash from short-term borrowing are insufficient to fund our future activities, we may need to raise additional funds through public or private equity or debt financing. As part of our business strategy, we may consider additional acquisitions of companies, technologies and products, which could also require us to seek additional equity or debt financing. Additional funds may not be available on terms favorable to us or at all.
Contractual Obligations
The disclosure of our contractual obligations and commitments is set forth under the heading "Management's Discussion and Analysis of Financial Condition and Results of Operations - Contractual Obligations" in our Annual Report on Form 10-K for the year ended December 28, 2019. Our principal commitments generally consist of obligations under our credit facility, leases for office space and minimum contractual obligations. Other obligations consist of primarily of subscription services. There have been no material changes in our contractual obligations and commitments since December 28, 2019.
Off-Balance Sheet Arrangements
As of June 27, 2020, we had no off-balance sheet arrangements as defined in Item 303(a)(4) of Regulation S-K.
Recently Adopted Accounting Pronouncements
See Note 2 to the Consolidated Financial Statements for a discussion of recently adopted accounting pronouncements.
Recently Issued Accounting Pronouncements
See Note 2 to the Consolidated Financial Statements for a discussion of recently issued accounting pronouncements.
Item 3. Quantitative and Qualitative Disclosure About Market Risk
Exchange Rate Sensitivity
Our international revenue and expenses are denominated in multiple currencies, including British Pounds, Canadian Dollars, Chinese Renminbi, Euros and Japanese Yen. As such, we have exposure to adverse changes in exchange rates associated with the revenue and operating expenses of our foreign operations. Any fluctuations in other currencies will have minimal direct impact on our international revenue.
In addition to international business conducted in foreign currencies, we have international revenue denominated in U.S. dollars. As the U.S. dollar strengthens or weakens against other currencies, our international distributors may be impacted, which could affect their profitability and our ability to maintain current pricing levels on our international consumer products.
We regularly monitor the forecast of non-U.S. dollar revenue and expenses and the level of non-U.S. dollar monetary asset and liability balances to determine if any actions, including possibly entering into foreign currency contracts should be taken to minimize the impact of fluctuating exchange rates on our results of operations. Periodically, we enter into forward exchange contracts to hedge against foreign currency fluctuations. These contracts may or may not be designated as cash flow hedges for accounting purposes. We use cash flow hedges primarily to reduce the effects of foreign exchange rate changes on sales in Euros and Japanese Yen. At June 27, 2020 and December 28, 2019, we had outstanding cash flow hedges with a total notional value of $411.2 million and $424.6 million, respectively.

28




We also enter into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts have maturities of twelve months or less. At June 27, 2020 and December 28, 2019, we had outstanding economic hedges with a total notional value of $61.1 million and $58.4 million, respectively.
At June 27, 2020, assuming all other variables are constant, if the U.S. Dollar weakened or strengthened by 10%, the fair market value of our foreign currency contracts would increase or decrease by approximately $47.9 million.

Item 4. Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rule 13a-15(e) of the Exchange Act as of the end of the period covered by this report. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures as of the end of the period covered by this report were effective at a reasonable assurance level in ensuring that information required to be disclosed by us in reports that we file or submit under the Exchange Act (i) is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission’s rules and forms; and (ii) accumulated and communicated to management, including our Chief Executive Officer and Chief Financial Officer, as appropriate, to allow timely discussions regarding required disclosure. We believe that a control system, no matter how well designed and operated, cannot provide absolute assurance that the objectives of the control system are met, and no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within a company have been detected.
There was no change in our internal control over financial reporting (as defined in Rule 13a-15(f) of the Exchange Act) that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
Part II. Other Information
Item 1. Legal Proceedings
This information is included in Note 11, Commitments and Contingencies, in the accompanying notes to the unaudited consolidated financial statements and is incorporated herein by reference from Item 1 of Part I.

Item 1A. Risk Factors

We operate in a rapidly changing environment that involves a number of risks that could materially affect our business, financial condition or future results, some of which are beyond our control. In addition to the other information set forth in this report, the risks and uncertainties that we believe are most important for you to consider are discussed in Part I, "Item 1A. Risk Factors" in our Annual Report on Form 10-K for the year ended December 28, 2019, which could materially affect our business, financial condition or future results. Additional risks and uncertainties not presently known to us, which we currently deem immaterial or which are similar to those faced by other companies in our industry or business in general, may also impair our business operations. There are no material changes to the Risk Factors described in our Annual Report on Form 10-K for the year ended December 28, 2019, other than as set forth below:
Our business has been, and will continue to be, adversely affected by the ongoing coronavirus pandemic.
The outbreak of the novel coronavirus has evolved into a global pandemic. The coronavirus has already directly and indirectly impacted our business and operating results but the full extent of its impact will depend on future developments that are uncertain and cannot be accurately predicted, including new information that may emerge concerning the coronavirus and the actions to contain the coronavirus or treat its impact, among others. The ultimate impact of the current pandemic, or any other health epidemic, is highly uncertain and subject to change not only with the spread of the disease, but also with the scope and timing of governmental, regulatory, fiscal, monetary and public health responses.
As the coronavirus continues to spread, our business operations could be further disrupted or delayed. The pandemic has already resulted in, and may continue to result in, work stoppages, slowdowns and delays, travel restrictions, event cancellation, and other factors that cause an increase in costs or order cancellations, reductions or delays. For example, our manufacturing supply chain has been and may continue to be adversely affected with production delays or limited manufacturing volumes associated with factory shutdowns or reduced numbers of workers or working hours in the factories, limits on component supplies and diminished capability to implement engineering and design changes in a timely manner. Specifically, travel restrictions have prevented, and may continue to prevent, significant progress in supply chain diversification efforts in Malaysia, which may have a material impact on our ability to mitigate in the impact of certain tariffs. In addition, quarantines, stay at home orders and other travel limitations (whether voluntary or required) impede our employees’ ability to

29




efficiently conduct research and development activities or oversee manufacturing activities, which may slow innovation, lead to higher costs or both. Further, if the spread of the coronavirus pandemic continues and our operations continue to be adversely impacted, we risk a delay, default, violation and/or non-compliance under existing agreements.
The spread of the coronavirus, which has caused a broad impact globally, including restrictions on travel and quarantine policies put into place by businesses and governments, has had and may continue to have a material economic effect on our business. For example, the pandemic and related measures taken to limit the spread of disease has resulted in higher unemployment and greater economic uncertainty, which may adversely affect consumer purchasing behavior. Further, retail store closures, whether temporary or permanent, as well as limited operating hours and restrictions on foot traffic in stores may continue to adversely affect sales of our products. Certain retailers, who we rely on for a significant portion of our revenue, have begun, and may continue, to unilaterally stretch payables to us that may increase our accounts receivable, strain our liquidity, and increase the likelihood of our failure to collect on product previously sold.
While the potential economic impact and the duration of the pandemic may be difficult to assess or predict, it has already caused, and is likely to result in further, significant disruption of global financial markets. In addition, a recession, depression or other sustained adverse market event resulting from the spread of the coronavirus could materially and adversely affect our business, our access to needed capital and liquidity, and the value of our common stock. We do not yet know the full extent of potential delays or impacts on our business, our industry or the global economy as a whole. Additionally, while significant efforts are underway to slow the spread of the disease, develop vaccines and therapeutics, it is unclear when or whether progress in any of those areas will translate into an economic recovery that will restore consumer confidence and accelerate consumer spending. Accordingly, given that the potential of these effects of the current pandemic on our operations has been and will likely continue to be material, we will continue to monitor the situation closely.
If we experience a disaster or other business continuity problem, we may not be able to recover successfully, which could cause material financial loss, loss of human capital, regulatory actions, reputational harm, or legal liability.
If we experience a local or regional disaster or other business continuity problem, such as an earthquake, terrorist attack, pandemic or other natural or man-made disaster, our continued success will depend, in part, on the availability of our personnel, our office facilities, and the proper functioning of our computer, telecommunication and other related systems and operations. As we grow our operations in new geographic regions, the potential for particular types of natural or man-made disasters, political, economic or infrastructure instabilities, or other country- or region-specific business continuity risks increases. For example, the COVID-19 pandemic has disrupted and will continue to disrupt our supply chain and manufacturers, resulting in a disruption in manufacturing our products as further discussed in the risk factors entitled "We depend on a limited number of manufacturers, and our reputation and results of operations would be harmed if these manufacturers fail to meet our requirements" and "Our business has been, and will continue to be, adversely affected by the ongoing coronavirus pandemic".
Significant developments from the recent and potential changes in U.S. trade policies have had, and may continue to have, a material adverse effect on our business, financial condition and results of operations.
The U.S. government has indicated its intent to alter its approach to international trade policy and in some cases to renegotiate, or potentially terminate, certain existing bilateral or multi-lateral trade agreements and treaties with foreign countries. Effective September 24, 2018, the U.S. government implemented a 10% tariff on certain goods imported from China, which include the majority of those imported by the Company. These tariffs were increased to 25% on May 10, 2019 and were slated to further increase to 30% in October 2019 until a last-minute interim deal was reached between the United States and China. Although the United States and China signed a new trade agreement in January 2020, most of the previously-implemented tariffs on goods imported from China remain in place (including the tariffs described above), and uncertainty remains as to the short-term and long-term future of economic relations between the United States and China.
From September 2018 until April 2020, our Roomba products were subject to Section 301 tariffs. From September 2018 through March 28, 2020, we paid an aggregate of $57.2 million in Section 301 tariffs on our Roomba products. On April 24, 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles us to a refund of $57.2 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. However, absent an extension on this exemption, on August 7, 2020, the 25% tariff will automatically reinstate. We have applied for an extension to our tariff exclusion, however we cannot predict the likelihood of obtaining such an extension nor the length of any extension granted. If we are again subject to this tariff, we will again experience a lowering of our margin on products sold and pricing pressures on our products. The already-implemented, and any additional or increased, tariffs have caused and may in the future cause us to further increase prices to our customers which we believe has reduced, and in the future may reduce, demand for our products.
These tariffs, and other governmental action relating to international trade agreements or policies, have directly or indirectly adversely impacted demand for our products, our costs, customers, suppliers, distributors, resellers and/or the U.S. economy or certain sectors thereof and, as a result, have adversely impacted, and, if our tariff exclusion is not extended past August 7, 2020, we expect will continue to adversely impact, our business, financial condition and results of operations. It

30




remains unclear what the U.S. or foreign governments will or will not do with respect to tariffs, international trade agreements and policies on a short-term or long-term basis. We cannot predict future trade policy or the terms of any renegotiated trade agreements and their impacts on our business. The adoption and expansion of trade restrictions, the occurrence of a trade war, or other governmental action related to tariffs or trade agreements or policies has the potential to further adversely impact demand for our products, our costs, our customers, our suppliers, and the U.S. economy, which in turn could further adversely impact our business, financial condition and results of operations.
In response to international trade policy, as well as other risks associated with concentrated manufacturing in China, we have begun relocating a meaningful portion of our supply chain from China to Malaysia. Such relocation activities increase costs and risks associated with establishing new manufacturing facilities.




31




Item 5. Other Information
10b5-1 Trading Plans
Our policy governing transactions in our securities by our directors, officers, and employees permits our officers, directors, funds affiliated with our directors, and certain other persons to enter into trading plans complying with Rule 10b5-l under the Exchange Act. We have been advised that certain of our officers and directors (including Colin Angle, Chief Executive Officer, Keith Hartsfield, Chief Product Officer, Tim Saeger, Chief R&D Officer, and Glen Weinstein, EVP and Chief Legal Officer, as well as Mohamad Ali, Deborah Ellinger, Andrew Miller and Michelle Stacy, each a director of the Company) have entered into trading plans (each a "Plan" and collectively, the "Plans") covering periods after the date of this Quarterly Report on Form 10-Q in accordance with Rule 10b5-l and our policy governing transactions in our securities. Generally, under these trading plans, the individual relinquishes control over the transactions once the trading plan is put into place. Accordingly, sales under these plans may occur at any time, including possibly before, simultaneously with, or immediately after significant events involving the Company.
We anticipate that, as permitted by Rule 10b5-1 and our policy governing transactions in our securities, some or all of our officers, directors and employees may establish trading plans in the future. We intend to disclose the names of our executive officers and directors who establish a trading plan in compliance with Rule 10b5-1 and the requirements of our policy governing transactions in our securities in our future quarterly and annual reports on Form 10-Q and 10-K filed with the Securities and Exchange Commission. We undertake no obligation to update or revise the information provided herein.



32




Item 6. Exhibits
 
EXHIBIT INDEX
Exhibit
Number
 
Description
 
 
 
 
Amendment to the iRobot Corporation 2018 Stock Option and Incentive Plan (filed as Exhibit 99.1 to the Registrant's Registration Statement on Form S-8 on June 30, 2020 (File No. 333-239573) and incorporated by reference herein)
 
 
 
 
Certification Pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934
 
 
 
 
Certification Pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934
 
 
 
 
Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002
 
 
 
101.SCH*
 
Inline XBRL Taxonomy Extension Schema Document
 
 
 
101.CAL*
 
Inline XBRL Taxonomy Extension Calculation Linkbase Document
 
 
 
101.LAB*
 
Inline XBRL Taxonomy Extension Label Linkbase Document
 
 
 
101.PRE*
 
Inline XBRL Taxonomy Extension Presentation Linkbase Document
 
 
 
101.DEF*
 
Inline XBRL Taxonomy Extension Definition Linkbase Document
 
 
 
104*
 
Cover Page Interactive Data File (formatted as inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)
 __________________________
*
Filed herewith
**
Furnished herewith



33




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.
 
 
iROBOT CORPORATION
 
 
 
Date: July 30, 2020
By:
/s/ Julie Zeiler
 
 
Julie Zeiler
 
 
Executive Vice President and Chief Financial Officer (Duly Authorized Officer and Principal Financial Officer)

34
EX-31.1 2 irbtexhibit31162720.htm EXHIBIT 31.1 Exhibit


Exhibit 31.1
Certifications
I, Colin M. Angle, certify that:
1.
I have reviewed this Quarterly Report on Form 10-Q of iRobot 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 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 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 30, 2020
/s/ COLIN M. ANGLE
 
Colin M. Angle
Chairman of the Board and Chief Executive Officer




EX-31.2 3 irbtexhibit31262720.htm EXHIBIT 31.2 Exhibit


Exhibit 31.2
Certifications
I, Julie Zeiler, certify that:
1.
I have reviewed this Quarterly Report on Form 10-Q of iRobot 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 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 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 30, 2020
/s/ JULIE ZEILER
 
Julie Zeiler
Chief Financial Officer




EX-32.1 4 irbtexhibit32162720.htm EXHIBIT 32.1 Exhibit


Exhibit 32.1

CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report on Form 10-Q of iRobot Corporation (the "Company") for the period ended June 27, 2020 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), we, Colin M. Angle, the Chief Executive Officer of the Company and Julie Zeiler, the Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, to our knowledge, that:
(1)
the Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and
(2)
the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
This certification is being provided pursuant to 18 U.S.C. 1350 and is not to be deemed a part of the Report, nor is it to be deemed to be "filed" for any purpose whatsoever.

Date: July 30, 2020
/s/ COLIN M. ANGLE
 
Colin M. Angle
Chairman of the Board and Chief Executive Officer
 
 
Date: July 30, 2020
/s/ JULIE ZEILER
 
Julie Zeiler
Chief Financial Officer



EX-101.SCH 5 irbt-20200627.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 2118100 - Disclosure - Accrued Expenses link:presentationLink link:calculationLink link:definitionLink 2418402 - Disclosure - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 2318301 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 2124100 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) link:presentationLink link:calculationLink link:definitionLink 2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2424403 - Disclosure - Commitments and Contingencies - Summary of Future Minimum Rental Payments under Operating Leases (Detail) link:presentationLink link:calculationLink link:definitionLink 2324301 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 1001000 - Statement - Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement link:presentationLink link:calculationLink link:definitionLink 1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1003000 - Statement - Consolidated Statements of Income Statement link:presentationLink link:calculationLink link:definitionLink 2419404 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2119100 - Disclosure - Derivative Instruments (Notes) link:presentationLink link:calculationLink link:definitionLink 2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2319301 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2101100 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 0001000 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 2122100 - Disclosure - Fair Value Measurements (Notes) link:presentationLink link:calculationLink link:definitionLink 2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets link:presentationLink link:calculationLink link:definitionLink 2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) link:presentationLink link:calculationLink link:definitionLink 2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) link:presentationLink link:calculationLink link:definitionLink 2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 2426402 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 2126100 - Disclosure - Income Taxes (Notes) link:presentationLink link:calculationLink link:definitionLink 2326301 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers link:presentationLink link:calculationLink link:definitionLink 2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) link:presentationLink link:calculationLink link:definitionLink 2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 2116100 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 2416402 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 2316301 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details) link:presentationLink link:calculationLink link:definitionLink 2409402 - Disclosure - Leases Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details) link:presentationLink link:calculationLink link:definitionLink 2109100 - Disclosure - Leases (Notes) link:presentationLink link:calculationLink link:definitionLink 2409403 - Disclosure - Leases Supplemental Cash Flow (Details) link:presentationLink link:calculationLink link:definitionLink 2309301 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 2408407 - Disclosure - Revenue Recognition Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 2308304 - Disclosure - Revenue Recognition Contract Balances (Tables) link:presentationLink link:calculationLink link:definitionLink 2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 2108100 - Disclosure - Revenue Recognition (Notes) link:presentationLink link:calculationLink link:definitionLink 2208201 - Disclosure - Revenue Recognition (Policies) link:presentationLink link:calculationLink link:definitionLink 2408405 - Disclosure - Revenue Recognition Significant Judgments (Details) link:presentationLink link:calculationLink link:definitionLink 2308302 - Disclosure - Revenue Recognition Significant Judgments (Tables) link:presentationLink link:calculationLink link:definitionLink 2423402 - Disclosure - Stockholders Equity (Details) link:presentationLink link:calculationLink link:definitionLink 2123100 - Disclosure - Stockholders Equity (Notes) link:presentationLink link:calculationLink link:definitionLink 2323301 - Disclosure - Stockholders Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 2428402 - Disclosure - Subsequent Event (Details) link:presentationLink link:calculationLink link:definitionLink 2128100 - Disclosure - Subsequent Event (Notes) link:presentationLink link:calculationLink link:definitionLink 2328301 - Disclosure - Subsequent Event (Tables) link:presentationLink link:calculationLink link:definitionLink 2102100 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2402407 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) link:presentationLink link:calculationLink link:definitionLink 2402404 - Disclosure - Summary of Significant Accounting Policies Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 2402406 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2402405 - Disclosure - Summary of Significant Accounting Policies Receivables (Details) link:presentationLink link:calculationLink link:definitionLink 2402408 - Disclosure - Summary of Significant Accounting Policies Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 2402409 - Disclosure - Summary of Significant Accounting Policies Subsequent Event (Details) link:presentationLink link:calculationLink link:definitionLink 2302303 - Disclosure - Summary of Significant Accounting Policies Subsequent event (Tables) link:presentationLink link:calculationLink link:definitionLink 2302302 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 irbt-20200627_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 irbt-20200627_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 irbt-20200627_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Goodwill and Intangible Assets Disclosure [Abstract] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Consolidation Items [Axis] Consolidation Items [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Income Statement Location [Axis] Income Statement Location [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Statistical Measurement [Axis] Statistical Measurement [Axis] Statistical Measurement [Domain] Statistical Measurement [Domain] Goodwill [Line Items] Goodwill [Line Items] Goodwill Goodwill Goodwill, Acquired During Period Goodwill, Acquired During Period Goodwill, Foreign Currency Translation Gain (Loss) Goodwill, Foreign Currency Translation Gain (Loss) Subsequent Events [Abstract] Subsequent Event [Table] Subsequent Event [Table] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Subsequent Event [Line Items] Subsequent Event [Line Items] Subsequent Events [Text Block] Subsequent Events [Text Block] Gain (Loss) on Sale of Equity Investments Gain (Loss) on Sale of Equity Investments Leases [Abstract] Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year Lessee, Operating Lease, Liability, Payments, Due Year Two Lessee, Operating Lease, Liability, Payments, Due Year Two Lessee, Operating Lease, Liability, Payments, Due Year Three Lessee, Operating Lease, Liability, Payments, Due Year Three Lessee, Operating Lease, Liability, Payments, Due Year Four Lessee, Operating Lease, Liability, Payments, Due Year Four Lessee, Operating Lease, Liability, Payments, Due Year Five Lessee, Operating Lease, Liability, Payments, Due Year Five Lessee, Operating Lease, Liability, Payments, Due after Year Five Lessee, Operating Lease, Liability, Payments, Due after Year Five Lessee, Operating Lease, Liability, Payments, Due Lessee, Operating Lease, Liability, Payments, Due Lessee, Operating Lease, Liability, Undiscounted Excess Amount Lessee, Operating Lease, Liability, Undiscounted Excess Amount Operating Lease, Liability Operating Lease, Liability Current portion of operating lease liabilities Operating Lease, Liability, Current Operating Lease, Liability, Noncurrent Operating Lease, Liability, Noncurrent Revenue Recognition and Deferred Revenue [Abstract] Revenue, Judgment [Abstract] Revenue, Judgment [Abstract] Contract with Customer, Asset and Liability [Table Text Block] Contract with Customer, Asset and Liability [Table Text Block] Inventory Disclosure [Abstract] Inventory, Raw Materials, Net of Reserves Inventory, Raw Materials, Net of Reserves Inventory, Finished Goods, Net of Reserves Inventory, Finished Goods, Net of Reserves Inventory Inventory, Net Statement of Financial Position [Abstract] Statement [Table] Statement [Table] Legal Entity [Axis] Legal Entity [Axis] Entity [Domain] Entity [Domain] Statement [Line Items] Statement [Line Items] Preferred stock, shares authorized Preferred Stock, Shares Authorized Preferred stock, shares outstanding Preferred Stock, Shares Outstanding Common stock, par value Common Stock, Par or Stated Value Per Share Common stock, shares authorized Common Stock, Shares Authorized Common stock, shares issued Common Stock, Shares, Issued Common stock, shares outstanding Common Stock, Shares, Outstanding Equity [Abstract] Stock Repurchase Program, Authorized Amount Stock Repurchase Program, Authorized Amount Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Value Stock Repurchased and Retired During Period, Value Disaggregation of Revenue [Table Text Block] Disaggregation of Revenue [Table Text Block] Goodwill, Other Intangible Assets and Other Assets Goodwill and Intangible Assets Disclosure [Text Block] Credit Loss [Abstract] Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease) Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease) Accounts Receivable, Allowance for Credit Loss Accounts Receivable, Allowance for Credit Loss Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivatives Not Designated as Hedging Instruments [Table Text Block] Derivatives Not Designated as Hedging Instruments [Table Text Block] Derivative Instruments and Hedging Activities Disclosure [Text Block] Derivative Instruments and Hedging Activities Disclosure [Text Block] Accounting Policies [Abstract] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Recent Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Use of Estimates Use of Estimates, Policy [Policy Text Block] Credit Loss, Financial Instrument [Policy Text Block] Credit Loss, Financial Instrument [Policy Text Block] Investment, Policy [Policy Text Block] Investment, Policy [Policy Text Block] Net Income Per Share Earnings Per Share, Policy [Policy Text Block] Document Documentand Entity Information [Abstract] Document Documentand Entity Information [Abstract] Document Information [Table] Document Information [Table] Entity Information [Line Items] Entity Information [Line Items] Document Type Document Type Document Period End Date Document Period End Date Document Quarterly Report Document Quarterly Report Document Transition Report Document Transition Report Entity Central Index Key Entity Central Index Key Entity File Number Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Tax Identification Number Amendment Flag Amendment Flag Entity Address, Address Line One Entity Address, Address Line One Entity Address, City or Town Entity Address, City or Town Entity Address, State or Province Entity Address, State or Province Entity Address, Postal Zip Code Entity Address, Postal Zip Code City Area Code City Area Code Local Phone Number Local Phone Number Title of 12(b) Security Title of 12(b) Security Trading Symbol Trading Symbol Security Exchange Name Security Exchange Name Document Fiscal Year Focus Document Fiscal Year Focus Document Fiscal Period Focus Document Fiscal Period Focus Current Fiscal Year End Date Current Fiscal Year End Date Entity Shell Company Entity Shell Company Entity Small Business Entity Small Business Entity Emerging Growth Company Entity Emerging Growth Company Entity Current Reporting Status Entity Current Reporting Status Entity Interactive Data Current Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Equity and cost method investments [Abstract] Equity and cost method investments [Abstract] Subsequent Event [Member] Subsequent Event [Member] Equity Securities without Readily Determinable Fair Value, Amount Equity Securities without Readily Determinable Fair Value, Amount Revenue from Contract with Customer [Text Block] Revenue from Contract with Customer [Text Block] Inventory Inventory Disclosure [Text Block] Segment Reporting [Abstract] Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes Schedule of Segment Reporting Information, by Segment [Table Text Block] Income Tax Disclosure [Abstract] Effective Income Tax Rate Reconciliation, Percent Effective Income Tax Rate Reconciliation, Percent Equity securities received, restricted Equity securities received, restricted Equity securities received, restricted Schedule of Derivative Instruments [Abstract] Schedule of Derivative Instruments [Abstract] Derivative [Table] Derivative [Table] Energy [Axis] Energy [Axis] Energy [Domain] Energy [Domain] Variable Rate [Axis] Variable Rate [Axis] Variable Rate [Domain] Variable Rate [Domain] Derivative, by Nature [Axis] Derivative Instrument [Axis] Derivative Contract [Domain] Derivative Contract [Domain] Position [Axis] Position [Axis] Position [Domain] Position [Domain] Derivative [Line Items] Derivative [Line Items] Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Derivative Instruments [Table Text Block] Schedule of Derivative Instruments [Table Text Block] Commitments and Contingencies Disclosure [Abstract] Disclosure Activity Related To Warranty Accrual [Abstract] Disclosure - Activity Related to Warranty Accrual [Abstract] Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Balance at beginning of period Standard Product Warranty Accrual Provision Standard Product Warranty Accrual, Increase for Warranties Issued Warranty usage Standard Product Warranty Accrual, Decrease for Payments Balance at end of period Lessee, Operating Leases [Text Block] Lessee, Operating Leases [Text Block] Accrued Liabilities, Current [Abstract] Accrued Expenses Accounts Payable and Accrued Liabilities Disclosure [Text Block] Disclosure Basic And Diluted Net Income Per Share [Abstract] Disclosure - Basic and Diluted Net Income Per Share [Abstract] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Net income Net Income (Loss) Attributable to Parent Weighted-average shares outstanding Weighted Average Number of Shares Outstanding, Basic Dilutive effect of employee stock options and restricted shares Weighted Average Number Diluted Shares Outstanding Adjustment Diluted weighted-average shares outstanding Weighted Average Number of Shares Outstanding, Diluted Basic income per share Earnings Per Share, Basic Diluted income per share Earnings Per Share, Diluted Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Revenue, Remaining Performance Obligation, Amount Revenue, Remaining Performance Obligation, Amount Refund liability, product returns Refund liability, product returns Refund liability, product returns Refund liability, other credits and incentives Refund liability, other credits and incentives Refund liability, other credits and incentives Accounts Receivable, after Allowance for Credit Loss, Current Accounts Receivable, after Allowance for Credit Loss, Current Contract with Customer, Liability, Revenue Recognized Contract with Customer, Liability, Revenue Recognized Contract with Customer, Liability Contract with Customer, Liability Statement of Stockholders' Equity [Abstract] Restatement [Axis] Restatement [Axis] Restatement [Domain] Restatement [Domain] Equity Components [Axis] Equity Components [Axis] Equity Component [Domain] Equity Component [Domain] Common Stock [Member] Common Stock [Member] Additional Paid-in Capital [Member] Additional Paid-in Capital [Member] Retained Earnings [Member] Retained Earnings [Member] AOCI Attributable to Parent [Member] AOCI Attributable to Parent [Member] Class of Stock [Axis] Class of Stock [Axis] Class of Stock [Domain] Class of Stock [Domain] Adjustments for New Accounting Pronouncements [Axis] Adjustments for New Accounting Pronouncements [Axis] Type of Adoption [Domain] Type of Adoption [Domain] Adjustments for Change in Accounting Principle [Axis] Adjustments for Change in Accounting Principle [Axis] Adjustments for Change in Accounting Principle [Domain] Adjustments for Change in Accounting Principle [Domain] Adjustments for Error Corrections [Axis] Adjustments for Error Corrections [Axis] Adjustments for Error Correction [Domain] Adjustments for Error Correction [Domain] Beginning Balance, Shares Beginning balance Stockholders' Equity Attributable to Parent Issuance of common stock under employee stock plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Stock Issued During Period, Value, Stock Options Exercised Stock Issued During Period, Value, Stock Options Exercised Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures APIC, Share-based Payment Arrangement, Increase for Cost Recognition APIC, Share-based Payment Arrangement, Increase for Cost Recognition Shares Paid for Tax Withholding for Share Based Compensation (in shares) Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount Stock withheld to Cover tax withholding requirements Upon Vesting to restricted Stock Units. Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Adjustments to Additional Paid in Capital Directors Deferred Compensation Adjustments to Additional Paid in Capital Directors Deferred Compensation Adjustments to additional paid in capital directors deferred compensation. Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Value Cumulative Effect of New Accounting Principle in Period of Adoption Cumulative Effect of New Accounting Principle in Period of Adoption Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Cost Operating Lease, Cost Variable Lease, Cost Variable Lease, Cost Lease, Cost Lease, Cost Operating Lease, Weighted Average Remaining Lease Term Operating Lease, Weighted Average Remaining Lease Term Components of Inventory Schedule of Inventory, Current [Table Text Block] Outstanding POs [Abstract] Outstanding POs [Abstract] Contractual Obligation Contractual Obligation Fair Value Disclosures [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Measurement Frequency [Axis] Measurement Frequency [Axis] Measurement Frequency [Domain] Measurement Frequency [Domain] Fair Value, Recurring [Member] Fair Value, Recurring [Member] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 3 [Member] Fair Value, Inputs, Level 3 [Member] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Money Market Funds, at Carrying Value Money Market Funds, at Carrying Value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value Available-for-sale Securities Available-for-sale Securities Convertible Debt, Fair Value Disclosures Convertible Debt, Fair Value Disclosures conversion of debt Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Purchases Derivative Asset Derivative Asset Assets, Fair Value Disclosure Assets, Fair Value Disclosure Derivative Liability Derivative Liability Financial and Nonfinancial Liabilities, Fair Value Disclosure Financial and Nonfinancial Liabilities, Fair Value Disclosure Activity Related to the Warranty Accrual Schedule of Product Warranty Liability [Table Text Block] Receivables [Abstract] Recovery of Direct Costs Recovery of Direct Costs Recovery of Import Duties Recovery of Import Duties Recovery of Import Duties Receivable for Recovery of Import Duties, Net Receivable for Recovery of Import Duties, Net Income Statement [Abstract] Product and Service [Axis] Product and Service [Axis] Product and Service [Domain] Product and Service [Domain] Revenue Revenues Cost of product revenue Cost of product revenue Cost of product revenue Amortization of acquired intangible assets Cost, Amortization Total cost of revenue Cost of Goods and Services Sold Gross profit Gross Profit Research and development Research and Development Expense Selling and marketing Selling and Marketing Expense General and administrative General and Administrative Expense Amortization of acquired intangible assets Amortization of Intangible Assets, Nonproduction Amortization of Intangible Assets, Nonproduction Total operating expenses Operating Expenses Operating income Operating Income (Loss) Other (expense) income, net Nonoperating Income (Expense) Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Income tax expense (benefit) Income Tax Expense (Benefit) Net income Basic Diluted Basic Diluted Statement of Comprehensive Income [Abstract] Scenario [Axis] Scenario [Axis] Scenario [Domain] Scenario [Domain] Other comprehensive income (loss): Other Comprehensive Income (Loss), Net of Tax [Abstract] Net foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent Net unrealized (losses) gains on cash flow hedges, net of tax Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax Net (gains) losses on cash flow hedge reclassified into earnings, net of tax Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax Net unrealized gains on marketable securities, net of tax Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Disclosure Segment Information About Revenue Cost Of Revenue Gross Margin And Income Before Income Taxes [Abstract] Disclosure - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes [Abstract] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Customer [Axis] Customer [Axis] Customer [Domain] Customer [Domain] Amazon [Member] Amazon [Member] Amazon [Member] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Customer Concentration Risk [Member] Customer Concentration Risk [Member] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Revenue Benchmark [Member] Revenue Benchmark [Member] Business Segments [Axis] Segments [Axis] Segment [Domain] Segments [Domain] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Number of Reportable Segments Number of Reportable Segments Total cost of revenue Gross profit Research and development Selling and marketing General and administrative Other income, net Concentration Risk, Percentage Concentration Risk, Percentage Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Derivative Instrument [Axis] Foreign Exchange Forward [Member] Foreign Exchange Forward [Member] Sales [Member] Sales [Member] Other Nonoperating Income (Expense) [Member] Other Nonoperating Income (Expense) [Member] Other Comprehensive Income Location [Axis] Other Comprehensive Income Location [Axis] Other Comprehensive Income Location [Domain] Other Comprehensive Income Location [Domain] Hedging Designation [Axis] Hedging Designation [Axis] Hedging Designation [Domain] Hedging Designation [Domain] Hedging Relationship [Axis] Hedging Relationship [Axis] Hedging Relationship [Domain] Hedging Relationship [Domain] Cash Flow Hedging [Member] Cash Flow Hedging [Member] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Finite-lived intangible assets, schedule of amortization expense [Table] Finite-lived intangible assets, schedule of amortization expense [Table] Finite-lived intangible assets, schedule of amortization expense [Table] Cost of revenue Cost of Sales [Member] Operating Expense [Member] Operating Expense [Member] Finite-lived intangible assets, schedule of amortization expense [Line Items] Finite-lived intangible assets, schedule of amortization expense [Line Items] [Line Items] for Finite-lived intangible assets, schedule of amortization expense [Table] Remainder of 2020 Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year 2021 Finite-Lived Intangible Assets, Amortization Expense, Year Two 2022 Finite-Lived Intangible Assets, Amortization Expense, Year Three 2023 Finite-Lived Intangible Assets, Amortization Expense, Year Four 2024 Finite-Lived Intangible Assets, Amortization Expense, Year Five Thereafter Finite-Lived Intangible Assets, Amortization Expense, after Year Five Total Finite-lived intangible assets, future amortization total Finite-lived intangible assets, future amortization total Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Unusual Risks and Uncertainties [Table Text Block] Unusual or Infrequent Items, or Both, Disclosure [Text Block] Disclosure Goodwill Other Intangible Assets And Other Assets Additional Information [Abstract] Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information [Abstract] Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Business Acquisition [Axis] Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Business Acquisition [Line Items] Business Acquisition [Line Items] Amortization of Acquired Intangible Assets Amortization of Intangible Assets Industry Segment, Geographic Information and Significant Customers Segment Reporting Disclosure [Text Block] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Geographical [Axis] Geographical [Axis] Geographical [Domain] Geographical [Domain] UNITED STATES UNITED STATES EMEA [Member] EMEA [Member] All Other Regions [Member] All Other Regions [Member] All Other Regions [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Revenue from Contract with Customer, Excluding Assessed Tax Revenue from Contract with Customer, Excluding Assessed Tax Schedule of Goodwill [Table Text Block] Schedule of Goodwill [Table Text Block] Other Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Estimated Future Amortization Expense Related to Current Intangible Assets Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Statement of Cash Flows [Abstract] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net income to net cash provided by operating activities, net of the effects of acquisition: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Depreciation and amortization Depreciation, Depletion and Amortization Gain (Loss) on Disposition of Business Gain (Loss) on Disposition of Business Income (Loss) from Equity Method Investments Income (Loss) from Equity Method Investments Stock-based compensation Share-based Payment Arrangement, Noncash Expense Deferred income taxes, net Increase (Decrease) in Deferred Income Taxes Other Other Noncash Income (Expense) Changes in operating assets and liabilities — (use) source Increase (Decrease) in Operating Capital [Abstract] Accounts receivable Increase (Decrease) in Accounts Receivable Inventory Increase (Decrease) in Inventories Other current assets Increase (Decrease) in Other Operating Assets Accounts payable Increase (Decrease) in Accounts Payable Accrued expenses and other liabilities Increase (Decrease) in Other Accrued Liabilities Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Additions of property and equipment Payments to Acquire Property, Plant, and Equipment Change in other assets Payments for (Proceeds from) Other Investing Activities Cash paid for business acquisition, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Purchases of investments Payments to Acquire Available-for-sale Securities Proceeds from Sale of Other Assets, Investing Activities Proceeds from Sale of Other Assets, Investing Activities Sales and maturities of investments Proceeds from Sale and Maturity of Debt Securities, Available-for-sale Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Proceeds from employee stock plans Proceeds from Stock Plans Income tax withholding payment associated with restricted stock vesting Payment, Tax Withholding, Share-based Payment Arrangement Stock repurchases Payments for Repurchase of Common Stock Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash and Cash Equivalents Net (decrease) increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash and Cash Equivalents, Period Increase (Decrease) Cash and Cash Equivalents, Period Increase (Decrease) Cash and cash equivalents, at beginning of period Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents, at end of period Goodwill and Intangible Asset Impairment Goodwill and Intangible Asset Impairment Operating Lease Cost [Abstract] Operating Lease Cost [Abstract] Lease, Cost [Table Text Block] Lease, Cost [Table Text Block] Schedule of Leases, Supplemental Cash Flow [Table Text Block] Schedule of Leases, Supplemental Cash Flow [Table Text Block] Schedule of Leases, Supplemental Cash Flow [Table Text Block] Lessee, Operating Lease, Liability, Maturity [Table Text Block] Lessee, Operating Lease, Liability, Maturity [Table Text Block] Operating lease right-of-use asset Operating Lease, Right-of-Use Asset Components of Accrued Expenses Schedule of Accrued Liabilities [Table Text Block] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Fair Value Footnote [Abstract] Fair Value Footnote [Abstract] Fair Value Disclosures [Text Block] Fair Value Disclosures [Text Block] Convertible Debt [Table Text Block] Convertible Debt [Table Text Block] Operating Lease, Payments Operating Lease, Payments Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Not Designated as Hedging Instrument [Member] Not Designated as Hedging Instrument [Member] Designated as Hedging Instrument [Member] Designated as Hedging Instrument [Member] Balance Sheet Location [Axis] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Accrued Liabilities [Member] Accrued Liabilities [Member] Other Noncurrent Liabilities [Member] Other Noncurrent Liabilities [Member] Other Current Assets [Member] Other Current Assets [Member] Other Noncurrent Assets [Member] Other Noncurrent Assets [Member] Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net Derivative, Notional Amount Derivative, Notional Amount Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity Note Disclosure [Text Block] Derivative Instruments, Gain (Loss) [Table Text Block] Derivative Instruments, Gain (Loss) [Table Text Block] Accounts Payable, Current [Abstract] Accounts Payable, Current [Abstract] Accrued other compensation Accrued Employee Benefits Accrued warranty Standard Product Warranty Accrual, Current Accrued bonus Accrued Bonuses Accrued direct fulfillment costs Accrued Direct Fulfillment Costs Accrued direct fulfillment costs. Accrued sales and other indirect taxes payable Accrued Sales Tax Accrued Sales Tax Accrued federal and state income taxes Accrued Income Taxes Accrued other Other Accrued Liabilities, Current Accrued expenses Accrued Liabilities, Current Organization, Consolidation and Presentation of Financial Statements [Abstract] Description of Business Nature of Operations [Text Block] Income Tax Disclosure [Text Block] Income Tax Disclosure [Text Block] Disclosure Other Intangible Assets [Abstract] Disclosure Other Intangible Assets [Abstract] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Completed technology Patented Technology [Member] Trade Names Trade Names [Member] Customer-Related Intangible Assets [Member] Customer-Related Intangible Assets [Member] Distribution Rights [Member] Distribution Rights [Member] Noncompete Agreements [Member] Noncompete Agreements [Member] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets, Gross Finite-Lived Intangible Assets, Gross Intangible assets accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Intangible Assets, Net Finite-Lived Intangible Assets, Net ASSETS Assets [Abstract] Current assets: Assets, Current [Abstract] Cash and cash equivalents Short term investments Available-for-sale Securities, Current Accounts receivable, net Inventory Other current assets Other Assets, Current Total current assets Assets, Current Property and equipment, net Property, Plant and Equipment, Net Operating lease right-of-use assets Deferred tax assets Deferred Income Tax Assets, Net Intangible assets, net Other assets Other Assets, Noncurrent Total assets Assets LIABILITIES, REDEEMABLE CONVERTIBLE PREFERRED STOCK AND STOCKHOLDERS' EQUITY Liabilities and Equity [Abstract] Current liabilities: Liabilities, Current [Abstract] Accounts payable Accounts Payable, Current Accrued expenses Deferred revenue and customer advances Deferred Revenue Total current liabilities Liabilities, Current Operating lease liabilities Deferred tax liabilities Deferred Income Tax Liabilities, Net Other long-term liabilities Other Liabilities, Noncurrent Total long-term liabilities Liabilities, Noncurrent Total liabilities Liabilities Commitments and contingencies (Note 11) Commitments and Contingencies Preferred stock, 5,000 shares authorized and none outstanding Preferred Stock, Value, Issued Common stock, $0.01 par value, 100,000 shares authorized; 27,998 and 28,352 shares issued and outstanding, respectively Common Stock, Value, Issued Additional paid-in capital Additional Paid in Capital, Common Stock Retained earnings Retained Earnings (Accumulated Deficit) Accumulated other comprehensive income Accumulated Other Comprehensive Income (Loss), Net of Tax Total stockholders’ equity Total liabilities and stockholders’ equity Liabilities and Equity Returns reserve adjustment [Abstract] Returns reserve adjustment [Abstract] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] EX-101.PRE 9 irbt-20200627_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 irbt-202062710q_htm.xml IDEA: XBRL DOCUMENT 0001159167 2019-12-29 2020-06-27 0001159167 2020-03-29 2020-06-27 0001159167 2020-07-25 0001159167 2020-06-27 0001159167 2019-12-28 0001159167 2019-03-31 2019-06-29 0001159167 2018-12-30 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2020-03-29 2020-06-27 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-03-29 2020-06-27 0001159167 2020-03-28 0001159167 us-gaap:RetainedEarningsMember 2020-06-27 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-29 2020-06-27 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-03-28 0001159167 us-gaap:CommonStockMember 2020-06-27 0001159167 us-gaap:CommonStockMember 2020-03-29 2020-06-27 0001159167 us-gaap:CommonStockMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-27 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-06-27 0001159167 us-gaap:RetainedEarningsMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-28 0001159167 us-gaap:CommonStockMember 2018-12-30 2019-06-29 0001159167 us-gaap:CommonStockMember 2018-12-29 0001159167 us-gaap:RetainedEarningsMember 2018-12-30 2019-06-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-30 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-29 0001159167 2018-12-29 0001159167 us-gaap:RetainedEarningsMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-29 0001159167 us-gaap:CommonStockMember 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2019-06-29 0001159167 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 2019-06-29 0001159167 us-gaap:CommonStockMember 2019-03-31 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2019-03-31 2019-06-29 0001159167 us-gaap:RetainedEarningsMember 2019-03-30 0001159167 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-03-30 0001159167 us-gaap:CommonStockMember 2019-03-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-29 2020-06-27 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-28 0001159167 us-gaap:CommonStockMember 2019-12-29 2020-06-27 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-29 2020-06-27 0001159167 us-gaap:CommonStockMember 2019-12-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-28 0001159167 us-gaap:RetainedEarningsMember 2019-12-29 2020-06-27 0001159167 us-gaap:RetainedEarningsMember 2019-12-28 0001159167 2020-07-01 2020-07-01 0001159167 2020-04-24 0001159167 us-gaap:EMEAMember 2020-03-29 2020-06-27 0001159167 us-gaap:EMEAMember 2019-12-29 2020-06-27 0001159167 irbt:AllOtherRegionsMember 2019-03-31 2019-06-29 0001159167 country:US 2018-12-30 2019-06-29 0001159167 us-gaap:EMEAMember 2018-12-30 2019-06-29 0001159167 country:US 2019-03-31 2019-06-29 0001159167 irbt:AllOtherRegionsMember 2019-12-29 2020-06-27 0001159167 irbt:AllOtherRegionsMember 2018-12-30 2019-06-29 0001159167 irbt:AllOtherRegionsMember 2020-03-29 2020-06-27 0001159167 us-gaap:EMEAMember 2019-03-31 2019-06-29 0001159167 country:US 2019-12-29 2020-06-27 0001159167 country:US 2020-03-29 2020-06-27 0001159167 2018-12-30 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2020-06-27 0001159167 us-gaap:NoncompeteAgreementsMember 2019-12-28 0001159167 us-gaap:NoncompeteAgreementsMember 2020-06-27 0001159167 us-gaap:PatentedTechnologyMember 2020-06-27 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-06-27 0001159167 us-gaap:TradeNamesMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2019-12-28 0001159167 us-gaap:TradeNamesMember 2020-06-27 0001159167 us-gaap:PatentedTechnologyMember 2019-12-28 0001159167 us-gaap:CostOfSalesMember 2020-06-27 0001159167 us-gaap:OperatingExpenseMember 2020-06-27 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-12-29 2020-06-27 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-03-31 2019-06-29 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-12-30 2019-06-29 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2020-03-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2019-12-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2018-12-30 2019-06-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2020-03-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesMember 2019-03-31 2019-06-29 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-06-27 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-03-31 2019-06-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-12-30 2019-06-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2020-03-29 2020-06-27 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-12-29 2020-06-27 0001159167 us-gaap:NondesignatedMember 2020-06-27 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2020-06-27 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-27 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-27 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-27 0001159167 2019-12-29 2020-03-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-12-30 2019-06-29 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-03-29 2020-06-27 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-12-29 2020-06-27 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-03-31 2019-06-29 pure irbt:segment shares iso4217:USD shares iso4217:USD false --01-02 Q2 2020 0001159167 0.01 0.01 100000000 100000000 28352000 27998000 28352000 27998000 5000000 5000000 10-Q true 2020-06-27 false 001-36414 iROBOT CORPORATION DE 77-0259335 8 Crosby Drive Bedford MA 01730 781 430-3000 Common Stock, $0.01 par value IRBT NASDAQ Yes Yes Large Accelerated Filer false false false 28005989 230734000 239392000 11560000 17032000 128334000 146161000 133055000 157347000 92555000 34285000 596238000 594217000 78432000 75988000 45978000 47478000 39237000 41791000 119521000 118732000 10424000 12352000 30938000 30195000 920768000 920753000 95522000 116185000 73745000 81768000 3512000 4549000 172779000 202502000 52819000 54928000 1042000 912000 12066000 10342000 65927000 66182000 238706000 268684000 0 0 280000 284000 184436000 196455000 492802000 452321000 4544000 3009000 682062000 652069000 920768000 920753000 279883000 260172000 472418000 497833000 100686000 138891000 214981000 253929000 1185000 3111000 1470000 6188000 101871000 142002000 216451000 260117000 178012000 118170000 255967000 237716000 36557000 35650000 73316000 70919000 49062000 56409000 85656000 95245000 21856000 20592000 46429000 43499000 254000 269000 508000 540000 107729000 112920000 205909000 210203000 70283000 5250000 50058000 27513000 -384000 1533000 -403000 2813000 69899000 6783000 49655000 30326000 11283000 -424000 9174000 599000 58616000 7207000 40481000 29727000 2.10 0.26 1.44 1.06 2.07 0.25 1.42 1.03 27923000 28079000 28110000 27970000 28280000 28763000 28414000 28779000 58616000 7207000 40481000 29727000 2178000 1794000 1264000 -676000 -2634000 -1540000 3040000 3261000 1321000 267000 2789000 161000 37000 95000 20000 208000 56876000 7289000 42016000 32359000 27876000 279000 175790000 434186000 6284000 616539000 72000 1000 2755000 2756000 50000 0 0 0 5870000 5870000 -1740000 -1740000 21000 21000 58616000 58616000 27998000 280000 184436000 492802000 4544000 682062000 28352000 284000 196455000 452321000 3009000 652069000 112000 1000 3689000 3690000 243000 2000 -2000 0 11061000 11061000 -45000 0 -1816000 -1816000 1535000 1535000 42000 42000 664000 7000 24993000 25000000 40481000 40481000 27998000 280000 184436000 492802000 4544000 682062000 28038000 280000 175000000 389541000 -2198000 562623000 39000 0 2117000 2117000 47000 1000 -1000 0 7594000 7594000 -1000 0 -65000 -65000 82000 82000 18000 18000 7207000 7207000 28123000 281000 184663000 396748000 -2116000 579576000 27788000 278000 172771000 367021000 -4748000 535322000 116000 1000 4679000 4680000 278000 3000 -3000 0 14458000 14458000 -59000 -1000 -7276000 -7277000 2632000 2632000 34000 34000 29727000 29727000 28123000 281000 184663000 396748000 -2116000 579576000 40481000 29727000 17784000 17905000 11061000 14458000 -2579000 -535000 -3162000 -3106000 -17891000 -67808000 -24137000 27112000 57813000 14246000 -20576000 -52835000 -10549000 -18043000 28157000 21303000 18968000 14705000 2125000 4541000 0 2817000 7000000 5880000 -14093000 -16183000 3690000 4680000 1816000 7277000 25000000 0 -23126000 -2597000 404000 -101000 -8658000 2422000 239392000 130373000 230734000 132795000 Description of BusinessiRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more both inside and outside of the home. iRobot's consumer robots help people find smarter ways to clean and accomplish more in their daily lives. The Company's portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. The Company’s revenue is primarily generated from product sales through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide. Summary of Significant Accounting Policies<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Basis of Presentation</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, filed with the Securities and Exchange Commission on </span><span style="font-family:inherit;font-size:10pt;">February 13, 2020</span><span style="font-family:inherit;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Adopted Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Issued Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Impact of COVID-19</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. At the same time, mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities.</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company observed increased demand during the second quarter of 2020 as maintaining a clean home has taken on greater prominence during the pandemic with sell-through momentum building globally over the past several months. However, the Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are still highly uncertain. The Company will continue to actively monitor the situation and may take further actions that alter the business operations as may be required by federal, state, local or foreign authorities, or that the Company determines are in the best interests of its employees, customers, and stockholders.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of June 27, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Credit Losses</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of </span><span style="font-family:inherit;font-size:10pt;"><span>$0.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$4.5 million</span></span><span style="font-family:inherit;font-size:10pt;"> during the three and six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;">, respectively. As of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had an allowance for credit losses of </span><span style="font-family:inherit;font-size:10pt;"><span>$5.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$1.2 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's exposure to credit losses may increase if its customers are adversely affected by changes in economic pressures or uncertainty associated with local or global economic recessions or other customer-specific factors. It is possible that there could be a material adverse impact to the carrying amount of accounts receivables if the liquidity of retailers, resellers and distributors continues to be impacted by disruptions related to the COVID-19 pandemic.</span></div><div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Tariff Refunds</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On April 24, 2020, the Company was granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles the Company to a refund of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$57.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> in tariffs paid since the date the Section 301 List 3 tariffs were imposed. The Section 301 tariffs from which these products are now excluded were implemented at 10% beginning in September 2018 and increased to 25% in June 2019. While tariff refund claims are subject to the approval of U.S. Customs, the Company currently expects to recover the entire balance of </span><span style="font-family:inherit;font-size:10pt;"><span>$57.2 million</span></span><span style="font-family:inherit;font-size:10pt;">. During the three months ended June 27, 2020, the Company recognized approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$48.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> of operating income (reduction to cost of product revenue) related to tariff refunds while </span><span style="font-family:inherit;font-size:10pt;"><span>$8.5 million</span></span><span style="font-family:inherit;font-size:10pt;"> relates to product on hand and has been recognized as reductions to inventory. All tariff refunds are expected to be received within the next twelve months and are recorded in other current assets on the consolidated balance sheet. As of June 27, 2020, the outstanding tariff refund was approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$56.7 million</span></span><span style="font-family:inherit;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Other Assets</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$21.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$21.0 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received </span><span style="font-family:inherit;font-size:10pt;"><span>0.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of Teledoc and will record a gain of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$38.6 million</span></span><span style="font-family:inherit;font-size:10pt;"> to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Net Income Per Share</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock</span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">awards as determined under the treasury stock method. </span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts):</span><span style="font-family:inherit;font-size:9pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:49%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>58,616</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>40,481</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>29,727</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,923</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,079</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,110</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,970</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Dilutive effect of employee stock awards</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>357</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>684</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>304</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>809</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Diluted weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,280</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,763</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,414</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,779</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income per share - Basic</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.10</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>0.26</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.44</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.06</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income per share - Diluted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.07</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>0.25</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.42</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.03</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><span style="font-family:inherit;font-size:10pt;">Employee stock awards representing approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the three months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, and approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.3 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>0.1 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span>, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive. <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Basis of Presentation</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, filed with the Securities and Exchange Commission on </span><span style="font-family:inherit;font-size:10pt;">February 13, 2020</span><span style="font-family:inherit;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Adopted Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Issued Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Impact of COVID-19</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. At the same time, mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities.</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company observed increased demand during the second quarter of 2020 as maintaining a clean home has taken on greater prominence during the pandemic with sell-through momentum building globally over the past several months. However, the Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are still highly uncertain. The Company will continue to actively monitor the situation and may take further actions that alter the business operations as may be required by federal, state, local or foreign authorities, or that the Company determines are in the best interests of its employees, customers, and stockholders.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of June 27, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Credit Losses</span></div>The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. 0.0 4500000 5700000 1200000 57200000 57200000 48700000 8500000 56700000 <div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Other Assets</span></div>The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. 21700000 21000000.0 On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received <span style="font-family:inherit;font-size:10pt;"><span>0.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of Teledoc and will record a gain of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$38.6 million</span></span><span style="font-family:inherit;font-size:10pt;"> to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.</span> 200000 38600000 <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Net Income Per Share</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock</span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">awards as determined under the treasury stock method. </span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts):</span><span style="font-family:inherit;font-size:9pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:49%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>58,616</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>40,481</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>29,727</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,923</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,079</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,110</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,970</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Dilutive effect of employee stock awards</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>357</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>684</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>304</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>809</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Diluted weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,280</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,763</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,414</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,779</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income per share - Basic</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.10</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>0.26</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.44</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.06</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income per share - Diluted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.07</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>0.25</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.42</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.03</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><span style="font-family:inherit;font-size:10pt;">Employee stock awards representing approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the three months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, and approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.3 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>0.1 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span>, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive. 58616000 7207000 40481000 29727000 27923000 28079000 28110000 27970000 357000 684000 304000 809000 28280000 28763000 28414000 28779000 2.10 0.26 1.44 1.06 2.07 0.25 1.42 1.03 200000 300000 100000 Revenue Recognition<div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred. </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For certain consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services").</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> is </span><span style="font-family:inherit;font-size:10pt;"><span>$5.3 million</span></span><span style="font-family:inherit;font-size:10pt;">. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s products generally carry a one-year or two-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."</span></div><div style="line-height:120%;padding-bottom:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. The Company records an allowance for product returns based on specific terms and conditions included in the customer agreements or based on historical experience and the Company's expectation of future returns. In addition, the Company may provide other credits or incentives which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and forecasted inventory level in the channels. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company has reserves for product returns of </span><span style="font-family:inherit;font-size:10pt;"><span>$49.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> and other credits and incentives of </span><span style="font-family:inherit;font-size:10pt;"><span>$76.6 million</span></span><span style="font-family:inherit;font-size:10pt;">. As of </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had reserves for product returns of </span><span style="font-family:inherit;font-size:10pt;"><span>$55.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> and other credits and incentives of </span><span style="font-family:inherit;font-size:10pt;"><span>$134.0 million</span></span><span style="font-family:inherit;font-size:10pt;">. Revenue recognized during the three and six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> related to performance obligations satisfied in a prior period was not material. </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about disaggregated revenue by geographical region (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:33%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">United States</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>140,146</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>124,472</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>222,113</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>238,537</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">EMEA</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,048</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>82,893</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>137,707</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>157,462</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>68,689</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>52,807</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>112,598</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>101,834</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total revenue</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>279,883</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>260,172</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>472,418</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>497,833</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Contract Balances </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:67%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accounts receivable, net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>128,334</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>146,161</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Contract liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,578</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,991</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities include customer deposits which relate to prepayments received from customers in advance of product shipments as well as deferred revenue associated with the Cloud Services. The </span></div><span style="font-family:inherit;font-size:10pt;">change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended June 27, 2020 and June 29, 2019, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$3.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$5.3 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. During the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$4.3 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$5.8 million</span></span>, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. 5300000 49200000 76600000 55200000 134000000.0 <div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about disaggregated revenue by geographical region (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:33%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">United States</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>140,146</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>124,472</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>222,113</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>238,537</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">EMEA</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,048</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>82,893</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>137,707</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>157,462</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>68,689</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>52,807</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>112,598</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>101,834</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total revenue</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>279,883</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>260,172</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>472,418</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>497,833</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 140146000 124472000 222113000 238537000 71048000 82893000 137707000 157462000 68689000 52807000 112598000 101834000 279883000 260172000 472418000 497833000 <div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Contract Balances </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:67%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accounts receivable, net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>128,334</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>146,161</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Contract liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,578</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,991</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities include customer deposits which relate to prepayments received from customers in advance of product shipments as well as deferred revenue associated with the Cloud Services. The </span></div><span style="font-family:inherit;font-size:10pt;">change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended June 27, 2020 and June 29, 2019, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$3.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$5.3 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. During the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$4.3 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$5.8 million</span></span>, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. 128334000 146161000 6578000 6991000 3800000 5300000 4300000 5800000 Leases<div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and marketing and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet. Lease expense is recognized on a straight-line basis over the lease term. </span></div><div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for new leases post adoption. At </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company's weighted average discount rate was </span><span style="font-family:inherit;font-size:10pt;"><span>3.58%</span></span><span style="font-family:inherit;font-size:10pt;">, while the weighted average remaining lease term was </span><span style="font-family:inherit;font-size:10pt;"><span>8.75</span></span><span style="font-family:inherit;font-size:10pt;"> years.</span></div><div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The components of lease expense were as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:41%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating lease cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,289</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,969</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,645</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,939</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Variable lease cost</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>882</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,316</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,004</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,136</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total lease cost</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,171</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,285</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,649</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,075</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:41%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Cash paid for amounts included in the measurement of lease liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating cash flows from operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,710</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,865</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,737</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,881</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Right-of-use assets obtained in exchange for lease obligations:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,566</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,566</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>52,767</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Maturities of operating lease liabilities were as follows as of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating leases</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,308</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,529</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,245</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,345</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2024</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,508</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>34,963</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>69,898</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: imputed interest</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,405</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Present value of future minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>59,493</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: current portion of operating lease liabilities (Note 7)</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,674</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term lease liabilities</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>52,819</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Financial Statement Impact of Adopting ASC 842</span></div><div style="line-height:120%;padding-top:8px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$52.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$67.3 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The standard did not materially impact the Company's consolidated income or cash flows.</span></div> 0.0358 P8Y9M <div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The components of lease expense were as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:41%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating lease cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,289</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,969</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,645</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,939</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Variable lease cost</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>882</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,316</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,004</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,136</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total lease cost</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,171</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,285</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,649</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,075</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 2289000 1969000 4645000 3939000 882000 1316000 2004000 2136000 3171000 3285000 6649000 6075000 <div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:41%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Cash paid for amounts included in the measurement of lease liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating cash flows from operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,710</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,865</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,737</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,881</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Right-of-use assets obtained in exchange for lease obligations:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,566</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,566</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>52,767</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 2710000 2865000 4737000 4881000 1566000 0 1566000 52767000 <div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Maturities of operating lease liabilities were as follows as of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating leases</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,308</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,529</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,245</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,345</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2024</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,508</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>34,963</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>69,898</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: imputed interest</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,405</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Present value of future minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>59,493</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: current portion of operating lease liabilities (Note 7)</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,674</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term lease liabilities</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>52,819</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 4308000 8529000 8245000 7345000 6508000 34963000 69898000 10405000 59493000 6674000 52819000 52800000 67300000 Inventory<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Inventory consists of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>198</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,825</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>132,857</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>154,522</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>133,055</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>157,347</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> Inventory<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Inventory consists of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>198</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,825</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>132,857</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>154,522</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>133,055</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>157,347</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 198000 2825000 132857000 154522000 133055000 157347000 Goodwill and Other Intangible Assets<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table summarizes the activity in the carrying amount of goodwill for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:84%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>118,732</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Effect of foreign currency translation</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>789</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>119,521</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:33%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Completed technology</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>26,075</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,025</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>24,605</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,495</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Tradename</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,165</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,787</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,378</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,095</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,302</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,793</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Reacquired distribution rights</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,972</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,972</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Non-competition agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>258</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>237</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>256</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>192</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>64</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,595</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>61,171</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,424</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,231</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>58,879</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,352</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Amortization expense related to acquired intangible assets was </span><span style="font-family:inherit;font-size:10pt;"><span>$1.4</span></span><span style="font-family:inherit;font-size:10pt;"> million and </span><span style="font-family:inherit;font-size:10pt;"><span>$3.4</span></span><span style="font-family:inherit;font-size:10pt;"> million for the three months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, respectively. Amortization expense related to acquired intangible assets was </span><span style="font-family:inherit;font-size:10pt;"><span>$2.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$6.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost of Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating Expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>450</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>493</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>943</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>900</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,686</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>675</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,461</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2024</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,762</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,762</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,025</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,399</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,424</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table summarizes the activity in the carrying amount of goodwill for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:84%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>118,732</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Effect of foreign currency translation</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>789</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>119,521</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 118732000 789000 119521000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:33%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Completed technology</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>26,075</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,025</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>24,605</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,495</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Tradename</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,165</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,787</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,378</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,095</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,302</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,793</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Reacquired distribution rights</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,972</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,972</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Non-competition agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>258</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>237</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>256</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>192</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>64</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,595</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>61,171</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,424</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,231</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>58,879</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,352</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 28100000 26075000 2025000 28100000 24605000 3495000 100000 100000 0 100000 100000 0 11165000 2787000 8378000 11095000 2302000 8793000 31972000 31972000 0 31680000 31680000 0 258000 237000 21000 256000 192000 64000 71595000 61171000 10424000 71231000 58879000 12352000 1400000 3400000 2000000.0 6700000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost of Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating Expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>450</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>493</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>943</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>900</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,686</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>675</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,461</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2024</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>786</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,762</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,762</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,025</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,399</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,424</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 450000 493000 943000 900000 786000 1686000 675000 786000 1461000 0 786000 786000 0 786000 786000 0 4762000 4762000 2025000 8399000 10424000 Accrued Expenses<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses consisted of the following at (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other compensation</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,907</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,331</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued warranty</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,769</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,856</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued federal and state income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,265</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,378</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued bonus</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,821</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,541</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued sales and other indirect taxes payable</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,134</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,440</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Current portion of operating lease liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,674</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,843</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued direct fulfillment costs</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,194</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,582</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,981</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,797</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>73,745</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>81,768</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other compensation</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,907</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,331</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued warranty</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,769</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,856</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued federal and state income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,265</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,378</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued bonus</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,821</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,541</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued sales and other indirect taxes payable</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,134</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,440</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Current portion of operating lease liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,674</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,843</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued direct fulfillment costs</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,194</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,582</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,981</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,797</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>73,745</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>81,768</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 14907000 13331000 13769000 13856000 10265000 3378000 7821000 12541000 7134000 12440000 6674000 6843000 4194000 10582000 8981000 8797000 73745000 81768000 Derivative Instruments<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding cash flow hedges with a total notional value of </span><span style="font-family:inherit;font-size:10pt;"><span>$411.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$424.6 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of twelve months or less. At </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding economic hedges with a total notional value of </span><span style="font-family:inherit;font-size:10pt;"><span>$61.1 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$58.4 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The fair values of derivative instruments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:18px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="10"/></tr><tr><td style="width:43%;"/><td style="width:23%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives not designated as hedging instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,473</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,855</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>679</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>297</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives designated as cash flow hedges:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,737</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,347</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,691</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,112</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>47</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term liabilities</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>600</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>414</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:27%;"/><td style="width:25%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Loss recognized in income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other (expense) income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(701</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(1,085</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(1,247</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(652</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(3,512</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(2,054</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>4,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>4,350</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:88px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div></td></tr></table><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:48%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Revenue</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>279,883</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>260,172</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>472,418</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>497,833</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,761</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>359</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,718</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>214</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 411200000 424600000 61100000 58400000 <div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The fair values of derivative instruments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:18px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="10"/></tr><tr><td style="width:43%;"/><td style="width:23%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives not designated as hedging instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,473</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,855</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>679</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>297</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives designated as cash flow hedges:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,737</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,347</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,691</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,112</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>47</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term liabilities</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>600</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>414</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 1473000 1855000 679000 297000 5737000 4347000 8691000 9112000 27000 47000 600000 414000 <div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:27%;"/><td style="width:25%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Loss recognized in income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other (expense) income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(701</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(1,085</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(1,247</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(652</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(3,512</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(2,054</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>4,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>4,350</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:88px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div></td></tr></table><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:48%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Revenue</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>279,883</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>260,172</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>472,418</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>497,833</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,761</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>359</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,718</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>214</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:27%;"/><td style="width:25%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Loss recognized in income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other (expense) income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(701</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(1,085</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(1,247</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(652</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> -701000 -1085000 -1247000 -652000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(3,512</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(2,054</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>4,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>4,350</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div> -3512000 -2054000 4053000 4350000 279883000 260172000 472418000 497833000 1761000 359000 3718000 214000 Fair Value Measurements<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:59%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value Measurements as of<br/>June 27, 2020</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"><br/></span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 1</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 2 (1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 3 (2)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Money market funds</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>125,072</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Corporate bonds, $9,989 at cost (3)</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Convertible notes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,500</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>15,901</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total assets measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>125,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>25,961</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,500</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,306</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total liabilities measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,306</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:59%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value Measurements as of<br/>December 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 1</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 2 (1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 3 (2)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Corporate and government bonds, $17,016 at cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>17,032</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>15,314</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total assets measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>32,346</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>758</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total liabilities measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>758</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(2)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.</span></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:4px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(3)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">As of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company’s investments had maturity dates ranging from September 2020 to March 2021.</span></div></td></tr></table><div style="line-height:120%;padding-top:4px;text-indent:48px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">    </span></div><div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides a summary of changes in fair value of our Level 3 investment for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:95.3125%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Investment in convertible notes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,500</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,500</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 125072000 0 0 0 10060000 0 0 0 1500000 0 15901000 0 125072000 25961000 1500000 0 1306000 0 0 1306000 0 0 17032000 0 0 15314000 0 0 32346000 0 0 758000 0 0 758000 0 <div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides a summary of changes in fair value of our Level 3 investment for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:95.3125%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Investment in convertible notes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,500</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of June 27, 2020</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,500</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 0 1500000 1500000 Stockholders' Equity<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Share Repurchase Activity</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases from time to time until September 2021. On March 10, 2020, the Company entered into a Rule 10b5-1 plan to repurchase </span><span style="font-family:inherit;font-size:10pt;"><span>$25.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020. The Company repurchased </span><span style="font-family:inherit;font-size:10pt;"><span>663,602</span></span><span style="font-family:inherit;font-size:10pt;"> shares of its common stock at an average price of $37.65, totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$25.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> in March 2020.</span></div> 25000000.0 663602 25000000.0 Commitments and Contingencies<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;font-style:italic;font-weight:bold;">Legal Proceedings</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;">From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations. For the following litigation matters, a liability is not probable or the amount cannot be reasonably estimated and therefore accruals have not been made.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;">On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The case has been transferred to the U.S. District Court for the District of Massachusetts. A similar case captioned Campbell v. iRobot Corporation, et al., No. 1:19-cv-12483 was also filed in the U.S. District Court for the Southern District of New York and subsequently transferred to the U.S. District Court for the District of Massachusetts. On January 24, 2020, the Court consolidated the Miramar and Campbell cases (the consolidated cases together, the "Securities Class Action") and appointed a lead plaintiff and lead plaintiff's Counsel. On April 3, 2020, the plaintiff filed an amended complaint alleging violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the impact of competition and Section 301 tariffs on the Company’s financial performance, and the Company has filed a motion to dismiss the case.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;">On December 20, 2019, purported Company shareholders David Katz and Thomas Wightman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for Southern District of New York against the Company and certain of its directors and officers, captioned David Katz and Thomas Wightman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:19-cv-11692. The complaint alleges breaches of fiduciary duties, unjust enrichment, violations of Sections 10(b) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. This case has been transferred to the U.S. District Court for the District of Massachusetts. Similarly, additional derivative litigations -- namely: Robert Truman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10034; Alexa Ruhfass, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10133; and William Tasco, derivatively on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10253 - were filed in the U.S. District Court for the District of Massachusetts. All of these cases have been consolidated in a case captioned as In re iRobot Corporation Derivative litigation, No. 1:20-cv-10034, and have been stayed pending a ruling on the motion to dismiss in the Securities Class Action.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;font-style:italic;font-weight:bold;">Outstanding Purchase Orders</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;">At </span><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;color:#2c2c2c;">, the Com</span><span style="font-family:inherit;font-size:10pt;">pany had outstanding purchase orders aggregating approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$337.5 million</span></span><span style="font-family:inherit;font-size:10pt;">. The purchase orders, the majority of which are with the Company's contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. In circumstances where the Company has determined that it has financial exposure associated with any of these commitments, the Company records a liability in the period in which that exposure is identified. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Guarantees and Indemnification Obligations</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Warranty</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Activity related to the warranty accrual was as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:39%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at beginning of period</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,628</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,856</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,964</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Provision</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,396</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,682</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,870</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,333</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Warranty usage</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(3,625</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(2,340</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(7,957</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(5,327</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at end of period</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,769</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,970</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,769</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,970</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 337500000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Activity related to the warranty accrual was as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:39%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Six Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 27, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">June 29, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at beginning of period</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,628</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,856</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,964</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Provision</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,396</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,682</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,870</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,333</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Warranty usage</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(3,625</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(2,340</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(7,957</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(5,327</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at end of period</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,769</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,970</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,769</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,970</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 13998000 11628000 13856000 11964000 3396000 2682000 7870000 5333000 3625000 2340000 7957000 5327000 13769000 11970000 13769000 11970000 Income Taxes<div style="line-height:120%;padding-bottom:12px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s effective income tax rate for the three months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, was </span><span style="font-family:inherit;font-size:10pt;"><span>16.1%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>(6.3)%</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to stock-based compensation. During the three months ended June 29, 2019, the Company’s effective income tax rate included the recognition of a discrete tax benefit upon the effective settlement of a foreign tax audit.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's effective income tax rate of </span><span style="font-family:inherit;font-size:10pt;"><span>16.1%</span></span><span style="font-family:inherit;font-size:10pt;"> for the three months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the quarter. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s effective income tax rate for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, was </span><span style="font-family:inherit;font-size:10pt;"><span>18.5%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>2.0%</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The increase in the effective income tax rate was primarily due to the recognition of tax expense associated with stock-based compensation compared to a tax benefit for the prior period.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's effective income tax rate of </span><span style="font-family:inherit;font-size:10pt;"><span>18.5%</span></span><span style="font-family:inherit;font-size:10pt;"> for the six months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the period. The impact of these benefits was offset by discrete tax expense associated with stock-based compensation. </span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. The Company continues to evaluate the impact of the CARES Act, but at present does not expect the CARES Act to result in any material income tax benefit.</span></div> 0.161 -0.063 0.161 0.185 0.020 0.185 Industry Segment, Geographic Information and Significant Customers<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates as </span><span style="font-family:inherit;font-size:10pt;"><span>one</span></span><span style="font-family:inherit;font-size:10pt;"> operating segment. The Company's consumer robots products are offered to consumers through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Significant Customers</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">For the three months ended </span><span style="font-family:inherit;font-size:10pt;">June 27, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">June 29, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company generated </span><span style="font-family:inherit;font-size:10pt;"><span>35.1%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>28.0%</span></span><span style="font-family:inherit;font-size:10pt;"> of total revenue, respectively, from one of its retailers (Amazon). </span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">For the six months ended June 27, 2020 and June 29, 2019, the Company generated </span><span style="font-family:inherit;font-size:10pt;"><span>26.2%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>22.3%</span></span><span style="font-family:inherit;font-size:10pt;"> of total revenue, respectively, from one of its retailers (Amazon).</span></div> <span style="font-family:inherit;font-size:10pt;">The Company operates as </span><span style="font-family:inherit;font-size:10pt;"><span>one</span></span> operating segment. 1 0.351 0.280 0.262 0.223 Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities. (1)The amount represents the change in fair value of derivative contracts due to changes in spot rates. As of June 27, 2020, the Company’s investments had maturity dates ranging from September 2020 to March 2021. XML 11 R1.htm IDEA: XBRL DOCUMENT v3.20.2
Document and Entity Information - shares
6 Months Ended
Jun. 27, 2020
Jul. 25, 2020
Entity Information [Line Items]    
Document Type 10-Q  
Document Period End Date Jun. 27, 2020  
Document Quarterly Report true  
Document Transition Report false  
Entity Central Index Key 0001159167  
Entity File Number 001-36414  
Entity Registrant Name iROBOT CORPORATION  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 77-0259335  
Amendment Flag false  
Entity Address, Address Line One 8 Crosby Drive  
Entity Address, City or Town Bedford  
Entity Address, State or Province MA  
Entity Address, Postal Zip Code 01730  
City Area Code 781  
Local Phone Number 430-3000  
Title of 12(b) Security Common Stock, $0.01 par value  
Trading Symbol IRBT  
Security Exchange Name NASDAQ  
Document Fiscal Year Focus 2020  
Document Fiscal Period Focus Q2  
Current Fiscal Year End Date --01-02  
Entity Shell Company false  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Common Stock, Shares Outstanding   28,005,989
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Jun. 27, 2020
Dec. 28, 2019
Current assets:    
Cash and cash equivalents $ 230,734 $ 239,392
Short term investments 11,560 17,032
Accounts receivable, net 128,334 146,161
Inventory 133,055 157,347
Other current assets 92,555 34,285
Total current assets 596,238 594,217
Property and equipment, net 78,432 75,988
Operating lease right-of-use assets 45,978 47,478
Deferred tax assets 39,237 41,791
Goodwill 119,521 118,732
Intangible assets, net 10,424 12,352
Other assets 30,938 30,195
Total assets 920,768 920,753
Current liabilities:    
Accounts payable 95,522 116,185
Accrued expenses 73,745 81,768
Deferred revenue and customer advances 3,512 4,549
Total current liabilities 172,779 202,502
Operating lease liabilities 52,819 54,928
Deferred tax liabilities 1,042 912
Other long-term liabilities 12,066 10,342
Total long-term liabilities 65,927 66,182
Total liabilities 238,706 268,684
Commitments and contingencies (Note 11)
Preferred stock, 5,000 shares authorized and none outstanding 0 0
Common stock, $0.01 par value, 100,000 shares authorized; 27,998 and 28,352 shares issued and outstanding, respectively 280 284
Additional paid-in capital 184,436 196,455
Retained earnings 492,802 452,321
Accumulated other comprehensive income 4,544 3,009
Total stockholders’ equity 682,062 652,069
Total liabilities and stockholders’ equity $ 920,768 $ 920,753
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Balance Sheets (Unaudited) (Parenthetical) - $ / shares
Jun. 27, 2020
Dec. 28, 2019
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares outstanding
Common stock, par value $ 0.01 $ 0.01
Common stock, shares authorized 100,000,000 100,000,000
Common stock, shares issued 27,998,000 28,352,000
Common stock, shares outstanding 27,998,000 28,352,000
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Income Statement - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Revenue $ 279,883 $ 260,172 $ 472,418 $ 497,833
Cost of product revenue 100,686 138,891 214,981 253,929
Amortization of acquired intangible assets 1,185 3,111 1,470 6,188
Total cost of revenue 101,871 142,002 216,451 260,117
Gross profit 178,012 118,170 255,967 237,716
Research and development 36,557 35,650 73,316 70,919
Selling and marketing 49,062 56,409 85,656 95,245
General and administrative 21,856 20,592 46,429 43,499
Amortization of acquired intangible assets 254 269 508 540
Total operating expenses 107,729 112,920 205,909 210,203
Operating income 70,283 5,250 50,058 27,513
Other (expense) income, net (384) 1,533 (403) 2,813
Income before income taxes 69,899 6,783 49,655 30,326
Income tax expense (benefit) 11,283 (424) 9,174 599
Net income $ 58,616 $ 7,207 $ 40,481 $ 29,727
Basic $ 2.10 $ 0.26 $ 1.44 $ 1.06
Diluted $ 2.07 $ 0.25 $ 1.42 $ 1.03
Basic 27,923 28,079 28,110 27,970
Diluted 28,280 28,763 28,414 28,779
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Net income $ 58,616 $ 7,207 $ 40,481 $ 29,727
Other comprehensive income (loss):        
Net foreign currency translation adjustments 2,178 1,794 1,264 (676)
Net unrealized (losses) gains on cash flow hedges, net of tax (2,634) (1,540) 3,040 3,261
Net (gains) losses on cash flow hedge reclassified into earnings, net of tax (1,321) (267) (2,789) (161)
Net unrealized gains on marketable securities, net of tax 37 95 20 208
Total comprehensive income $ 56,876 $ 7,289 $ 42,016 $ 32,359
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statement of Shareholders' Equity Statement - USD ($)
$ in Thousands
Total
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Beginning Balance, Shares   27,788,000      
Beginning balance $ 535,322 $ 278 $ 172,771 $ 367,021 $ (4,748)
Issuance of common stock under employee stock plans (in shares)   116,000      
Stock Issued During Period, Value, Stock Options Exercised 4,680 $ 1 4,679    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   278,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 3 (3)    
APIC, Share-based Payment Arrangement, Increase for Cost Recognition 14,458   14,458    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (59,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (7,277) $ (1) (7,276)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 2,632   2,632    
Adjustments to Additional Paid in Capital Directors Deferred Compensation 34   34    
Net income 29,727     29,727  
Beginning Balance, Shares   28,038,000      
Beginning balance $ 562,623 $ 280 175,000 389,541 (2,198)
Issuance of common stock under employee stock plans (in shares) 2,117,000 39,000      
Stock Issued During Period, Value, Stock Options Exercised   $ 0 2,117    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   47,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures $ 0 $ 1 (1)    
APIC, Share-based Payment Arrangement, Increase for Cost Recognition 7,594   7,594    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (1,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (65) $ 0 (65)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 82        
Adjustments to Additional Paid in Capital Directors Deferred Compensation 18   18    
Net income 7,207     7,207  
Beginning Balance, Shares   28,123,000      
Beginning balance $ 579,576 $ 281 184,663 396,748 (2,116)
Beginning Balance, Shares 28,352,000 28,352,000      
Beginning balance $ 652,069 $ 284 196,455 452,321 3,009
Stock Repurchased and Retired During Period, Shares (663,602)        
Stock Repurchased and Retired During Period, Value $ (25,000)        
Issuance of common stock under employee stock plans (in shares)   112,000      
Stock Issued During Period, Value, Stock Options Exercised 3,690 $ 1 3,689    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   243,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 2 (2)    
APIC, Share-based Payment Arrangement, Increase for Cost Recognition 11,061   11,061    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (45,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (1,816) $ 0 (1,816)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 1,535       1,535
Adjustments to Additional Paid in Capital Directors Deferred Compensation 42   42    
Net income $ 40,481     40,481  
Stock Repurchased and Retired During Period, Shares (664,000)        
Stock Repurchased and Retired During Period, Value $ (25,000) $ (7) (24,993)    
Beginning Balance, Shares   27,876,000      
Beginning balance 616,539 $ 279 175,790 434,186 6,284
Issuance of common stock under employee stock plans (in shares)   72,000      
Stock Issued During Period, Value, Stock Options Exercised 2,756 $ 1 2,755    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   50,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 0 0    
APIC, Share-based Payment Arrangement, Increase for Cost Recognition 5,870   5,870    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent (1,740)       (1,740)
Adjustments to Additional Paid in Capital Directors Deferred Compensation 21   21    
Net income $ 58,616     58,616  
Beginning Balance, Shares 27,998,000 27,998,000      
Beginning balance $ 682,062 $ 280 $ 184,436 $ 492,802 $ 4,544
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.20.2
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Cash flows from operating activities:    
Net income $ 40,481 $ 29,727
Adjustments to reconcile net income to net cash provided by operating activities, net of the effects of acquisition:    
Depreciation and amortization 17,784 17,905
Stock-based compensation 11,061 14,458
Deferred income taxes, net 2,579 535
Other 3,162 3,106
Changes in operating assets and liabilities — (use) source    
Accounts receivable 17,891 67,808
Inventory 24,137 (27,112)
Other current assets (57,813) (14,246)
Accounts payable (20,576) (52,835)
Accrued expenses and other liabilities (10,549) (18,043)
Net cash provided by operating activities 28,157 21,303
Cash flows from investing activities:    
Additions of property and equipment (18,968) (14,705)
Change in other assets (2,125) (4,541)
Cash paid for business acquisition, net of cash acquired 0 (2,817)
Sales and maturities of investments 7,000 5,880
Net cash used in investing activities (14,093) (16,183)
Cash flows from financing activities:    
Proceeds from employee stock plans 3,690 4,680
Income tax withholding payment associated with restricted stock vesting (1,816) (7,277)
Stock repurchases 25,000 0
Net cash used in financing activities (23,126) (2,597)
Effect of exchange rate changes on cash and cash equivalents 404 (101)
Net (decrease) increase in cash and cash equivalents (8,658) 2,422
Cash and cash equivalents, at beginning of period 239,392 130,373
Cash and cash equivalents, at end of period $ 230,734 $ 132,795
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.20.2
Description of Business
6 Months Ended
Jun. 27, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of Business Description of BusinessiRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more both inside and outside of the home. iRobot's consumer robots help people find smarter ways to clean and accomplish more in their daily lives. The Company's portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. The Company’s revenue is primarily generated from product sales through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 27, 2020
Accounting Policies [Abstract]    
Summary of Significant Accounting Policies   Summary of Significant Accounting Policies
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 28, 2019, filed with the Securities and Exchange Commission on February 13, 2020.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Recently Adopted Accounting Standards
In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements.
Recently Issued Accounting Standards
In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.
Impact of COVID-19
The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. At the same time, mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities.
The Company observed increased demand during the second quarter of 2020 as maintaining a clean home has taken on greater prominence during the pandemic with sell-through momentum building globally over the past several months. However, the Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are still highly uncertain. The Company will continue to actively monitor the situation and may take further actions that alter the business operations as may be required by federal, state, local or foreign authorities, or that the Company determines are in the best interests of its employees, customers, and stockholders.
In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of June 27, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Credit Losses
The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of $0.0 million and $4.5 million during the three and six months ended June 27, 2020, respectively. As of June 27, 2020 and December 28, 2019, the Company had an allowance for credit losses of $5.7 million and $1.2 million, respectively.
The Company's exposure to credit losses may increase if its customers are adversely affected by changes in economic pressures or uncertainty associated with local or global economic recessions or other customer-specific factors. It is possible that there could be a material adverse impact to the carrying amount of accounts receivables if the liquidity of retailers, resellers and distributors continues to be impacted by disruptions related to the COVID-19 pandemic.
Tariff Refunds
On April 24, 2020, the Company was granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles the Company to a refund of approximately $57.2 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. The Section 301 tariffs from which these products are now excluded were implemented at 10% beginning in September 2018 and increased to 25% in June 2019. While tariff refund claims are subject to the approval of U.S. Customs, the Company currently expects to recover the entire balance of $57.2 million. During the three months ended June 27, 2020, the Company recognized approximately $48.7 million of operating income (reduction to cost of product revenue) related to tariff refunds while $8.5 million relates to product on hand and has been recognized as reductions to inventory. All tariff refunds are expected to be received within the next twelve months and are recorded in other current assets on the consolidated balance sheet. As of June 27, 2020, the outstanding tariff refund was approximately $56.7 million.
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At June 27, 2020 and December 28, 2019, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $21.7 million and $21.0 million, respectively. On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received 0.2 million shares of Teledoc and will record a gain of approximately $38.6 million to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.
Net Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Net income
$
58,616

 
$
7,207

 
$
40,481

 
$
29,727

Basic weighted-average common shares outstanding
27,923

 
28,079

 
28,110

 
27,970

Dilutive effect of employee stock awards
357

 
684

 
304

 
809

Diluted weighted-average common shares outstanding
28,280

 
28,763

 
28,414

 
28,779

Net income per share - Basic
$
2.10

 
$
0.26

 
$
1.44

 
$
1.06

Net income per share - Diluted
$
2.07

 
$
0.25

 
$
1.42

 
$
1.03

Employee stock awards representing approximately 0.2 million shares of common stock for the three months ended June 27, 2020 and June 29, 2019, and approximately 0.3 million and 0.1 million shares of common stock for the six months ended June 27, 2020 and June 29, 2019, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
Unusual Risks and Uncertainties [Table Text Block]
Impact of COVID-19
The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. At the same time, mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities.
The Company observed increased demand during the second quarter of 2020 as maintaining a clean home has taken on greater prominence during the pandemic with sell-through momentum building globally over the past several months. However, the Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are still highly uncertain. The Company will continue to actively monitor the situation and may take further actions that alter the business operations as may be required by federal, state, local or foreign authorities, or that the Company determines are in the best interests of its employees, customers, and stockholders.
In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of June 27, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.
 
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition (Notes)
6 Months Ended
Jun. 27, 2020
Revenue Recognition and Deferred Revenue [Abstract]  
Revenue from Contract with Customer [Text Block] Revenue Recognition
The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred.
The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For certain consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services").
For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of June 27, 2020 is $5.3 million. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
The Company’s products generally carry a one-year or two-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."
The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. The Company records an allowance for product returns based on specific terms and conditions included in the customer agreements or based on historical experience and the Company's expectation of future returns. In addition, the Company may provide other credits or incentives which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and forecasted inventory level in the channels. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of June 27, 2020, the Company has reserves for product returns of $49.2 million and other credits and incentives of $76.6 million. As of December 28, 2019, the Company had reserves for product returns of $55.2 million and other credits and incentives of $134.0 million. Revenue recognized during the three and six months ended June 27, 2020 related to performance obligations satisfied in a prior period was not material.
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
United States
$
140,146

 
$
124,472

 
$
222,113

 
$
238,537

EMEA
71,048

 
82,893

 
137,707

 
157,462

Other
68,689

 
52,807

 
112,598

 
101,834

Total revenue
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833


Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
June 27, 2020
 
December 28, 2019
Accounts receivable, net
$
128,334

 
$
146,161

Contract liabilities
6,578

 
6,991

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities include customer deposits which relate to prepayments received from customers in advance of product shipments as well as deferred revenue associated with the Cloud Services. The
change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended June 27, 2020 and June 29, 2019, the Company recognized $3.8 million and $5.3 million, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. During the six months ended June 27, 2020 and June 29, 2019, the Company recognized $4.3 million and $5.8 million, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers.
XML 21 R11.htm IDEA: XBRL DOCUMENT v3.20.2
Leases (Notes)
6 Months Ended
Jun. 27, 2020
Leases [Abstract]  
Lessee, Operating Leases [Text Block] Leases
The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and marketing and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet. Lease expense is recognized on a straight-line basis over the lease term.
The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for new leases post adoption. At June 27, 2020, the Company's weighted average discount rate was 3.58%, while the weighted average remaining lease term was 8.75 years.
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Operating lease cost
$
2,289

 
$
1,969

 
$
4,645

 
$
3,939

Variable lease cost
882

 
1,316

 
2,004

 
2,136

Total lease cost
$
3,171

 
$
3,285

 
$
6,649

 
$
6,075


Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
 
 
 
 
Operating cash flows from operating leases
$
2,710

 
$
2,865

 
$
4,737

 
$
4,881

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
 
 
 
 
Operating leases
$
1,566

 
$

 
$
1,566

 
$
52,767


Maturities of operating lease liabilities were as follows as of June 27, 2020 (in thousands):
 
Operating leases
Remainder of 2020
$
4,308

2021
8,529

2022
8,245

2023
7,345

2024
6,508

Thereafter
34,963

Total minimum lease payments
$
69,898

Less: imputed interest
10,405

Present value of future minimum lease payments
$
59,493

Less: current portion of operating lease liabilities (Note 7)
6,674

Long-term lease liabilities
$
52,819



Financial Statement Impact of Adopting ASC 842
The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately $52.8 million and $67.3 million, respectively. The standard did not materially impact the Company's consolidated income or cash flows.
XML 22 R12.htm IDEA: XBRL DOCUMENT v3.20.2
Inventory
6 Months Ended
Jun. 27, 2020
Inventory Disclosure [Abstract]  
Inventory Inventory
Inventory consists of the following (in thousands):
 
June 27, 2020
 
December 28, 2019
Raw materials
$
198

 
$
2,825

Finished goods
132,857

 
154,522

 
$
133,055

 
$
157,347


XML 23 R13.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill, Other Intangible Assets and Other Assets
6 Months Ended
Jun. 27, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill, Other Intangible Assets and Other Assets Goodwill and Other Intangible Assets
The following table summarizes the activity in the carrying amount of goodwill for the six months ended June 27, 2020 (in thousands):
Balance as of December 28, 2019
$
118,732

Effect of foreign currency translation
789

Balance as of June 27, 2020
$
119,521



Intangible assets consisted of the following (in thousands):
 
June 27, 2020
 
December 28, 2019
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
26,075

 
$
2,025

 
$
28,100

 
$
24,605

 
$
3,495

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
11,165

 
2,787

 
8,378

 
11,095

 
2,302

 
8,793

Reacquired distribution rights
31,972

 
31,972

 

 
31,680

 
31,680

 

Non-competition agreements
258

 
237


21

 
256

 
192

 
64

Total
$
71,595

 
$
61,171

 
$
10,424

 
$
71,231

 
$
58,879

 
$
12,352


Amortization expense related to acquired intangible assets was $1.4 million and $3.4 million for the three months ended June 27, 2020 and June 29, 2019, respectively. Amortization expense related to acquired intangible assets was $2.0 million and $6.7 million for the six months ended June 27, 2020 and June 29, 2019, respectively.
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2020
$
450

 
$
493

 
$
943

2021
900

 
786

 
1,686

2022
675

 
786

 
1,461

2023

 
786

 
786

2024

 
786

 
786

Thereafter

 
4,762

 
4,762

Total
$
2,025

 
$
8,399

 
$
10,424


XML 24 R14.htm IDEA: XBRL DOCUMENT v3.20.2
Accrued Expenses
6 Months Ended
Jun. 27, 2020
Accrued Liabilities, Current [Abstract]  
Accrued Expenses Accrued Expenses
Accrued expenses consisted of the following at (in thousands):
 
June 27, 2020
 
December 28, 2019
Accrued other compensation
$
14,907

 
$
13,331

Accrued warranty
13,769

 
13,856

Accrued federal and state income taxes
10,265

 
3,378

Accrued bonus
7,821

 
12,541

Accrued sales and other indirect taxes payable
7,134

 
12,440

Current portion of operating lease liabilities
6,674

 
6,843

Accrued direct fulfillment costs
4,194

 
10,582

Accrued other
8,981

 
8,797

 
$
73,745

 
$
81,768


XML 25 R15.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments (Notes)
6 Months Ended
Jun. 27, 2020
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivatives Not Designated as Hedging Instruments [Table Text Block]
Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Six Months Ended
 
Classification
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Loss recognized in income
Other (expense) income, net
 
$
(701
)
 
$
(1,085
)
 
$
(1,247
)
 
$
(652
)

Derivative Instruments and Hedging Activities Disclosure [Text Block] Derivative Instruments
The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At June 27, 2020 and December 28, 2019, the Company had outstanding cash flow hedges with a total notional value of $411.2 million and $424.6 million, respectively.
The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of twelve months or less. At June 27, 2020 and December 28, 2019, the Company had outstanding economic hedges with a total notional value of $61.1 million and $58.4 million, respectively.
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
June 27, 2020
 
December 28, 2019
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,473

 
$
1,855

Foreign currency forward contracts
Accrued expenses
 
679

 
297

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
5,737

 
$
4,347

Foreign currency forward contracts
Other assets
 
8,691

 
9,112

Foreign currency forward contracts
Accrued expenses
 
27

 
47

Foreign currency forward contracts
Long-term liabilities
 
600

 
414


Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Six Months Ended
 
Classification
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Loss recognized in income
Other (expense) income, net
 
$
(701
)
 
$
(1,085
)
 
$
(1,247
)
 
$
(652
)


The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Foreign currency forward contracts
 
$
(3,512
)
 
$
(2,054
)
 
$
4,053

 
$
4,350


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
 
 
Revenue
 
Revenue
Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded
 
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain reclassified from AOCI into earnings
 
$
1,761

 
$
359

 
$
3,718

 
$
214


XML 26 R16.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Notes)
6 Months Ended
Jun. 27, 2020
Fair Value Footnote [Abstract]  
Fair Value Disclosures [Text Block] Fair Value Measurements
The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):
 
Fair Value Measurements as of
June 27, 2020

Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Money market funds
$
125,072

 
$

 
$

Corporate bonds, $9,989 at cost (3)

 
10,060

 

Convertible notes

 

 
1,500

Derivative instruments (Note 8)

 
15,901

 

Total assets measured at fair value
$
125,072

 
$
25,961

 
$
1,500

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
1,306

 
$

Total liabilities measured at fair value
$

 
$
1,306

 
$


 
Fair Value Measurements as of
December 28, 2019
 
Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Corporate and government bonds, $17,016 at cost
$

 
$
17,032

 
$

Derivative instruments (Note 8)

 
15,314

 

Total assets measured at fair value
$

 
$
32,346

 
$

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
758

 
$

Total liabilities measured at fair value
$

 
$
758

 
$

(1)
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
(2)
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
(3)
As of June 27, 2020, the Company’s investments had maturity dates ranging from September 2020 to March 2021.
    
The following table provides a summary of changes in fair value of our Level 3 investment for the six months ended June 27, 2020 (in thousands):
Balance as of December 28, 2019
$

Investment in convertible notes
1,500

Balance as of June 27, 2020
$
1,500


Convertible Debt [Table Text Block]
The following table provides a summary of changes in fair value of our Level 3 investment for the six months ended June 27, 2020 (in thousands):
Balance as of December 28, 2019
$

Investment in convertible notes
1,500

Balance as of June 27, 2020
$
1,500


XML 27 R17.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders Equity (Notes)
6 Months Ended
Jun. 27, 2020
Equity [Abstract]  
Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity
Share Repurchase Activity
The Company's Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases from time to time until September 2021. On March 10, 2020, the Company entered into a Rule 10b5-1 plan to repurchase $25.0 million of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020. The Company repurchased 663,602 shares of its common stock at an average price of $37.65, totaling $25.0 million in March 2020.
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies
6 Months Ended
Jun. 27, 2020
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Legal Proceedings
From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations. For the following litigation matters, a liability is not probable or the amount cannot be reasonably estimated and therefore accruals have not been made.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The case has been transferred to the U.S. District Court for the District of Massachusetts. A similar case captioned Campbell v. iRobot Corporation, et al., No. 1:19-cv-12483 was also filed in the U.S. District Court for the Southern District of New York and subsequently transferred to the U.S. District Court for the District of Massachusetts. On January 24, 2020, the Court consolidated the Miramar and Campbell cases (the consolidated cases together, the "Securities Class Action") and appointed a lead plaintiff and lead plaintiff's Counsel. On April 3, 2020, the plaintiff filed an amended complaint alleging violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the impact of competition and Section 301 tariffs on the Company’s financial performance, and the Company has filed a motion to dismiss the case.
On December 20, 2019, purported Company shareholders David Katz and Thomas Wightman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for Southern District of New York against the Company and certain of its directors and officers, captioned David Katz and Thomas Wightman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:19-cv-11692. The complaint alleges breaches of fiduciary duties, unjust enrichment, violations of Sections 10(b) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. This case has been transferred to the U.S. District Court for the District of Massachusetts. Similarly, additional derivative litigations -- namely: Robert Truman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10034; Alexa Ruhfass, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10133; and William Tasco, derivatively on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10253 - were filed in the U.S. District Court for the District of Massachusetts. All of these cases have been consolidated in a case captioned as In re iRobot Corporation Derivative litigation, No. 1:20-cv-10034, and have been stayed pending a ruling on the motion to dismiss in the Securities Class Action.
Outstanding Purchase Orders
At June 27, 2020, the Company had outstanding purchase orders aggregating approximately $337.5 million. The purchase orders, the majority of which are with the Company's contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. In circumstances where the Company has determined that it has financial exposure associated with any of these commitments, the Company records a liability in the period in which that exposure is identified.
Guarantees and Indemnification Obligations
The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of June 27, 2020 and December 28, 2019, respectively.
Warranty
The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Balance at beginning of period
$
13,998

 
$
11,628

 
$
13,856

 
$
11,964

Provision
3,396

 
2,682

 
7,870

 
5,333

Warranty usage
(3,625
)
 
(2,340
)
 
(7,957
)
 
(5,327
)
Balance at end of period
$
13,769

 
$
11,970

 
$
13,769

 
$
11,970


XML 29 R19.htm IDEA: XBRL DOCUMENT v3.20.2
Income Taxes (Notes)
6 Months Ended
Jun. 27, 2020
Income Tax Disclosure [Abstract]  
Income Tax Disclosure [Text Block] Income Taxes
The Company’s effective income tax rate for the three months ended June 27, 2020 and June 29, 2019, was 16.1% and (6.3)%, respectively. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to stock-based compensation. During the three months ended June 29, 2019, the Company’s effective income tax rate included the recognition of a discrete tax benefit upon the effective settlement of a foreign tax audit.
The Company's effective income tax rate of 16.1% for the three months ended June 27, 2020 differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the quarter.
The Company’s effective income tax rate for the six months ended June 27, 2020 and June 29, 2019, was 18.5% and 2.0%, respectively. The increase in the effective income tax rate was primarily due to the recognition of tax expense associated with stock-based compensation compared to a tax benefit for the prior period.
The Company's effective income tax rate of 18.5% for the six months ended June 27, 2020 differed from the federal statutory tax rate of 21% primarily due to the discrete recognition of foreign tax credits and other tax benefits made possible by the income from the tariff refunds recognized during the period. The impact of these benefits was offset by discrete tax expense associated with stock-based compensation.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. The Company continues to evaluate the impact of the CARES Act, but at present does not expect the CARES Act to result in any material income tax benefit.
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.20.2
Industry Segment, Geographic Information and Significant Customers
6 Months Ended
Jun. 27, 2020
Segment Reporting [Abstract]  
Industry Segment, Geographic Information and Significant Customers Industry Segment, Geographic Information and Significant Customers
The Company operates as one operating segment. The Company's consumer robots products are offered to consumers through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
Significant Customers
For the three months ended June 27, 2020 and June 29, 2019, the Company generated 35.1% and 28.0% of total revenue, respectively, from one of its retailers (Amazon).
For the six months ended June 27, 2020 and June 29, 2019, the Company generated 26.2% and 22.3% of total revenue, respectively, from one of its retailers (Amazon).
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.20.2
Subsequent Event (Notes)
6 Months Ended
Jun. 27, 2020
Subsequent Events [Abstract]  
Subsequent Events [Text Block] On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received 0.2 million shares of Teledoc and will record a gain of approximately $38.6 million to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 27, 2020
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 28, 2019, filed with the Securities and Exchange Commission on February 13, 2020.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Recent Accounting Pronouncements
Recently Adopted Accounting Standards
In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements.
Recently Issued Accounting Standards
In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.
Use of Estimates
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Credit Loss, Financial Instrument [Policy Text Block]
Credit Losses
The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts.
Investment, Policy [Policy Text Block]
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes.
Subsequent Events [Text Block] On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received 0.2 million shares of Teledoc and will record a gain of approximately $38.6 million to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.
Net Income Per Share
Net Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Net income
$
58,616

 
$
7,207

 
$
40,481

 
$
29,727

Basic weighted-average common shares outstanding
27,923

 
28,079

 
28,110

 
27,970

Dilutive effect of employee stock awards
357

 
684

 
304

 
809

Diluted weighted-average common shares outstanding
28,280

 
28,763

 
28,414

 
28,779

Net income per share - Basic
$
2.10

 
$
0.26

 
$
1.44

 
$
1.06

Net income per share - Diluted
$
2.07

 
$
0.25

 
$
1.42

 
$
1.03

Employee stock awards representing approximately 0.2 million shares of common stock for the three months ended June 27, 2020 and June 29, 2019, and approximately 0.3 million and 0.1 million shares of common stock for the six months ended June 27, 2020 and June 29, 2019, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies Subsequent event (Tables) - USD ($)
$ in Millions
6 Months Ended
Jul. 01, 2020
Jun. 27, 2020
Subsequent Event [Line Items]    
Subsequent Events [Text Block]   On July 1, 2020, Teladoc Health, Inc. closed on its previously announced acquisition of InTouch Health, of which the Company held non-marketable equity securities. In exchange for its shares of InTouch Health, the Company received 0.2 million shares of Teledoc and will record a gain of approximately $38.6 million to other (expense) income, net during the third quarter of 2020. The Teledoc shares received are subject to time based contractual sales restrictions which expire in January 2021. These shares will be accounted for as marketable equity securities and measured at fair value with unrealized gains and losses recognized in other (expense) income, net at the end of each reporting period. As a result, the Company entered into an economic hedge in July 2020 to reduce the Company's exposure to stock price fluctuations during the restricted period.
Gain (Loss) on Sale of Equity Investments $ 38.6  
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition Disaggregation of Revenue (Tables)
6 Months Ended
Jun. 27, 2020
Revenue Recognition and Deferred Revenue [Abstract]  
Disaggregation of Revenue [Table Text Block]
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
United States
$
140,146

 
$
124,472

 
$
222,113

 
$
238,537

EMEA
71,048

 
82,893

 
137,707

 
157,462

Other
68,689

 
52,807

 
112,598

 
101,834

Total revenue
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833


XML 35 R25.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition Contract Balances (Tables)
6 Months Ended
Jun. 27, 2020
Revenue Recognition and Deferred Revenue [Abstract]  
Contract with Customer, Asset and Liability [Table Text Block]
Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
June 27, 2020
 
December 28, 2019
Accounts receivable, net
$
128,334

 
$
146,161

Contract liabilities
6,578

 
6,991

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities include customer deposits which relate to prepayments received from customers in advance of product shipments as well as deferred revenue associated with the Cloud Services. The
change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended June 27, 2020 and June 29, 2019, the Company recognized $3.8 million and $5.3 million, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers. During the six months ended June 27, 2020 and June 29, 2019, the Company recognized $4.3 million and $5.8 million, respectively, of the contract liability balance as revenue upon transfer of the products or services to customers.
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.20.2
Leases (Tables)
6 Months Ended
Jun. 27, 2020
Operating Lease Cost [Abstract]  
Lease, Cost [Table Text Block]
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Operating lease cost
$
2,289

 
$
1,969

 
$
4,645

 
$
3,939

Variable lease cost
882

 
1,316

 
2,004

 
2,136

Total lease cost
$
3,171

 
$
3,285

 
$
6,649

 
$
6,075


Schedule of Leases, Supplemental Cash Flow [Table Text Block]
Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
 
 
 
 
Operating cash flows from operating leases
$
2,710

 
$
2,865

 
$
4,737

 
$
4,881

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
 
 
 
 
Operating leases
$
1,566

 
$

 
$
1,566

 
$
52,767


Lessee, Operating Lease, Liability, Maturity [Table Text Block]
Maturities of operating lease liabilities were as follows as of June 27, 2020 (in thousands):
 
Operating leases
Remainder of 2020
$
4,308

2021
8,529

2022
8,245

2023
7,345

2024
6,508

Thereafter
34,963

Total minimum lease payments
$
69,898

Less: imputed interest
10,405

Present value of future minimum lease payments
$
59,493

Less: current portion of operating lease liabilities (Note 7)
6,674

Long-term lease liabilities
$
52,819


XML 37 R27.htm IDEA: XBRL DOCUMENT v3.20.2
Inventory (Tables)
6 Months Ended
Jun. 27, 2020
Inventory Disclosure [Abstract]  
Components of Inventory Inventory
Inventory consists of the following (in thousands):
 
June 27, 2020
 
December 28, 2019
Raw materials
$
198

 
$
2,825

Finished goods
132,857

 
154,522

 
$
133,055

 
$
157,347


XML 38 R28.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill, Other Intangible Assets and Other Assets (Tables)
6 Months Ended
Jun. 27, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill [Table Text Block]
The following table summarizes the activity in the carrying amount of goodwill for the six months ended June 27, 2020 (in thousands):
Balance as of December 28, 2019
$
118,732

Effect of foreign currency translation
789

Balance as of June 27, 2020
$
119,521


Other Intangible Assets

Intangible assets consisted of the following (in thousands):
 
June 27, 2020
 
December 28, 2019
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
26,075

 
$
2,025

 
$
28,100

 
$
24,605

 
$
3,495

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
11,165

 
2,787

 
8,378

 
11,095

 
2,302

 
8,793

Reacquired distribution rights
31,972

 
31,972

 

 
31,680

 
31,680

 

Non-competition agreements
258

 
237


21

 
256

 
192

 
64

Total
$
71,595

 
$
61,171

 
$
10,424

 
$
71,231

 
$
58,879

 
$
12,352


Estimated Future Amortization Expense Related to Current Intangible Assets
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2020
$
450

 
$
493

 
$
943

2021
900

 
786

 
1,686

2022
675

 
786

 
1,461

2023

 
786

 
786

2024

 
786

 
786

Thereafter

 
4,762

 
4,762

Total
$
2,025

 
$
8,399

 
$
10,424


XML 39 R29.htm IDEA: XBRL DOCUMENT v3.20.2
Accrued Expenses (Tables)
6 Months Ended
Jun. 27, 2020
Accrued Liabilities, Current [Abstract]  
Components of Accrued Expenses
 
June 27, 2020
 
December 28, 2019
Accrued other compensation
$
14,907

 
$
13,331

Accrued warranty
13,769

 
13,856

Accrued federal and state income taxes
10,265

 
3,378

Accrued bonus
7,821

 
12,541

Accrued sales and other indirect taxes payable
7,134

 
12,440

Current portion of operating lease liabilities
6,674

 
6,843

Accrued direct fulfillment costs
4,194

 
10,582

Accrued other
8,981

 
8,797

 
$
73,745

 
$
81,768


XML 40 R30.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments (Tables)
6 Months Ended
Jun. 27, 2020
Derivative Instruments, Gain (Loss) [Line Items]  
Derivative Instruments, Gain (Loss) [Table Text Block]
Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Six Months Ended
 
Classification
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Loss recognized in income
Other (expense) income, net
 
$
(701
)
 
$
(1,085
)
 
$
(1,247
)
 
$
(652
)


The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Foreign currency forward contracts
 
$
(3,512
)
 
$
(2,054
)
 
$
4,053

 
$
4,350


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
 
 
Revenue
 
Revenue
Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded
 
$
279,883

 
$
260,172

 
$
472,418

 
$
497,833

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain reclassified from AOCI into earnings
 
$
1,761

 
$
359

 
$
3,718

 
$
214


XML 41 R31.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments Schedule of Derivative Instruments (Tables)
6 Months Ended
Jun. 27, 2020
Derivative [Line Items]  
Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]
The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Six Months Ended
 
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Foreign currency forward contracts
 
$
(3,512
)
 
$
(2,054
)
 
$
4,053

 
$
4,350


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
Schedule of Derivative Instruments [Table Text Block]
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
June 27, 2020
 
December 28, 2019
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,473

 
$
1,855

Foreign currency forward contracts
Accrued expenses
 
679

 
297

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
5,737

 
$
4,347

Foreign currency forward contracts
Other assets
 
8,691

 
9,112

Foreign currency forward contracts
Accrued expenses
 
27

 
47

Foreign currency forward contracts
Long-term liabilities
 
600

 
414


XML 42 R32.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies (Tables)
6 Months Ended
Jun. 27, 2020
Commitments and Contingencies Disclosure [Abstract]  
Activity Related to the Warranty Accrual
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
Six Months Ended
 
June 27, 2020
 
June 29, 2019
 
June 27, 2020
 
June 29, 2019
Balance at beginning of period
$
13,998

 
$
11,628

 
$
13,856

 
$
11,964

Provision
3,396

 
2,682

 
7,870

 
5,333

Warranty usage
(3,625
)
 
(2,340
)
 
(7,957
)
 
(5,327
)
Balance at end of period
$
13,769

 
$
11,970

 
$
13,769

 
$
11,970


XML 43 R33.htm IDEA: XBRL DOCUMENT v3.20.2
Industry Segment, Geographic Information and Significant Customers (Tables)
6 Months Ended
Jun. 27, 2020
Segment Reporting [Abstract]  
Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes The Company operates as one operating segment.
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies Credit Losses (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 27, 2020
Dec. 28, 2019
Credit Loss [Abstract]      
Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease) $ 0.0 $ 4.5  
Accounts Receivable, Allowance for Credit Loss $ 5.7 $ 5.7 $ 1.2
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies Receivables (Details) - USD ($)
$ in Millions
3 Months Ended
Jun. 27, 2020
Apr. 24, 2020
Receivables [Abstract]    
Recovery of Direct Costs $ 48.7  
Recovery of Import Duties 8.5  
Receivable for Recovery of Import Duties, Net $ 56.7 $ 57.2
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies Other Assets (Details) - USD ($)
$ in Millions
Jun. 27, 2020
Dec. 28, 2019
Equity and cost method investments [Abstract]    
Equity Securities without Readily Determinable Fair Value, Amount $ 21.7 $ 21.0
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]        
Document Period End Date     Jun. 27, 2020  
Net income $ 58,616 $ 7,207 $ 40,481 $ 29,727
Weighted-average shares outstanding 27,923 28,079 28,110 27,970
Dilutive effect of employee stock options and restricted shares 357 684 304 809
Diluted weighted-average shares outstanding 28,280 28,763 28,414 28,779
Basic income per share $ 2.10 $ 0.26 $ 1.44 $ 1.06
Diluted income per share $ 2.07 $ 0.25 $ 1.42 $ 1.03
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount 200   300 100
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies Subsequent Event (Details)
shares in Millions, $ in Millions
Jul. 01, 2020
USD ($)
shares
Subsequent Event [Line Items]  
Equity securities received, restricted | shares 0.2
Gain (Loss) on Sale of Equity Investments | $ $ 38.6
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition Significant Judgments (Details) - USD ($)
$ in Millions
Jun. 27, 2020
Dec. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]    
Revenue, Remaining Performance Obligation, Amount $ 5.3  
Refund liability, product returns 49.2 $ 55.2
Refund liability, other credits and incentives $ 76.6 $ 134.0
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax $ 279,883 $ 260,172 $ 472,418 $ 497,833
UNITED STATES        
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax 140,146 124,472 222,113 238,537
EMEA [Member]        
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax 71,048 82,893 137,707 157,462
All Other Regions [Member]        
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax $ 68,689 $ 52,807 $ 112,598 $ 101,834
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition Contract Balances (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Dec. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]          
Revenue, Remaining Performance Obligation, Amount $ 5,300   $ 5,300    
Accounts Receivable, after Allowance for Credit Loss, Current 128,334   128,334   $ 146,161
Contract with Customer, Liability, Revenue Recognized 3,800 $ 5,300 4,300 $ 5,800  
Contract with Customer, Liability $ 6,578   $ 6,578   $ 6,991
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.20.2
Leases Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Leases [Abstract]        
Operating Lease, Weighted Average Discount Rate, Percent 3.58%   3.58%  
Operating Lease, Cost $ 2,289 $ 1,969 $ 4,645 $ 3,939
Variable Lease, Cost 882 1,316 2,004 2,136
Lease, Cost $ 3,171 $ 3,285 $ 6,649 $ 6,075
Operating Lease, Weighted Average Remaining Lease Term 8 years 9 months   8 years 9 months  
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.20.2
Leases Supplemental Cash Flow (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Leases [Abstract]        
Document Period End Date     Jun. 27, 2020  
Operating Lease, Payments $ 2,710 $ 2,865 $ 4,737 $ 4,881
Right-of-Use Asset Obtained in Exchange for Operating Lease Liability $ 1,566 $ 0 $ 1,566 $ 52,767
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.20.2
Leases Maturity of Operating Lease LIability (Details) - USD ($)
$ in Thousands
Jun. 27, 2020
Dec. 28, 2019
Dec. 30, 2018
Leases [Abstract]      
Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year $ 4,308    
Lessee, Operating Lease, Liability, Payments, Due Year Two 8,529    
Lessee, Operating Lease, Liability, Payments, Due Year Three 8,245    
Lessee, Operating Lease, Liability, Payments, Due Year Four 7,345    
Lessee, Operating Lease, Liability, Payments, Due Year Five 6,508    
Lessee, Operating Lease, Liability, Payments, Due after Year Five 34,963    
Lessee, Operating Lease, Liability, Payments, Due 69,898    
Lessee, Operating Lease, Liability, Undiscounted Excess Amount 10,405    
Operating Lease, Liability 59,493   $ 67,300
Current portion of operating lease liabilities 6,674 $ 6,843  
Operating Lease, Liability, Noncurrent $ 52,819 $ 54,928  
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.20.2
Leases Financial Statement Impact of Adopting ASC 842 (Details) - USD ($)
$ in Thousands
Jun. 27, 2020
Dec. 28, 2019
Dec. 30, 2018
Leases [Abstract]      
Operating lease right-of-use asset $ 45,978 $ 47,478 $ 52,800
Operating Lease, Liability $ 59,493   $ 67,300
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.20.2
Inventory (Details) - USD ($)
$ in Thousands
Jun. 27, 2020
Dec. 28, 2019
Inventory Disclosure [Abstract]    
Inventory, Raw Materials, Net of Reserves $ 198 $ 2,825
Inventory, Finished Goods, Net of Reserves 132,857 154,522
Inventory $ 133,055 $ 157,347
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Dec. 28, 2019
Business Acquisition [Line Items]          
Goodwill $ 119,521   $ 119,521   $ 118,732
Amortization of Acquired Intangible Assets $ 1,400 $ 3,400 $ 2,000 $ 6,700  
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Dec. 28, 2019
Finite-Lived Intangible Assets [Line Items]          
Document Period End Date     Jun. 27, 2020    
Finite-Lived Intangible Assets, Gross $ 71,595   $ 71,595   $ 71,231
Intangible assets accumulated amortization 61,171   61,171   58,879
Intangible Assets, Net 10,424   10,424   12,352
Amortization of Acquired Intangible Assets 1,400 $ 3,400 2,000 $ 6,700  
Completed technology          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 28,100   28,100   28,100
Intangible assets accumulated amortization 26,075   26,075   24,605
Intangible Assets, Net 2,025   2,025   3,495
Trade Names          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 100   100   100
Intangible assets accumulated amortization 100   100   100
Intangible Assets, Net 0   0   0
Customer-Related Intangible Assets [Member]          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 11,165   11,165   11,095
Intangible assets accumulated amortization 2,787   2,787   2,302
Intangible Assets, Net 8,378   8,378   8,793
Distribution Rights [Member]          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 31,972   31,972   31,680
Intangible assets accumulated amortization 31,972   31,972   31,680
Intangible Assets, Net 0   0   0
Noncompete Agreements [Member]          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 258   258   256
Intangible assets accumulated amortization 237   237   192
Intangible Assets, Net $ 21   $ 21   $ 64
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 27, 2020
Dec. 28, 2019
Goodwill [Line Items]    
Goodwill $ 119,521 $ 118,732
Goodwill, Foreign Currency Translation Gain (Loss) $ 789  
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)
$ in Thousands
Jun. 27, 2020
USD ($)
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2020 $ 943
2021 1,686
2022 1,461
2023 786
2024 786
Thereafter 4,762
Total 10,424
Cost of revenue  
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2020 450
2021 900
2022 675
2023 0
2024 0
Thereafter 0
Total 2,025
Operating Expense [Member]  
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2020 493
2021 786
2022 786
2023 786
2024 786
Thereafter 4,762
Total $ 8,399
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.20.2
Accrued Expenses (Details) - USD ($)
$ in Thousands
Jun. 27, 2020
Dec. 28, 2019
Accounts Payable, Current [Abstract]    
Accrued other compensation $ 14,907 $ 13,331
Accrued warranty 13,769 13,856
Accrued bonus 7,821 12,541
Current portion of operating lease liabilities 6,674 6,843
Accrued direct fulfillment costs 4,194 10,582
Accrued sales and other indirect taxes payable 7,134 12,440
Accrued federal and state income taxes 10,265 3,378
Accrued other 8,981 8,797
Accrued expenses $ 73,745 $ 81,768
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments Schedule of Derivative Instruments (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Dec. 28, 2019
Derivative [Line Items]          
Document Period End Date     Jun. 27, 2020    
Revenue $ 279,883 $ 260,172 $ 472,418 $ 497,833  
Total cost of revenue 101,871 142,002 216,451 260,117  
Designated as Hedging Instrument [Member]          
Derivative [Line Items]          
Derivative, Notional Amount 411,200   411,200   $ 424,600
Not Designated as Hedging Instrument [Member]          
Derivative [Line Items]          
Derivative, Notional Amount 61,100   61,100   58,400
Cash Flow Hedging [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion [1] (3,512) (2,054) 4,053 4,350  
Other Nonoperating Income (Expense) [Member]          
Derivative [Line Items]          
Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net (701) $ (1,085) (1,247) $ (652)  
Not Designated as Hedging Instrument [Member] | Accrued Liabilities [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Liability 679   679   297
Not Designated as Hedging Instrument [Member] | Other Current Assets [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Asset 1,473   1,473   1,855
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Accrued Liabilities [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Liability 27   27   47
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Noncurrent Liabilities [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Liability 600   600   414
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Current Assets [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Asset 5,737   5,737   4,347
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Noncurrent Assets [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Asset $ 8,691   $ 8,691   $ 9,112
[1]
(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.20.2
Derivative Instruments (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Derivative Instruments, Gain (Loss) [Line Items]        
Document Period End Date     Jun. 27, 2020  
Revenue $ 279,883 $ 260,172 $ 472,418 $ 497,833
Foreign Exchange Forward [Member] | Cash Flow Hedging [Member]        
Derivative Instruments, Gain (Loss) [Line Items]        
Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax [1] (3,512) (2,054) 4,053 4,350
Foreign Exchange Forward [Member] | Sales [Member] | Cash Flow Hedging [Member]        
Derivative Instruments, Gain (Loss) [Line Items]        
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net $ 1,761 $ 359 $ 3,718 $ 214
[1]
(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 27, 2020
Dec. 28, 2019
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value $ 1,500 $ 0
conversion of debt 1,500  
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money Market Funds, at Carrying Value 125,072  
Available-for-sale Securities 0 [1] 0
Convertible Debt, Fair Value Disclosures 0  
Derivative Asset 0 0
Assets, Fair Value Disclosure 125,072 0
Derivative Liability 0 0
Financial and Nonfinancial Liabilities, Fair Value Disclosure 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money Market Funds, at Carrying Value [2] 0  
Available-for-sale Securities [2] 10,060 [1] 17,032
Convertible Debt, Fair Value Disclosures [2] 0  
Derivative Asset 15,901 15,314 [2]
Assets, Fair Value Disclosure [2] 25,961 32,346
Derivative Liability [2] 1,306 758
Financial and Nonfinancial Liabilities, Fair Value Disclosure [2] 1,306 758
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money Market Funds, at Carrying Value [3] 0  
Available-for-sale Securities [3] 0 [1] 0
Convertible Debt, Fair Value Disclosures [3] 1,500  
Derivative Asset [3] 0 0
Assets, Fair Value Disclosure [3] 1,500 0
Derivative Liability 0 0 [3]
Financial and Nonfinancial Liabilities, Fair Value Disclosure $ 0 $ 0 [3]
[1]
As of June 27, 2020, the Company’s investments had maturity dates ranging from September 2020 to March 2021.
[2]
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
[3]
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders Equity (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Mar. 28, 2020
Jun. 27, 2020
Equity [Abstract]    
Stock Repurchase Program, Authorized Amount $ 25,000  
Stock Repurchased and Retired During Period, Shares 663,602 664,000
Stock Repurchased and Retired During Period, Value $ 25,000 $ 25,000
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Additional Information (Detail)
$ in Millions
Jun. 27, 2020
USD ($)
Outstanding POs [Abstract]  
Contractual Obligation $ 337.5
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Movement in Standard Product Warranty Accrual [Roll Forward]        
Balance at beginning of period $ 13,998 $ 11,628 $ 13,856 $ 11,964
Provision 3,396 2,682 7,870 5,333
Warranty usage (3,625) (2,340) (7,957) (5,327)
Balance at end of period $ 13,769 $ 11,970 $ 13,769 $ 11,970
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.20.2
Income Taxes (Details)
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Income Tax Disclosure [Abstract]        
Effective Income Tax Rate Reconciliation, Percent 16.10% (6.30%) 18.50% 2.00%
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.20.2
Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 27, 2020
USD ($)
Jun. 29, 2019
USD ($)
Jun. 27, 2020
USD ($)
segment
Jun. 29, 2019
USD ($)
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Number of Reportable Segments | segment     1  
Total cost of revenue $ 101,871 $ 142,002 $ 216,451 $ 260,117
Gross profit 178,012 118,170 255,967 237,716
Research and development 36,557 35,650 73,316 70,919
Selling and marketing 49,062 56,409 85,656 95,245
General and administrative 21,856 20,592 46,429 43,499
Other income, net $ (384) $ 1,533 $ (403) $ 2,813
Amazon [Member] | Customer Concentration Risk [Member] | Revenue Benchmark [Member]        
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Concentration Risk, Percentage 35.10% 28.00% 26.20% 22.30%
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.20.2
Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) - segment
3 Months Ended 6 Months Ended
Jun. 27, 2020
Jun. 29, 2019
Jun. 27, 2020
Jun. 29, 2019
Revenues from External Customers and Long-Lived Assets [Line Items]        
Number of Reportable Segments     1  
Document Period End Date     Jun. 27, 2020  
Revenue Benchmark [Member] | Amazon [Member] | Customer Concentration Risk [Member]        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Concentration Risk, Percentage 35.10% 28.00% 26.20% 22.30%
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.20.2
Subsequent Event (Details)
$ in Millions
3 Months Ended
Jun. 27, 2020
USD ($)
Subsequent Event [Line Items]  
Recovery of Import Duties $ 8.5
EXCEL 72 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( F8_E '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 " )F/Y05-\:N^T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)O)VU!,71S43PI""XHWD(RNQMLFI",M/OVIG&WB^@#>,S,GV^^ M@>EU$-I'?(X^8"2+Z6IVPYB$#AMV( H"(.D#.I7JG!AS<^>C4Y2?<0]!Z0^U M1V@YOP:'I(PB!0NP"BN1R=YHH2,J\O&$-WK%A\\X%)C1@ ,Z'"E!4S? Y#(Q M'.>AAPM@@1%&E[X+:%9BJ?Z)+1U@I^2<[)J:IJF>NI++.S3P]O3X4M:M[)A( MC1KSKV0%'0-NV'GR:W=WOWU@LN4MK_A-U?%M&PO=&AE M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X? MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@ MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1 MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?= MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%, M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SC MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_ M+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE" M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT ML@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3 M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.' M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\ M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^ M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?! M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83 M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL' M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5 MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$% @ M"9C^4!,:O%(S!0 =14 !@ !X;"]W;W)K MPYV5D!'3<"K7EMI*SOPT* HM:MLW5L2"N-'OI=>FLM\3B0Z#F$\E44D4,;D? M\E#L[AI.XWAA%JPWVERP^KTM6_,YU[]OIQ+.K%S%#R(>JT#$1/+576/@?!VY MU 2D3_P1\)TZ.2;F599"O)F3L7_7L T1#[FGC02#OW<^XF%HE(#CWX-H(V_3 M!)X>']4?TY>'EUDRQ4:NT6T0GZ]8$NJ9V/W"#R_4-GJ>"%7Z2W;9 MLZU6@WB)TB(Z! -!%,39/_LX=,1)@&M?"*"' 'H6X%QJP3T$N.F+9F3I:]TS MS?H]*79$FJ=!S1RD?9-&P]L$L1G&N99P-X XW;\77@*CH@F+??(0ZT#OR3C. MIH?IYB91&R:YZED:6C,QEG=0'F;*](+R#7D6L=XH4/6Y_SG> LH(:,-8_4/T@+ MK;R%5MI"JVIL%OLM+QL /-RQFZ\(13NG:->CF'(9"#-)? )3K10(5SH.X ]? MOE2,P4W.=E./[35A4G,9[LF,;X7497"XE)8)1X@Z.5&GYIA)!EZ73HO+2+C6 MBH4*8^KF3%U4YS!31X E60@SUN^+R/"E6S;=ISVK7/30;!NM)P6PN/8A1?:=8AF?!THZ"H8Q1<6E4[T"J%@-AE. M%F0TF4TGL\%B/'G!^$Z\VJG#-XX](6%*I:9S1>8:5B,1DHQ$ B,, RW\7$N)R0^Y#SL1* J=( YNV^=H^6*82O$> MQ%YY#^*:SP,,K<@$#F[?YVA3H338[U_!]O(*Q15MI^-B:=,I,H*#&WDZ@@.H M^R^CX *=KH.!%#G P0W\27C0)].-B+$D4"'2X6/HU4R%64;'2PO)IS:K^0'4HJR]SX7*O M%*,J+)[BGCQ*I#SO*JS2KY!K-J$PLU&TPN)I+8N?;^!;'^PJVK*X?#7B,E5) MFQ;&3FL9^SQB #1,%-Q6Y4/W_^I[6M@YK57A/T1L1"L, MGM:J\H_S*_L62CT+,O6%&8\K?C_?C?C\^5X8O5NKVA_'\.&8[2:9V[A612:*AU(E-:BK;ISDHMU-EL\_XWJ==VV[?=F][UOLIE76RL67F=KK? MIXAG/G2R/:[\:KZG.$AWTJSB\6Q#\IF9I:%(R%<0:E]WH'F9[?%E)UILTVVR MI=!:1.GAAC.?2_, W%\)H8\GIH%\I[7_'U!+ P04 " )F/Y0<+0G;#8& M #5& & 'AL+W=O,Q,1$)=&C*"?9I]]1J[)N+E=;K7?GZW63;WG%FC.YXS6\N9.J8AINU?VZ MV2G.BJY15:Y)$,3KBHEZM;GHGEVKS85L=2EJ?JU0TU854T\?>2D?+E=X]?S@ MB[C?:O-@O;G8L7M^P_6WW;6"N_7@I1 5KQLA:Z3XW>7J SZ_HM0TZ"S^%/RA MF5PC,Y1;*;^;F\_%Y2HPBGC)EL83Z/C[X'0U]&D:3J^?O?_4 M#1X&<\L:?B7+OT2AMY>K=(4*?L?:4G^1#[_PPX BXR^79=/]10\'VV"%\K;1 MLCHT!@65J/M?]G@(Q*0!#A<:D$,#\MH&]-"@B]RZ5]8-ZQ/3;'.AY -2QAJ\ MF8LN-EUK&(VHS6>\T0K>"FBG-U>R;F0I"J9Y@3ZRDM4Y1S?&78/>?JM96PAX M\PZ=HF\WG]#;-^_0&R1J]'4KVX;517.QUJ#"^%KGAQX_]CV2A1Y_;>LS1)(3 M1 (2.)I?^9M_XCDT3TUSG!TW7\/8AP"0(0"D\T>7 M JQ6N-6-/ F,\]'NG@ MD78>PR6/K-DBB W*S07_NQ5[5D(7SECUKN+.E5ER^PVA04+#B_5^&A.7648S M,I@=*0T'I:%7Z12%MM=4AI$T4R9PRR"V9"XE26#LL2K[ ^]Y0JRR72FNT0F5N\9B2R-MA4- M21JY)::#Q-0K\:O4K'R%Q-3J/,IB0M.91I=92/!"'+-!9.85>:T GTH_=:O; M+.R=63"+LS&S1"1I.%D.O52'592EJ5LI#L:\'OB_.2AE6M3WJ.2 .:0,ST[E MW6D+-\OQ/7B=R@FC+)G'UV66A,F2Z@F-L%?U)W['80H42+-'GTILS\&,T&2N MTC8+<9(MK',\(@,3K\J?I2P>1%DZI1%'JLPB@N?:7'9ILI0M\4@?[,?/YUJS M^EY FCP$<'%^'AP=20A",L^6+C-"HR6A(WRPGSY]5O)\9!LG-,BLI>XT@X@O MR!NQ@_WR MOC_M=@ M_BXU1QB_C;G4N?-CN7\!PC)8F?DN8KROIY$&^"LP #U!7:L[*%730. O>XWIL#FBQ+N_&1] 2JO6"3,9\ Y)H=[\[D2N<&F-B4):D5 Y?1TEP>04S\(/Y0%,*<&<*RVS%1 MG(H:Y6PG8!DZA=I8Q6D84FOI.>RR.(P62ALZ ICZ ?R%:P:/H+9AJH;8NL^- M'!LP %0PYX/++B*4+.R!Z A>Z@MP:XYX]QR)&NZ= MI2-U[,JBT#KQG^CY:X[AKZ5&BK@[G++&8@W!O#^3@)3#C?F9'OX M3\;F7U!+ P04 " )F/Y0;#9_W8X" #;!P & 'AL+W=O&Y@%$+&#FCC3)GZY8:FB9*[HBRT&\4SC+$F70AA9:KUA>AM2FD8G\@ M[[/8<$:.TUZ6;1H%[I?XVWTOI^,.1(\ZT:-_$HU751LJ/M;RQ559$MY#7U.&Z)X+^_! M(!C^M3DG@@XT1IW&Z!T:SSI+T:LS,@R"WM-T3N2!ZDFG>O)^U4SKNE_QY)6. M,)[-IJ\%]P1.1U%X5&_ M3-Z3ZQ5M#!K$[YEZ-&?WJ*9RK_7W^N'#YF:"ZQFI7*UM[4*ZRX-:J#RO/;EY M_&B=3KHQ:\/S^V?O/S7D'9E[:=1"YW]D&[N_F203M%%;>F^46/+19/T/IHK"Y:8S>#(BM/5_G4!N+,P/F!#6AK0'T#-F 0M0;12T=@ MK0%[Z0B\-6BH3T_H@_E6A>J?XG>H6]W2_3ZU1MD]K)2!F4E^KK7 M1R/+C7F+7ET\SZ;63:\>9+INIW)[F@H=F$J$/NK2[@U:E1NU >R7X_;QB/W4 MA:6+#7V.S2T==?CKL;Q"5+Q%%%,,S&?Q$O.T-B_C;[ZUZ-?!"/J"B5J M_+$!?U_4@RJ/"DKKR3!N#.O&]#"G(DV2:#9].(\6 (LQ$?02M@QA3%!&DDO8 M"H"E(HGZ02]8LHXE&V6YT,;6M7^H].:XMJX5#K(^.>)G$R"N.2>QQQJ 14F2 M$H]U"*.$I8D'6P$P'J4TA5GSCC4?9?V^T)7-_I)-ZW;LY?K',:M<0\A**\M= M=I\K)(U1%ES5/&1($NZ%(01%A/A! #PQ@;T0A*"8) D<@+@+0#P:@*_:RARM MV^2/)#T&DDX2X1%9 ##FMFZ_U$,8)3'C?M(!F%LX1,"<1<=9C'+^N=+&U(6^ MS2Q$580<1(*)QV$!P$A"_*PM0QCE/(V%1Q6 14*0&*::=%23?^A=1LEJO4=N M8W(JXL')HT.]HT&TD[!08\Z]>2X %(^Y3SI$B2@B7H=8 2B6N8>P4X'=EW1/$-PU&9RF._2R'*!XSG'I\0U3BHN+S#5$IIXS#? GN MA0P>KV=5JLJMXIJQW#BIE!E;R5J&@E($ VLO\>>Z@&"8I_Y"!F L9M2+SPJ" M12P=2#4YTW#D?^S?K?/+M/;E/*:-@PA3HXD+XZ5I .$)3ZB]S %<7B;\\5A"..'$WH%E(+\W(N#;[ MU-'.<.DHZ -D,#D0; . T:&X3"F >I#F%4<#+$MQ=I9%RE?;)[5:'7;8[? MM*S?HE*!+9V$JNE=E 05#B@U'D4^<\ 7PY%/'-!IR2#O7J:1<9W6?I'=JZVN M5,L:6?DT4.: 4DJ3-*AR ";\NE@"*):ZC=$G#N@\'-&!_9OT^HR,"[0/'=?G ME8U>W[N&[[3+&Y [H, (4.TA[!VCS.<>HE(BF$\]1/'!UMZ+-#*NTGY3=FQ1 MB^ KB">QKS 6 $Q0+'R:(8IA%GR" #":"CJ@1DFOT:VMUT=SNE=RHJ@:X_[=:V^>'>H#N)'W^-U!+ P04 M" )F/Y0'QA:<*@# #A"P & 'AL+W=OCS?9"_FD2DHU>JDKKJ9>J?7VQO?5JJ0U4==B2SG\ M60M9$PU#N?'55E)26%)=^3@($K\FC'NSB9V[D[.)V.F*<7HGD=K5-9$_;FDE M]E,O]%XGOK)-J4_VPO9,P\CLK!:LI5TQP).EZZGT,;Y:YP5O M=T;WZN ;F4@>A7@R@T_%U O,@FA%5]I8(/!ZIG-:5<80+..OUJ;7N33$P^]7 MZ[_8V"&61Z+H7%1_L$*74R_S4$'79%?IKV+_*VWC&1M[*U$I^T3[%AMX:+53 M6M0M&590,]Z\R4NKPP$![+@)N"7@/B$^08A:0O16#W%+B-_J8=P2;.A^$[L5 M;D$TF4VDV"-IT&#-?%CU+1OT8MSDR;V6\)H0_HX7Z!KMZ-T#O$./I6BITBO% 3 M7\/*C'U_U:[BMED%/K&*"'T67)<*+7E!"P=_<9Z?G.'[H$@G"WZ5Y1:?-?C; MCE\CG+Y'.,"!8SWSM]!S0P]S5SC_S_OR/WL_$B/J@Q1 4!W$6'J.60Q3.4_S3UE&,<1=C M;&G1B1B_Z))*M#I*>=:F?"64&MV<$7+<.1E?%!)*.Q0O#F=;2LI7/Y"6A*N* M-&6S^!..O#V!+JD;Z^/#R,,TZRD]!(5I'O>4=H!PT@,MAZ /29JX=4XZ"9*+ M$NPXW&@5^QLJCM66JA':P)4&50=T(:I$:[B^4$F+#57O$0<*E"--7ER:),-% MXB3JA3)WH,)Q'/14&:*BH ]:.D X"=VJI)TJZ455KJP$(]0HXI "KN55191B M:P;*,:X%HD1RQC<714H=X4>X=[#F#A1.^F?4!4JSO">2R^$ID;).I.S?I$Z7 M,=#?/%%-'BN*%(5CQ32[G#;9;#^IQD:;\^#U$I[N_J8@B*X8KIF5H.41&.QGDO9O^@9ZFIW-AF M44%4.ZZ;JZF;[?K1C[8-Z\W?AC?ST#&_@/ZU:3=_FF^:W\]$;DSN5'0-KH+K M%'9'-@UE,]!B:SNF1Z&A_[*?)?3@5!H _%\+H5\'QD'7U<_^ 5!+ P04 M" )F/Y0;5).NY0( :,0 & 'AL+W=O3DZ/6Z^NZY.C_E: M%'G)KBM0KY?+M/IVS@K^=#*"H^]?W.0/"Z&^F)P>K]('=LO$I]5U)3]-MEJR M?,G*.N@,_G))J6K02'S.V5.]\QXH5^XX_Z(^7&4GHT!9Q HV%TI% M*E\>V905A=(D[?B[53K:/E,UW'W_7?MEX[QTYBZMV907?^296)R,XA'(V'VZ M+L0-?_J5M0XU!LYY43=_P5,K&XS ?%T+OFP;2PN6>;EY3;^V';'3 .*>!JAM M@(P&"/4TP&T#;#3 84\#TC8@YA.BG@:T;4#-)_0U"-L&8=/WF\YJ>GJ6BO3T MN.)/H%+24IMZTX2K:2T[."]59MV*2OZ:RW;B=,K+FA=YE@J6@5LA7V3:",#O MP>TBK=B"%QFKZO^ B[_7N?BV(S$&GVYGX-U/[\%/("_!QP5?UVF9U<<3("S[^ /W]GRSM6_<^A9N97OQ%$51' =!<#QY=!B!MT;@/8VXVQCARJ:-BG#GX113C-#V MT1L;;3$4Q5V9F2T#(^D)[(I=V&(XC )DB%W:8F,2D=C=)63;)<3;)5=UO58] MH8;D?)/R=9/RZU*.3,"6JX)_8ZS]NZ)'K.A!&/;&CFX- MI5Y#-P-1F2OS?K:N5!2O697S[ A\3HNU2JA&Y,-*C;<:7'QEU3RO6>8*,K5L M)&$<&"&F=OB, +O41(G;T7#K:/BO'=T,F2-PPVHY8.>;256)GSVEE?S]OZR9 M6V51O&>Y6$O9H6"%CJ'6/]"BK0_1"23$^FWIIR=555:/C2E[0AP1_8U5K(B4_5LRA^9;?L-D]11 M-4&IP:>5-/BS3$KUBVQBY>FDI$O&7CW&Z_K]]OA)[OJ"%SSJ@FCFPZ< M?0#MZ23$R'1O0*KKG28,Z$>,L^PO";2;:$HK#?(".^0UDU&?"U[58,;N6549 M>>OTS&823$R_O#)=KS2R0#^SJ(#D38R<9F&[*Q.9*@9A#(IUC=/P /WT\$-4 M!VTP0'& ^ZL-U&P _7"P%]A!NY[3$(4(FR/4ED,F&\R@7?IA1'==:7O>EL-Q M0HD)=PZY,8))S^P--4Q /TV\/-^=0P^WQ/@*8.$:NF.F@# MNGU'FC20GS0.!7S(!H"()F:]&9+J.J4I ?DIX9#(A^S2/X:]28AV=A?\M?]M MD _9!7\<4B,W6R'?_#*@I]LGFAR0GQP.3GO(IHJXA^*01@KD1XJ#4AQR[$V8 MRRB_3-61JV=MIRTTXRT7=9A3,(0FQUOR^$DW-UZVS"<0TXR'.Q9 MMB'-">RO\P?8KL9V M\86P?Q#@G<,&?_U]V1UK;!=;'";FF,:.(P?S4,*E*.[+;%VWL;]NO^YB!COV M$DA_%<*Z4.-G'S,\;S6#[2IN!=&Q 6$&T;5=T..[)@'L)X%#K6:P#0T0!J&5 MF$-B7;PH^03ST2G:S[>9V_@M1MF&]),ZBI MVR^:++"?+ Z^J,$.D*#8P(C+(:GN6:S& S*PGW#(Q0^QH8&8\XI?INN59@KB M9PK_XH?8K$ "8L+Z!;%W#KIB7>,T49!]=@Z>363$M80/2>],0#1&D'TPXKE$ M1ARW!Y"]7SUUR45FDM@$,48D27I.3\G.7807/$X@#@2(XJC_I@'1$$!>X#B! MV"4XA"'%YO*%.*IYE)A=ZCQ.B$R^NW#($4Q@;,S0ER[C=A=-W8[1A$!>^S1A M2NRJ'_73-]%5G[SB(<$Y<9P 1-2LB\3>=3 AQZVHKW!H7"#_3T<)Q"[N:BKI MBYDN[N2-CQ*(7;:M"7#PM&'FU=*]W*0K/WV;DP1J%W0:1Z9'0U)=IW3AIV]\ MWX"ZCA,B8KAW.2C6]4^S WW#&P?4<0O2NG_FE>EZI8&#/N?& 77+T'U!+ P04 M" )F/Y0XQQ(+C & !4%P & 'AL+W=O-.EOMM-Z?K->JV+&:JK=BSQKX MLA6RIAJ&\G:M]I+1TBK5U9H$0;*N*6]6YZ?VW;4\/Q6MKGC#KB52;5U3^7C) M*G%_ML*KIQ=?^.U.FQ?K\],]O64W3'_=7TL8K8=92EZS1G'1(,FV9ZL+?'(5 M6@4K\3=G]^K@&9FM;(3X9@8?R[-58!"QBA7:3$'A[XY=L:HR,P&.[_VDJV%- MHWCX_#3[![MYV,R&*G8EJG]XJ7=GJVR%2K:E;:6_B/O?6;^AV,Q7B$K97W3? MRP8K5+1*B[I7!@0U;[I_^M ;XD !YG$KD%Z!3!6B!86P5PCM1CMD=EOOJ*;G MIU+<(VFD83;S8&UCM6$WO#''>*,E?.6@I\^O1*-$Q4NJ68EN-/S!&6F%Q!9= M4;5#'^"<%3KZVM"VY"#S&AVCKS?OT-&KU^@5X@WZ:R=:19M2G:XUX#&SKHM^ M[?J M.>JY4<>Y!TXXV#:T\X5+MC4&W%H#;J6H$<2>I)HWMYWS'#G4%I U!>B*7C%4#,@-N_-J#"VVDMQQ\$5T.;1::PW5A1<4^\88MLM MI +KJ;3XWG+%35[PV3,98"=>>[YCD!$+3KL\TY2(UD)J_I]]X3)Q-UU\8#R< MIEDT,;%+*@]BMXG3 6OJQ7JC1?'MV"2R$H$](;NK19CI' .DJDG.*2B*,[< M,+,!9O83DVZ9E(#QZ=3I0W^<+J#9# *)TWR"4N1?EG^!7T@4H MGZT5XH1, +F$@L2-" =C?@[\261'FUNF3*H]" FE&+B^\,W]%-Y4PU_2P_NGB63SW, M(9:D6;#@8IB,*(D7Y/B04<.*P5QFDQ! M.N1BDBW%*1Z)!<<_ RE;2"?LP60\UH6"L"8^" @G]-AAMR".ING%*9<%4;@ M?207[&>7S\]E.R?Z.8F0#,D&T:15\5^JPE!JJ M+>NM]H.6KI4=#P+FSC-M MZ>E$/*>@- AFH.=2<98%"YA'GB)^GAHR0*ML1>0,(R=J!SGA*,BGW."42W"V M$/]D)#'RLHYFRQL*%?VSXY^,+$3\+'0M1<%8V:_#ZGTE'AE#RI2[:%_1QFV@ M.=^$23X[UKE4E"P>Z\A)Q,])'X?2%GIXO=N)JC26 1JM>\H7IJF (S>?H912 M6O+"C+M=]3[@W)>3C/"4;EUBT,0M!=E(6<1/6;;) ,![*"AWT&JX;>_@G-@1 M4W.Q)W 07I;$4P9WB)&(+)3IX4B+X3-HT07U#:(:;=@M M;QKC5Z8J89(+)Q^&<[(C81[FTX[1(6>JM'0A3X%V RWV]A9T([06M7W<,5HR:03@^U8( M_30P"PP7Z>?_ U!+ P04 " )F/Y00WQ@9ZH# "]!P & 'AL+W=O MGDH^D!+(XE8BJ.2E+WNU_>0DK4NT V*]L6FR)DSY\P,A^N#N/>^90[T MH3/6;[(VA/YUGONRY4[YI?1L<5*+ZU3 IVMRWSM657+J3%ZL5B_S3FF;;==I M[\%MUS($HRT_./)#UREWO&,CATUVF9TV'G73AKB1;]>]:OB)P\_]@\-7/J-4 MNF/KM5AR7&^RV\O7=]?1/AG\HOG@S]84E>Q$WL>/[ZI-MHJ$V' 9(H+"WY[O MV9@(!!I_3)C9'#(ZGJ]/Z&^3=FC9*<_W8G[556@WV:N,*J[58,*C'+[E2<^+ MB%>*\>F7#I/M*J-R\$&ZR1D,.FW'?_5ARL._<2@FAR+Q'@,EEF]44-NUDP.Y M: VTN$A2DS?(:1N+\A0<3C7\PO8-^]+I/F5(:KH;/ R\7^@NQ&H M^ 302WHG-K2>OK$55W_WST%J9E:CZY15O^IHM0%W8OU8G2EQMZP%3TX]FR#.J7BK;;*EEH9>L(FHQ&#I]]N M=SXXM-+OSS"ZGAE=)T;7_S_W_PE(/\I. J2Z7MRHZ\MLW,Q('(66*;N7KE?V MF'V%7O:ZL3XE8S=H4WERT=;#4 7BKI<#.^I9>L,4A"JA3AP3;%K2N*<5)V?< M_;0&E1BBE8Z7-,;]PE.)S \=@";PEDU_ JTUW#VF0\#Y01U]#%,:5F.)5%F" MK=&^'0-K&P-H1Y72YD@&]]LOZ2?$G%0A'*2'&I662 /-6LPH"*4^^D M=YH#)A(%+ELK1AJ-@WK*$/A:C!"NDI"11[5':V '9R7W$ $FB::VS0+7L^^Q M2*96[74S]5P[=,I>)-EP@$15SMW7MT>O2S3;3'%)/_ >-DV$"JT^D[) BAVQ MQ1&S0\5B$6+%QJC$I?BC1\]&S:<:RES!J"HE>2K-6<(^_^Q5<7GS-2J/V'9 MBF.&-(QC@ANV(!1343OI8NJJH0SDE>'8)$Z&IB5%>Q43>HS!*XWKHG=)$96M M0BJ-7T!]:8;$%GO('<9/&U,!6&+2__Z2KG9R,5S=JDAR,V[V##.%WG MW?EMNAU'\D?S\6%[IQP*Y&PO M=V]R:W-H965T&UL[5M==]LXDOTK.-[,=G*.+,NR'3N=CW.< MI#.=F>GN;)ST/.R9!XB$)"04J29(RYI?O_<6 !*49;=[9^?L2UXL2R* 0M6M MJEL%Z,6FJK^ZI3&-NED5I7MYL&R:]?='1RY;FI5VXVIM2GPSK^J5;O"V7ARY M=6UT+H-6Q=%T,GEZM-*V/'CU0C[[4+]Z4;5-84OSH5:N7:UTO7UMBFKS\N#X M('[PT2Z6#3\X>O5BK1?FRC2?UQ]JO#OJ9LGMRI3.5J6JS?SEP>7Q]V_.^+P\ M\*LU&Y?\K[B3655]Y9OW^F*+@1!#CMS#G0;JL)DU[L51@_4XZB@+<[_V#TWV'<-_]7+ GY8&3IQ5J[4N MMWP^JTJ'(;EN3*[FMM1E9G6A')XWB!N-4[;,BC8WJEE6SG!"^[&:58W29:XL MOG?MS-G-Z96IK!P&[\D1NBBP#3X(BR,&%!@(4C)2:#YTFD),&X< M9U]JIQ AU[J&7,VNU&VIV]Q2Y(?(SX<8>FVSA:,W2YDKZ&M=8W]V74"6A2E- M#5&W_-ZL.2'&IM)@\XZ6;"H9UV](]&17#]C84E\;-3.FQ%*T3^6_5'-M M:VR"T[[Q*OO.)3.L*V>I:\KLEP) $']AC-JH$KJ/TEG,8LL<&V74YY[BD]"F MS#]OL;&Y=1GFW1I=*WQ.^\[;IL5D:TQ?Y3 J86=+G_ZHGH"IH&#@E-E!'4\. M_TNY9=46.?:EF!^#];ZTI4] 8K[ASAZ.!((-^X,),4-MH+!4#F+YLBQ;C/EH MUE7=**P7Y?IKO^5DMX8A4KV%NE8SH'YZP2AU_$R-\%2!;SIIKTS6UM!Z0/P/ M-]E2EPO9QJNR L[L&H*F$__D>"R1I.:(8CM*]?R?_W$Q/3Y_ M[N+Y'>=[?<.>%WA!9[[[O+J]<$3 M!?6W=\W]>4TTX=G+J\]X].=J+,L!I%W&]MJ[[[S M#&17 MW&CF]U!T>\A,W6CZZ';M U_O5[;?U!"E.EB+6W-!E(7X MT.)=L:R2:!FQ SQ5&V8-<<6AJ.V:Y)0+2V"[,D:&Y,9EM5W'-+0/SP<#NQT, M4@-3*7(52;<$^,MV 9DH]$5 &B#4 >CJJ MT[EJ4TC$Q)),'.I:IEPE4]YA743M/V#>W$KL]4E+*\*M%AAAVJR)(:2/Z@^+ MYE'X?G/NCUKJ#)9"(H3>[8PLX%#]N:KRC67&Q@J_B.<<^EQ9ZN+P,WSPJIHW M<$$3M%VB;NI4H0L0,^_8]:[-,KVV#1[X)^&%G1?RG4^)6>4\V?+>"2_0"HQ+ MD*CKFKCPWL#@"MUKY4Q];>$.4)60US[=_"L+ P>YN0;FUTSFU4S\W\;=,P*Y ML'OUF K:(Z,+0@;BJ/OQ:C >[H7*U#QY0/SP68X?(=:Y=0#;RH"4_K^@+\E. M[^])((!B+Q+$N1>,SPZ/IP)&$%VC/ND;0>,5S67GV[C_9!U:-GTZP)%3.C_* M>JZ31C4.LGY0(TM(MEE5UU(-A'AO;DB 2,SL[!E*5)+V=+9BE&!!&SD?0I/%]LNOW!F MU!* QA@CUD.&U0D^ZI]?:681OTG3T240T![*HQBH\^'G],$4\3-6=4-_X7Z% M2E1^18\2**M7U%]T*;S2T\KCH">8C2XO(#8,^[J)( M^$6S_ &]X5U@-2P87 #%(R1H\/,8 6:#(H8X"TFHO;$P.#-#B]2>#^@LD[I%E N1JHZ^'"2*80<0"6PM5$9;T_1+$AR M_X/C2L76[[KVR6TF=B'C-;;\Z M:*%(5$L)BX\/"_L5,:.$ JH[5I>]$2K;4F/*4%@O(8.F$2"V,W=FBMY\7-Y7 M:(1[J)1147F'=)J^(8ZQ(K@H)"HMEE#8_(%;&F[OT):'ZT)GYL!/)^1#U%S0 M& V7PN2=CD72'*D^(WI]].O?"E )9UV$HM&UB$&H_I8,\M+,E=IBI\R]1VL<))ED 6]3TV'W9221&N&6GZ MD*V%@7H"JJ7=PC7-31,*4M=BACBY1*ICYRC0)='QI%TNL MPY@MK&"($IDQU9D_&^!NJ](VH5O2:TUB YL#0 #6KP7:,7#XT$\/D%$STCV) MX]Z?Q+M=S*.!W4I4F9N<1A[YX#E"/D6B=^W7D9*A-+-0*^Y M:9C.2Q-RDG?P&9L6PB0,V3&[GG@Q"&G5UG J?TI@(NG F^SKLBKHT%*!%#S) MZ(K.&,@BKG= Z).O\?U4Q%43:'O?&1@%-DV\LU7=@+ED^ PIK GF6Z1E2U&5 M"X2^:\$OYQL:3ZA7;F)O-8 J "CT#@)&NDCK#5A_10K<";J="G.OWK)*>QK" M ;T?01V^5Q/:^7EAK5&&&U9GT.SUHB/7!7N_$!&P9(2"15P%S#WK,G MHB *1E*)J#GN!/&1H2(TJHBJ>55(D7^)Q[K@*M\B/LFJNP&:BQ$;-67K\-J' M5 %3\""FH&(;XLI2UZMY6Z3]W1^]S 8A!C1;\VW6*! M(;2K=>KADI$"^V7[DK!8D2$*-@+R!;]6SVS1=TQKH 1QQG40A1)<3-S#5;^T M^6)P<@&>WS8=A>/)A"=)HSBK +TAY*FC@9<24]3RL!+AY"/"#(4Z7GNY6DQ+U#WWCD^0SLDG;X=[08 M'J0XSH7UO,QWEZ=IFZ>7OU/63F#C B[ ^BY88#CJ260HRUQ!,-66!&04PQL\ MI+$H5C'SAJ2(>9K;-V)>Q/N$/6\) BGL4P?J%TG',-J<+V5!R=*L8[?>I/P[ + M953.5Q##!BO*_I4_$(H\S)/*D!@#MG<[P6)G/"5]_9@Q>60COBUA8\V<+@F) M$P3.Z)>&=\J-!*$EP9?=CLOQT "*@;LA0.?=2,&O\Z=1??.IQUU,S(E,?B@* M G8+&,N[;CJK S?AO-4C+/UP'OZ:FKQ'7:=FAD@);\O$T M#!0S$%%1V9Y;18U B"AX=Y(ZF/0[-SP""(TR9++%5CPL.)R3.LE>"]X@9N"# M)O;;$C?)D"'#)9#48R)SZ.096F TH!8/9Q0ZV6I*4)B?6I"XDFS+DU3USW:'&TG^_)>IENB:B. M3S>2W!U#7:>^..40(\Q/=1[X87=:0RVD8HY"2!#,E1[YOH"+-($W >IK7RC, M-(G;K(G9=,3Y'DW&$[5"*HGI[-'I^*S[("G0 $SCYW'V)I18X3ATP/"4"!6Z M5\46IKG- F6:?8>H ^N%0R#*?S8^'\I_/)YV'^S*\#G^A8R5=@K3HGFUCM4=C=)@' 7.>7D+^% I).T7(5E?)A"Y/REY]:T.F M\,DE2G,8.F-93#>H1>2T()2BIDL_3%?QH#UI7.VT.R))!?OPS5TA:\+5;F/? M43=RRFM!07(&>+DR0#XKA1+A5Q2BLU+.;,">0>(4+'C#5E"RT9^E3;_T'=5X>^&NW6\()!B+K,$[5/IP?$ITV+4TG.FWY5GY MQFN%T2-.V+4. =?CR9^25CT$ON+MG'BH]4I>WO!3P;J[\O+<'O MU1L4DQ7:KKP(2?M&FOC4US7=;ZX^CZ] FL2_W! [2?>\[R*%VE(>I&EJ$_.2 MCT^IZL?J[6Y$O3N2#M<.%>^ M.I&2Z,G TU*U.1H2NGQTD62&)#7&B)A>54K'IS$$0&4*\#'V;TMS BAM37'>Z%"%JDR31LHN:@9OXNC/T M=@?=^6@[N>NY-WMYNU1M(X<&8LT!RAAA=OWO:6*B<3ABOO1"I&F?_232E/+0 MLR2A:2R_$5E=]I!BM3W'MJJ=1E"!S??GA"O]AW'J'IN7RUHL#V(O2&3MBZ>=LP$_=RJ?;@2*(R7G-U*.),TO?QN$E9:<29/% MR *([#P [[JJS0.9A;=_L'L\A\R3*H=UQ;^V5Y"5,$,XI>YW"_SR,!Y0>30] MWB4L^&1R)V/YA4$-*Q]'['V"X^55IGXT&IQWQ./@L;]T):6+K\U I5&'R@&! M/X(+70)_#Y![?5]^JMBFB-/L[4 O39'_+AJE^6GB_3:IYHG)I:X]0]M=:2>H M>8>>)$&R'XJ]&NZ5:I)VA_=H9+H%CS-NY[F3B_'3;A[$#&_UQX'P/@D!D2>5 MS9#;\E+:SLF&=YLH0A"J$W@WA_ @-#9%_.4,5NR^9(Y=0XE[7LN0R/K>\;?*$!9*M<@J<.)N.Y4B[1/NGK]\VHIA8T;+, ">YS9"%8L!K@&"ZI87'_OI&Z_ D.)B_G))\'UK(3[Z' M%"11Z0\8U!7JT\$'PPSAW\7;0O=]]W,OVB-U=C%Z>OP4_YR/II-SO)Y.1J<7 MQ_@'SY]/SP-N;EEG:)'45ECUV?2$26IR_HPOQ\<3^?!\XO$QM%4\BAH:[>3L M7#V]. 7Y/E47DV<=L/Z('!>CZ<6$+^=/19S3XU-Y=SY00:_]P[!7;'T,D1\Q M>E,SQ^/34WF9/+UK8!2/0T6+&'KFAT[]T!/UP]Z-UK&TZB[ =F%_?_*(&Y9) MXEWNW^/< LTA"OPAS.Z*)X,W%K_GM^GG'6_3SF[]S&ULK5EK;QLW%OTKA#;838"QK)L$O34Y?OU%ZZL:E5A6\VQNZEQT>[/76U5;+@3?OR=#:9 MG)_NI:Y&;R_YW6?[]M(TOM25^FR%:_9[:>_?J=(K@>L^"/%D;C"9DD"I5[DF"Q'^WZKTJ2Q($,_Z(,D>M2MK8?T[2?V#?XE+_J MPN_>C%8C4:B-;$K_Q1S^I:(_9R0O-Z7CO^(0UI[-1B)OG#?[N!D6['45_I=W M,0Z]#:O)$QMF<<.,[0Z*V,H/TLNWE]8XMO-?;Y MMU_4K:H:);ZHW&PKS9%Z^1_CE7MU>>JA@):=YE'8NR!L]H2P<_')5'[GQ,>J M4,5P_RD,:ZV;)>O>S9X5^.^F&HO9,A.SR6SRC+QYZ^V*#VBAK M52'2@M^NULY;E,SOSVA=M%H7K'7Q#:T;:_;B/2)$@I%GOQ/O.JAT:8$3A;9H*BBZNNJV MQ%7X"D)I'RTH-(*MUPVV0'5R1I.%[,__D)FFAD^(7.60*F$VI-I;] L>8=I> M.RQJ;33 '65O=0X3R,P89I>)K:J4E25LD?A*^U*Q"5:[&Q)5&@=7I7,*:S55 MAY![TU0>IDM/,$1X0NXJ=EXCH)+C[7L14W=U6&7(!86(DRQUE^]DM47 89[? M&:>.&OQ4!$P58DZ*4"PJV:0]+82DM5S#&WXGA=/8MM&YK#PGVB*QY&!*^D&7 MI:B,%R;/&XN$RSO$"G!"_D$;%T4O;H>=SG="6F2V63OU1P/]L,>JO?:T'H9M M#=140&P/5;*!AQ:E2(&D;?"^;(HD.9HQ%M<[7=>ZVG(6$)ZBI \4P,I1_=@N MSK2W*3?$+3K%-*ZM;8'(&@\O]I1:A+ +Q:_ZY =-"RL.6E#U8!\O[*IN!YK@/H2E M!;EAJBQVB2<,*B5%D\ A"YG>KU5!87-FXP\DBQ8CK92[35,%D1:. MQ95#LO(HZ)A9,L^IMBFP*$ $C>JFVJ**:F69\:M<";,N]9:+/%A*TNS1$N7* MJPU+7%F/ M>>21RPRY,6>REFM=:G\O7H[:!,:%HU>94!(Y)C"$03795%',@ ;64@]S!;*\ M/?A?UZ5**!0*!RY1':-:.%HD-N/M=9V)O#1-T0$4Q;0VU- :C;-I?(/4-)4# MAJ"#^ZEOZJV5Q4-\WB%QA4+U8#Z@B!( D-:_1E?G/V*M.JR-(A,BIQ"4W E1EM DCD7-/K4Y#*"&M?!<1D\#A(NH^BY<0GGG8>/LJ1041U3 M$03!+T?7UY_):$H='H=<$G/Y#R?6RGF!?V!LKP+/FE)QU3,6J MG8HI4B_.QG,<#E =T#'$AL+ -Z(*@"R@P(6FO)5EP[75%_Z4)9LCSL-)J[<: M7=T%K1^/% +"<,R3[ED2=CUZS(&OZ'82<)($^(,)SZ7&L$'LR"#L[T.0.MSM MD0/>%ZI$0]K^6,BN MC8^ESG!AV@/ QQP&+CWQYJ3E11[V8_2Y'B.ITNG@R""?>/6YZ;UOM+0)M MHN8/'!DR)4U?R;P62&-F M,W"H4JL5&9!&F YR0PFWQ1M9,1HW%C_!_"+8,$S?7K;!%X92+'*4FPY6P%AB M63IL=0/CHX&+ADT>VX>'"<;0"&,$^4SGX1S2F^'#\2+@XEC\2C5&I&\-< ;Y MS&+])CA$7\@;.HG$@UNG#NRE;NFDL$&/(XVA%N6 FMJN/1I5#!HT;5>^A8H& MWUN<$U!UG)FL2^Y-90Y@:&EO%*CN-HY6'!.52^1(]E]SJ*1F@,TATYSWXX?,JR/\ M-6PIFF7;7!Z#"NQ_L;@8SUJ^8R\&S1>&S+;[:,?R?'S>8\A@QP?D$JB ,J35T/2%8A54[?B7VX7Z.C8_$@ MCNGH^,Q,T7$]W6S0-$).A<(YR,!]5(Q CW(L/F@GMP#6;0N,R5+">!R:@>AL M)5=(2T+]FI-K.I06G2 BIRAD?0_B,1C%ZAUC";[GRT?N=)R_X;)[]1JZR/_^ MO:*X1B &+X:!")\N8DJ?^^Z7BNGRVC,XOA#3Q22;+L[I:;;(%LL9GF:S63:= MSNEIOLK.YDOQ\=/'*[&<9I/%2JQFV>IB+J;S9;:<+,7T;)DMSF?B9ZZ!\U5V MOKH09UA#WTUGV=G%2DPGTVPU7XBOIM\I$+^\R%8K5@2ZG[)RF) MIBMZNEAB MU[R[/GPG2\JO^]YD! "C52V]!H&E#@=B&CW"Y<]PYNNFJX3<^GG8-]>\ZSL^4*?R\NIH,! RQA>'KOC ODS[>% M?29:ZW!VHE\UBJ9,Z"\?F\:P'"87&C73]07/5.(1]B.-+ M-[840&]'*!$&A-#!W,# =7D?!IJ6<88WGK=^\]QXX M^@TB>>2F>-K/1<^MZ&?K^+%?3DY[OU3!KBW_'D=5@B8,/UJU;]N?_*["+UW= M\O![X2=I<0#%H4=ML'4R7IZ-0I.F#][4_+O7VG@$@1]W"@=_2POP_<88GSZ0 M@O:'T+?_!U!+ P04 " )F/Y0,J[$YYL' "0$@ &0 'AL+W=O5H87U]6WG#;]HM7<']X(\61OS0 \?LJO!A Q2 MN4H]:9"X/*H[E>>D"&;\T>@<=$>2X.%]J_T']AV^K*53=R;_56=^=S5(!B)3 M&UGG_HO9_ULU_LQ)7VIRQ[]B'_;&V)S6SINB$88%A2[#53XU.!P())-7!*)& M(&*[PT%LY??2R^M+:_;"TFYHHQMVE:5AG"XI*/?>XJV&G+_^J."2$V<_&J_< M^>780R>]&:>-_&V0CUZ17XA/IO0[)_Y59BKKRX]A2V=0U!IT&[VI\#]U.1+1 MO+C-3?KP^RDL_Y=:5O)UI\2=*2I9/O_#B1R+=(*T5I9;A7SP3E16 M(X5T_BQ2@_QP7IB-,)TU>5"$E!4:NSLC4([*X(AMPX$:GRHT$DJ,]<*_]3GAE"R>V MJ!"X$WXG2S&-1,$L&>*Y,VJ'/MQ'F71>[-Y7SLE)&#V?#(?(,PZ MUUL9LMFS6$7VP9I'F=>*0 @;*_D<@#*/;(-BJT8GH(75_KG2JEN81!L!^OU![O3$7KC-@8 )!Z78:][2NX#N.M(OR]L7!.E]ZP-9GJ M"1R9O=\IN%A5UB#2P*5GN<@,K"Z-%TY5DL+7B!-0I2G#0XK-I@P@;(@FS/X0 M8O7$?N(ASP$=CECGZJ4-&VL*-K; >FU5$_43$7('(G0R3@*"<1EL2@6M.9[7,&Z9L:P!7>@4,$#V\]%9S M?X#0HRHEG_+Q@-5@L2[A%C10Z B(CM6",\ Y#C8='(@-XQ%<0G -&I6I$ERF M&[T( AHKKMKQ_FVI_QLDI*!*Q2A3A2 <] &3@[>G^*R>4 D.\K^! 2QZU$!5 M"NK:5#0Z^E$T=%'E.M6PNB4:^B+HVL]5((22@Q[!%06!"H0 '&MC43[I6*8B M&)YIEYJZ] ?F=L$.036$9I@H.)D?I<[9&&3,]RI5Q1K.QA-J M-$G&6D&(BW M$4!FP&26/2?POYT#DN"<-)"5Q:@((F5;3"J#8BFSD*,C<>,%&H[J&H[H>0U, M]]S68;($_L3*SCGV=B^=B$?SY#L(HK;" Q(_$@)8(&(7FD ADDU&R[EX1H5M M2-W/VKQ'E#T"@X2#1SE&*?1L3>PR2)8R<^<7D$<"]-JQN-=/_86^L^%IQ3"O MWGSW4[^WP$[ ^$Y$PRA9X3H=KA9TG0T7LSFN\7 5K\0O_81GF22)L#N>+B [ MF\74"R.YK4*!E8"K=3FR 28]4;4',2A<[JIU$?=GZ*SG$[X MFBSF')UEO.1KDDS%EQ-UW*RI8 :#T"1V-'&PQ2_[;\^4[L#I<+Y8X/KWOR71 M-/KGPK>@VPFT$XN(V%LMA'&YGX-H<>[DBR@U-,_$,1(\;NJ* ZJ(N7E8X M4'0U3%:)H"GQ@LIK[4/O5]1GQ'0RG$WFXO/+R653 QOUNM;Y:CA;Q8W6M+8T MI*" M-'N_%\IRR:#D3'TVY?<\UZ'@KQRH!97] ?RA3*K?W'HG$I/R MLI@R-V^XA.*PF_L[DL/*X+_C9(M-+O*](&: TZL:#:C(92+ M?:;#D-]97C>N][S=UCJCJ6+8#/62$J51W1X'EU/\<7A&"N^ES=AW (AIE ^C MK'>N:-O-V?2<)D\HL(<#(TAI;#=,A=0:BK/HO"W8.?3H38L4S8)G\7F'8J8Q MWG@NZP#C S9D&7OP8L X1.88CC9Z.^2SH\I%):J=8_J--2#>]GARC'32#("H ME!GA@"CB7_NWPML,8.W^_WO$I';]O"MYI.T6UW2Y+V!Z 1#S"" UCYX M4_$WA[7QWA1\N\/PJ2QMP/N-04%J'NB [B/4]9]02P,$% @ "9C^4*;4 M6=A" @ W@0 !D !X;"]W;W)K&ULG53?:]LP M$/Y7#K.'#4+MR'&3EB20M"OKH!!:MCV,/2CVV1:5I4R2Z_:_WTE.W S6;.S% MNCO=]]T/WVG>:?-H:T0'SXU4=A'5SNTNX]CF-3;-URH:#D/MHU9SG7KI%"X,6#;IN'F98U2=XMH'!T,]Z*JG3?$ MR_F.5_B [LMN8TB+!Y9"-*BLT H,EHMH-;Y<3[Q_N6V M6$2)3P@EYLXS<#J>\ JE]$24QL\]9S2$],!C^ON$^[KR3Q?KJ4-7^AZWY1%D+?6Z68/I@P:H?J3/^_[< 28)6\ MV![ 0MY]H)#E-7=\.3>Z ^.]BL>RMZ GL.=5JZV\%$56/R.CRF-(1=VR&7-3A)^;M49L.D(6,*2 M$WSI4%L:^-*_U0;7PN92V]8@?%]MK3,T##].1)@,$28APN1_NO>/4'B56JL!\N@5J%0ZO@&G-LMFB S;QE? 'WO*,I M<6@$EQ;>P?AB1E\VFK$,;H02-# %5%H7%L8IF;,IC+/)*&/,.Z?I*,DR+V73 M43J9_JE3\=',-6BJL%F62FB5Z\=OL [+N^IG]M6]W_P[;BJA+$@L"9J<3;,( M3+]-O>+T+DSP5CO:AR#6] "A\0YT7VKM#HH/,#QIRU]02P,$% @ "9C^ M4"7\IDEK! F H !D !X;"]W;W)K&ULM59M M;]LV$/XKA!<,&Z#9$O6>.0:SU=+)[M1J*3O3< %WBNBN;9DZ7$,C]U>S M8#8*[OFV-E:P6"UW; OOP/R^NU.X6DQ>2MZ"T%P*HJ"ZFJV#R^O(ZCN%/SCL M]=$[L9ELI'QO%Z_*JYEO 4$#A;$>&#X^P@TTC76$,#X,/F=32&MX_#YZ?^ER MQUPV3,.-;/[DI:FO9MF,E%"QKC'WX^D$-YRPQ;+97<$V6UT9M]<:DZ:P3'A3V4 M=T;A+D<[L_I%RG+/F\8C;TT-BKP2AHDMWS1 UEJ#T82)E$, M,:[[&/0K,1+R6@I3:_)"E%">VB\0[P2:CJ"OZ9,.?^O$G-#4(]2G_A/^PJD( MH?,7/E,$E^MY!6ZY+AJI.P7DK_5&&X6M]/<38:,I;.3"1O]K[;\MQI&K\S / M-9!*-DA0+K;$,+O5LY1_ DW0JFC M^2-I^Y,'>_($SPVFRTPA-_WA)KEG#1(&AM/5V"P6T&X1+,ZL?Y.2" M!$'FI2$E+ZH*26VU,!3R3B!3E )1' @>CM -T0=!H9D[J\SGN4Z?GN&^D-F1=%%W;(3#TN&ZE,OQ3#_(-#MYOT6AW M#=@M T4M9".W!\2/,0+?)D(3ST]C^^+Y-#[9B;S$MY+0B_*8/"A6@F M$+MM M?]]_E]& _GRVOG'#!Q-1T-=3UWRGL61>D,08)\U2DGEAFEF1GUM1Z%,4I7E( M[H$5'SJN$'")951\T[E!/6[?BVC4;]'0 M2N+,RU+76H@^IJ>%AT?\]&GH"V!++\F4%3_KF#VVV$4PCW!*-XT#BHR["(\$ M(R],C1D\Q0QKV4ORH8<\!*%WX#YAS6'^GW'2N7^*,YFG9SB?X>_S*.U< 6UX MZV!5G;$CE#T#O:>R^0)RY!VV53TQ$J/@F"H*@-+RLL(QC0=_ *905SO?Q>!T MXR9 SV%]QF#'/_1Z#Q]!=$#>[D A/O3YHL>GAZ:Z!WO/*9$4J#W,D"AV_]CT M%R2/0BL.2(Y$2C-L26SEQ(JP,Y&?O2A* BL*IQ:WXK37B\Z$6$2\;54&@XY; MD9_])7:G%T6T!^;]V=R$X\G./]Q6&23M>N=7_;^%>] MO[.]9FK+A28-5&CJS]-XUE-\7!BY/C30X3-QKC5='4%8!]RLIS;BP :;+ MZ.H?4$L#!!0 ( F8_E!YW@<(U@( ",& 9 >&PO=V]R:W-H965T M(#R!%RVN;=&HK=2\($).F3< 'Q Z4?3(-HX= *:59>8^WN/ A, MV6#+S)G:H:2;6NF663KJ;6!V&EG5@UH1Q&$X#UK&I;=>]KI;O5ZJS@HN\5:# MZ=J6Z<<+%&J_\B+OJ+CCV\8Z1;!>[M@6[]%^VMUJ.@432\5;E(8K"1KKE;>) MSB]29]\;?.:X-RL:DSL,-;A!) _!XA'0-S'/3CJH[QBEJV76NU!.VMB\I_8]B_AL#'!5X5)2*&L)84JD:;(-0*T&= MQ>46F(777))2=8;)RKPY!ZHE3K6$*RRQ+5!#G#M-M)CH%3%IXFZ=%];WRRN( M4G\19DY(_"2))N,]TYI)^^CTV7SAMGPVGZYKK% S 10"&,LL I?$C @1*( M0C^>SX HLWS"%$IV!C(_CR.(8G^6/GDS3!#*D0U!G(/IO[#^"5!+ P04 " )F/Y06E(7XBH& #,$@ M&0 'AL+W=OV:->@S3H,11]HB;:(4J1'4G&\7[]#4E9L-W'==GW;BT5)Y+WG MGOMIG2V5_FP*QBRY+X4TYZW"VL5IIV.R@I74M-6"2;R9*5U2BUL][YB%9C3W MATK12;K=8:>D7+8NSORS&WUQIBHKN&0WFIBJ+*E>73*AEN>MN+5^\([/"^L> M="[.%G3.WC/[Q^)&XZ[32,EYR:3A2A+-9N>M27QZ.7#[_88/G"W-QIHX2Z9* M?78W+_/S5M!H.0R7.E] MSY36U].),JR71;C>DN84WU9\&."Z=4]Y;C;<MQE,94Y>L'S.Y9Q, M7*1PRYDAU]QD0IE*,_)Q,L5V1-&G/2CZ#8J^1]'_*@I#0#6Y9H;/);4L)]0T M0#8!?KRE4\'(+;NWY%*H[/.GQYRS7^MO2%+X%@89.!>:C,JX5[KDMD P-]3P M#0XE7!);J,J 6'-R2FX+S=A6;)#W_'[[P94 M(C[C&?4)"\^SQO/UW=C=Q>.][U[#/-2+3,TE_P=B@83+3)6,O+4%T^28W:.D M&792/XZ(1/$[(L=I-R8G;A%'W=%@O4SZ:5@.!PDYV>/[0>/[P8&^_]8(_(KS MOTOM;<'(E2H75*X(2KV&CPV(L4Q+[P8JQ,IABXCW*$,XH!@*DJE*&T;4C$PK M U7&8(R' L*N]Y"W7>AEDELV#< M@R)88A^X^,74;#C!$5EHCI[%H=OMN=3PC2G(C:H<,5=4TIQ#]#6"G^J(/*^T M\OY\12&+ >M?3+:WJ*Z0@4\E'&!:GT\;6>?,H5 Y0W;Y_ -K3 1X!5\81[AF M>97!)9HPP0,/'BZ;S= #C;-P3>\6]22LL4$20T7M"J#.D)VNXFUR7U"@13>L M=(A/3QO7=O7,L#LF21DR&B @")(F=B=9'2_7+&/E%!Y)1G721IOD0TE.,$$8 MB\TN'W9,-Z%>41AMX4(4J.#+.RHJ'Y)'_3AN)^B70OC6#Y5'_:3?'C:/(K!E M%LS/!&*U[1LJC"+,I8#/!*Q!! (K6VMO'/1X:<0.'YO4#1W($VF=#=Z8A8+ M_\17#Q[Q<1!2SA1*0SS3/C%R%R,90XBAOH\'@$#F3+-,5H-1=T9!A.D8S3;=@ M;T/>3<+*<^/XJ&XYB,HSA.OLO6)"6':7VMY/R93RS! MZ92+D!K#;I?TXS[Y?[#ZX<&J[O[.2,> #34+?]'<_[>-TKB=P/LCTPG:Y6MU0@^(.]#3BP9Q$IA*HNZ@[Y=]K'HA;0;= M&BCBI'3=!G;A#[JI9XEUR_ C6%,(=^K@@\(<[]!)UFT&A\P"<5J/:$^SQZB6 MX-L/$5]Z@6]-G#^/T7=N!H$%Z^L5QB,E>.[C RW'LH !UC^,=P[^LN!9L=N! M]]OA$M-QH!W@(R :1Z.1\TDR[$9QFCCOI$G4CT=N-4ZC4:^W1>"C3&U-=8<4 MUE,R"5X'X+F3#DQUO@.7'T0F+K3#)+/VDFL0Z3#&M3<8N]\H]3B3N/_87YS. MQA>&DNFY_XYBB!]NPL>&YFGSJ682OE \; _?>=Y0/7?54K 9CG;;*?ZVZ/#M M)-Q8M?#?*Z;*6E7Z9<$PS&BW >]G2MGUC5/0?,"Z^!=02P,$% @ "9C^ M4.[XPV'U! 00X !D !X;"]W;W)K&UL[5?= M;]LV$/]7#EXQ)(!@2W+L.*EC(!\KUJ$9@B;M'HH^4-+))D*1*DG9\7^_(R7+ MLILX[;;'O=@D=1^_^^(=IRNE'\T"T<)3(:2YZ"VL+<\' Y,NL&"FKTJ4]"57 MNF"6MGH^,*5&EGFF0@SB,!P/"L9E;S;U9W=Z-E65%5SBG093%073ZRL4:G71 MBWJ;@X]\OK#N8#";EFR.]V@_E7>:=H-62L8+E(8K"1KSB]YE='XUX#/' ME>FLP5F2*/7H-N^SBU[H *' U#H)C/Z6>(U".$$$XULCL]>J=(S=]4;Z.V\[ MV9(P@]=*_,4SN[CH37J08_8V.,!IDH8_PNKFG8X[D%:&:N*AID0 M%%S6_^RI\4.'81*^P! W#+''72OR*&^89;.I5BO0CIJDN84WU7,3."Y=4.ZM MIJ^<^.SL'>,:/C-1(=PB,Y5&\K@U$#>L+5XZ.4-7[?XG5)6 MDIWPY3(Q5E.&?#V@X*15<.(5G+RNX(:;5"CG50-?'O#)PI50Z>/7Y]SZPT)W MXO2P0+A61;X'%X"1BPJAP^X M1 %1\Q_#473OX%3W=MH\79.')'7NN' M;9S.7X70]4P4#,-QYZ3&\0-A/R3DOXGN-E@N$^>*W"^=G#9VT6D01N,V>#N( MZ-.PFP,_$99A=/*38=GJ'<;!\*3KBG\LED;8F!!K$HMTVP@!%G7A,MH=/ NS[Q-Z MD]RO>WT?]QPE:J^SDAUXSI5V73I/T2<:2-RT0J E#40NI=H[?:N&4!+"JBC= M5--H:*PL&5UK*:=F0*I7JA(95,:%W8?&W>FM?5WSUGWX)+]/D\J9XF][J@'LL+18)Y8P72-!NF4X7;A?U?9^L6YAW@[>S MU&I)B4HH-S.IPY5276P&_Y$;O*C#[K19\_ _;YY MQ00U:6QNTAM,&^P31Q^==&PO=V]R:W-H M965TNFM?(Q+<:F7\(JF) MFM=IZHL:M? CVZ#ADYUU6A O797ZQJ$H(TBK-,^R6:J%-,ER'OGT6[*/!5XE[?S2'$,G6VNNP>%H%*!B&7\[#F3 MP64 'L\/[/_'V#F6K?!X8=4W65*]2%XE4.).M(JN[/XM]O%, U]AE8]?V'>V MTRR!HO5D=0]F!5J:;A2W?1Z. *\> ^0]((^Z.T=1Y1M!8CEW=@\N6#-;F,10 M(YK%21,N94..3R7C:+DA6US75I7H//SWLY5T!\\_6D+_8IX2.PAF:=&3K3NR M_!&R&7RPAFHF,B66#_$I"QO4Y0=UZ_Q)PO>M&4%^?@IYEF=/\$V&:">1;_(( M7Q_@]]76D^,'\>,)SK.!\RQRGOU%!I\=4A@R"&^D+Y3UK4/X_AEO"=:*37_\ M*:__X&)3"R:^PJ9U13SS7"A=6-,'?//*RM<"78'-: A=*Q/&J81 M<-4J9,OM].48&B5,(#^2?))/CW1QI(75FF==;*PS4(NJ&.H=GH?)J Z]I9MR#;Q!:RM<0-*4YK_@.@"P9\OK/\ MWOM%<##\4Y:_ 5!+ P04 " )F/Y0M!\Z+5H* !B&P &0 'AL+W=O MS[/KL+GJV=_QB6 M2D5Q6QH;GO>6,59/A\.0+54IP\!5RF*E<+Z4$3_]8A@JKV3.ATHSG(Q&Q\-2 M:ML[/^-W5_[\S-71:*NNO AU64J_>:&,6S_OC7O;%^_U8AGIQ?#\K)(+=:WB MK]65QZ]A2R77I;)!.RN\*I[W+L9/7QS2?M[P#ZW68>=9D"9SYS[2C]?Y\]Z( M!%)&99$H2/Q;J4ME#!&"&)\:FKV6)1WY#.K2F0\ZC\OGO=.> MR%4A:Q/?N_5?5://$='+G G\5ZS3WJ-)3V1UB*YL#D."4MOT7]XV=M@Y<#KZ MPH%)7YF7=KX6DWJ-$#J\JG(9RVY)3KZ+&J<2Z>7[JRU!%6 MCD%(FXM+9Z.V"V4SK<+9,((%;1QF#;D7B=SD"^2.Q1L06 ;QL\U5OG]^"-%: M^29;^5Y,'B3X2VT'8G+2%Y/19/0 O6FK[Y3I3?\7?<5+'3+C0NV5^-?%/$2/ MH/GW UP/6ZZ'S/7P1UGY=Y 3?U<+:<25=YE2.5X'\9U ,<0^KP!W"II-T('I.[\-Z03D5E)KUT=1&:D+K$S M6TJ_4$D>HZ->2,JZ@;@A%G7,7,FDNR6126M=%',E ">YSJ+*$?QQ*3+E(^ D M;IA8H)-&KD.M(_%A?I :ISH-2[DA0KD.E0N@ TZU+>3*>3DW&Y*WQMGU4F=+ MTM/D.!&5U])@518%*07U10%3P(JP7^9LKEE.L/(J(,L#D04<>I8_# 1P@2U4 M. -P@R"[ZH$!.("KQ%LYUUAB&Y+.$'T.P4\ M4=JZ-,!I:NE,CGUOM)? 9?%*@P%A&83_\Y].)^.39^*J0>%7-40HM"%A0"Y* M@E1R20B,K]C21-6O@^L!I5/T<"SXU3["3$G;:\0#U+#=.NSZ%@#^3P"XD OX M/L2]T"/-FZB@O0@$N-K#:YDM$4AHH"L#,[HG/.!7F^=S#"X-1 9 M+HC'M+YW(+V/;J%(N42W=ZVRVB-ML7+)@7S!@=Q[PC1E53E $0>\0=,C*D/0 MI(LB(=W>JT>!Q+3H.5B1B\IK(Z:[6G2GFRQ"7P(O4R 0Q'CV>)^DFH\?R":VQSSI%?KX%'*,@D"ZT/)Y-#_G ^QJ@,Q[- M#XX2DB#\56IKD$,V<58Y/%H@7E*9*'4@+4F>@(177=EQ6 HL$:R,[+.TAR31 MR-K$F)12,>$H'6ET$-/16$14D*((Q'2U]D?+U6F2H;$T3=!(OH!N=*Y^)N,_V&^-TN'CEA\(#"! M.'VT?UZO& 1A,G">JZ4T!4/4/0FZ%;/S]%S28.? M^_&.J)VCZF'HX& O=%[#^8"!O*:0[J.>_X9V6"@+0RPI"/O?F1][2?'')4/C MFD=4(3_5.NA.8&D4A_]+#%K@ MU$?J1TH'T1RI#(+4/I%Q0Z4R7>@&B% >)6(&U@>Z+LC\VF:F9L4)#M$017I' MRMHFI[EWNZ-Q:T)M"\,8C(DF^X@&2',R1S"Q:A,>B4(US6/F O5Y]+@K%135 MD7JFH48@6![FT"89K0K2$T;Z?Q7DZU2.S09"Y:DGA)V[U-]I^H(X.! 6B&XV M3\E]R$1QX^L?ET63$6?1:#0]?"8NC+J5B.)E(:E7_Z$,QM/I,_;!!VW0OI;B M1H;,?1_B?1_'R=%4'(@U0NO;VY2'VBCT 2GQ@VH*/S?*'!Q[70'XR+N]%J+H M-5TZW*?5R_L\?X^#4@QW3 $8&Y!&;G$:2>%K0P]-_?N\>#4&^$*#@I)61]!, MU*YJ#W2##N\\5ZZ+*# ZJW9T%NTL)YJRF=-8UIZOMN==.B\7"Z](-9*TPKQR MRT,(G/[3%!WP$9 0<0%Y$\C<.9Z8E?(WYVGJ@1_2Z(72>A],P!T\:N.$K0L\ M8 "'#%LO=\01978%O"-D:JQC">S,O<,K<2,:'576!DZQSA[LOP62<# LG,L3 M#@7E5P"I!HJ(%@9LS'XT,68$KX8G.%('AB2W2A,W XJ;3/NL+LFV. _5*:;O M]BRY HJ6VG(?*]$*Q*:5V0*YNJW2301<[O"F'8^)0A?9W57 _K2.H@]?A/WI M,YD,)4([COOD%>;?L@.2ZEQ1DPK8'8B_H!>70/P&G5^C1I86:UE*AG=STV+? MS0Y[146"0ACQS$$F/7'H+:NIMR&<)O$<==IZ5Z&+S]0ZYNZ7:&B6Q.)<2H[573%AK:J/NR""@[E''I MNF@_).?4JJQ44KF[TRFD]F(E3:TZ#^VK!(S 7DR4%UG&Z;&@3N0NG%C7YCD% M?K4U9:P,*VAD6]Z9!(4J@,W=5CR* 3J@-D$T^LM;;>#*6TWWIFLW< MTM&A:513#:(.-B1EJ!;L=0=S:0C&!5^Q MDX/)%@2F^V'12=70&N[8NRU'HWF[_V+?0^G7 MK/',0VLO&IDEW0DNM.59!&9H@/\G,9[V9[-3>ACWCR>GZ8KLFE_.CL6D_[QZ42<]$]/1N*H/YU.NU" 2ABJ'D]!Z4@\$8\G_>GAB!Y. M^K.C$WK @0D][,BE>!;=D^CD>-;P!X_/WMQW"S_<^>X!G%WPUQUJ)X VZ1-( M^[;]@'21OIMTV]/7IS?2PU!!&%7@Z&AP&PO=V]R:W-H965TG^Y[^2#P6>'";:S!>S(SYLYO+N5)-/2$L,2, M/(+@SSV>85EZ(*;QM<.,>I-><7.]1O\0?&=?9L+AF2G_4)**D^@X HFY:$JZ M-HM?L//GP.-EIG3A%Q:M[-Y!!%GCR%2=,C.HE&Z_8MG%84/A>/B$0MHII(%W M:RBP/!5KJF=9H^"_AKHV-(CP:0 M#M/A,WA[O9M[ 6_O7]V$<^6RTKC&(OPYG3FR7!A?GC&QWYO8#R;V7V?B%I<$ MIZ7)[KX\%M>78G)V;@N$,U/50J]^_.$X'1W][ #S'$-=@VI%B:*'-O(S%RKOYBG MQ9(UI1?D/LCNWOKVD\"X_"0YX;LZAO/&*CU_WM7.L4&0>GD(>5\V'L6K=;S" M4V)R$" YR18)-^E#4YN'@7!(5"*_8]3J<6+XJ=!!33124;R9V9^>(\3Z;59> MG%RI&,SR<6Y-%51RE&A%R1$5U)"QJRWXE,'_D26OUGO[( Z;WK" ]"GT-6-8 MZ4%F*R$1:N.Y$9]/K MBQN_CG8#2=3L %M4.M2S\V$U)_V\^6T':N^B;?#*8=_KK2#$G-6 M'<9'/,[9=N!K-V3J,&3-#/'(%I8%S\AHO0#?YX9'JV[C#?13]^1O4$L#!!0 M ( F8_E"V3.XH" , &X' 9 >&PO=V]R:W-H965TA;(/4=IPV?2$))-E;!X72[.7#V ?%/MNBLN1)Z>>^Z1=)ILE7XP):*%QTI(,PU*:^OK*#)IB14SH:I1 MTDJN=,4L3741F5HCRWQ0):(DCL=1Q;@,9A-ON].SB6JLX!+O-)BFJIC>+5"H M[308!GO#/2]*ZPS1;%*S E=H/]5WFF91CY+Q"J7A2H+&?!K,A]>+,^?O'3YS MW)J#,;A*UDH]N,E--@UB1P@%IM8A,/IM<(E".""B\;W##/J4+O!PO$=_ZVNG M6M;,X%*)+SRSY32X#"##G#7"WJOM>^SJ.7=XJ1+&?V';^HXO D@;8U75!1.# MBLOVSQX['0X"+N,C 4D7D'C>;2+/\C6S;#;1:@O:>1.:&_A2?321X])MRLIJ M6N449V@&VHS MB2SQ<&A1VN5!?S0R!"2BP$D M<1(_@S?J11EYO-$1O$X+N,=::O@S#W_V7S7_USGA M8XFP5%7-Y ZH*6AFT0 SH"1V4:?'#0_<7!E(EZ=ZC!JW6RAJHMH\8,K.K]#-A2JZ8H@<&&:8Z6DN:0<2J"KQM/-2V9E"C, +A,19.Y]&3C M$HBR=N2H%F5+RBI]<4Q0'[&,"\(?] FX=36<.L6ZP(&/W*]OF&CPE&5T5I_R M*]W"DS=U%,>7NH_(Z/)B>$0_ZB*$B0X7$:KV"J"[ D '&/L#['%;RY6S#*]@ MX /WXAS7@Y;QB/Y1\%?8T#7_\(Y+'.";C,.DX)N'HKW#\W1V,#GH@R5WX3N_.72-M MVPY[:_^8S-L>^N3>OD2W3!=<&A"84V@<7IP'H-ONWDZLJGU'I9-,>^N')3V( MJ)T#K>=*V?W$)>B?V-E/4$L#!!0 ( F8_E!8=:/RE , *\' 9 M>&PO=V]R:W-H965TW?OW?$XVUJW M\35SH%VCC9]G=0CMNSSWLN9&^(EMV>!D;5TC I:NRGWK6)3)J=%Y,9U>Y8U0 M)EO,TMZ]6\QL%[0R?._(=TTCW'[)VF[GV7EVV/BLJCK$C7PQ:T7%#QS^;.\= M5OF(4JJ&C5?6D./U/+LY?[>\C/;)X"_%6W_T39')RMI-7'PLY]DT)L2:98@( M G_/?,M:1R"D\31@9F/(Z'C\?4#_+7$'EY7P?&OUWZH,]3R[SJCDM>AT^&RW M'WC@\R;B2:M]^J5M;WN!B++SP3:#,]:-,OV_V TZ'#E<3[_C4 P.10@.IPI^8?'0K3P_=6P"O7^.OZ]^MX'] MZUD>@!YMF]*+K_USY'5F%IQ2&U9G 2\Z\R$BK=G M5$R+Z0F\BY'J1<*[^$&JGOZY6?G@T!A?3L!?CO"7"?[RQ^$?>1=HJ:WSGL!SNB1M2BMI \L=*C/Z*.1$Y+:>BX)_:T0$??R6=G.PTT8 M8SLC<2;D4Z>\2I? KN'V:#M9CS#8VM8*&Z%FNK5-*\R>:M8E&6M^P4W=7(TXP9)%,$>O>(?I MY?DU*2-MPV=D,.=*Y&^JE$ZH%5"?.N$"S $;I9[0(XX.*0Q)C0ECA1&V^A=C M)08*&%%I+I0DT?^QFSJAR0N=G-!?*LT?/ZB,C!000.).&,3=QY#G*:3G0[!$ M><4HG401 ["CNL+3J7(DL1H6OG,QS4!KH1P]"]TQ $--G<'8UNH_G$85>P?T MC^_IV&2/V?AMW7$QV*4@ MT$Z@?2":;91$QY55+TML^EB&J"Y,.\G'"#_[**&-)*,!!J3^FZYT=#M&%7I:?"4RI /T_'W?$UNNF'\%?S_BG[)%P5]=6\ MANMT\O9-1JY_'OI%L&T:R2L;,.#39XT7E5TTP/G:8@@/BQA@?*,7_P-02P,$ M% @ "9C^4!.+AZ?8# X2, !D !X;"]W;W)K&ULQ5I=#@\/RZE-KW7+_FS&_?Z MI:U"H8VZ<<)792G=]EH5=O.J-^K5'WS0RU6@#XY?OUS+I9JI<+N^<7AWW$C) M=:F,U]8(IQ:O>E>C%]>C(6W@%;]HM?&MUX)F.+?^D\K%[UICV1JX6LBO#! M;KY7R:$SDI?9PO-?L8EKSTY[(JM\L&7:# M*;>)_>9\"T=HP'3ZR89PVC-GN MJ(BM_%8&^?JELQOA:#6DT0MVE7?#.&TH*[/@\%1C7W@]B]D0=B%F>FGT0F?2 M!'&59;8R09NEN+&%SK3RXEG]ZOG+XP#5). X2VJNHYKQ(VK.Q8_6A)47;TVN M\N[^8YC'Q3X0V4&8CSIB_%P/#P@[Z2)PPG+.WE$WCZ'?[V:^^" MF]\.*#AM%)RR@M-'%%Q+KSV%^<8IKTR0!,I]@?P/Q(B/*P5\9[9<2[,E'S)K M/-S(95"Y6&@C3:9E(3S6*]14\$*;K*AR)<+*>D4"]0<[MT%(DPN-Y[Z:>YUK MZ1")OI"+H)Q0A08$HTKLD$4!,7B0%*,\"BA"Y$@((F>\Y-KS@UKZ2GH!]EA+ M![O"0ZLK(ZMN:D5".Z56I'/ OGO6^N[JZZ3T?B/=QI5UKDYPNI0%;D0U]#H#,/Z%* MHTU&P7E/Y10L[]LYQ''2Y1,<6\D[)>9*&:BB_-CX4"RD=G""Q+Z)(?N;;TE8 M6Z\IUF1S5 6 @)J0#*>$0>QKZS2D:)/#42)$\JE>B6BR_$4%QQ;:9Y"[5=() M?$[Y752A@K UQ-L<2278:1-; X4G82H%&#@EXA2CX=$_A5_9JLCAEZ#>D;+W MJ3*1FSE]7<^>C@0"&_Q#"B'!*02L;0=A^);A*N< _7C*;',Z$+TL:K D\;:F32U_+_@([ 1Y/\O\@/*QD J+ MPK?UT))"XC4M 9;H/7+O-51Z=I #/\"U!SW*68/7 M643$/E9]BD34Q55NF2%:LD$/)IP_BNP>/>#=<6_\ F[ZYF MU[WG I"H'I-]NR:$8^W5[!9+?[(#5G-$F.G]J*1'X9%S%,\W($\=Q#^L]\1; MIF7&>X..57$4^CVQ66E$7N)MSL4A-+*N'VZTC&NUK7.Z>ZE2-3ML@UGT(IU&*A>-1K5?!%JN 8 MD$AWD1Z,;3%XC6=@W&ZHDS$]=$VMUC1+DF(FVYE2O"57/G-Z7;?&?376Z^2M MUVE7-'*@?]*0S$WGJEK")C)ZFI &"#4 FMW6 )E&@+Q#5L4OLJB4:&'EA?@6 M90V[B;3?.>" )F2V9WSYAJG*URZW5GY@0"1RI0#LES[HQ;&#T%4C"N,C1.8[ M6:XMRZF"61PJJ9F).Q99MD0^DEUTDJ](;ZZY'\1&*@7!S3&,(#8+-:WM.LW3 M.DQM_,XY_[69.D.FT)P1=SVGR>1(?&=MOM$T14##SUPY1[%_&UD %SPM^%MMT9GT< &-UH@JDP!3( M2)3.$2YB-1#A(_92>.7N-,H!H>*!>-<"_QO%P$&N[H#Y-0T8=L[UKVOOB8%\ M\EX\HP#ML=$G(],P*W?[16<_R@LG2?7\"?P1.R]]!*[SZP2V4F%0_K^@;R": M[O3^0 ,!%'_XA)+X7MW34$Z'A)J*TL#>GN%Q:M@H*A,:/3#! M1AL)$TP_W+SN=43'LD(PB;MI$"R1PSO&+8Y-@4"-%E;PZ$OLW2&P9 3VX1 M:G;9)E=:\Q>=B,QNJ$\#,5<%C[YTI.HNGZNE-H:MYJ-4DRMB!1H*^[&FL+K8 M-OV%).-\ V@,L&/=G?H:P_N[]:6D+A*=5,T(AZ%X!^5^3=1Y]W.JP3;BYW32 M[-8+^$L-7$*1PS6SD>R M;H#3(Y")=<3:&XV$4V>HT-KSSHA-35V#Y1)3N;J6DT4U[0 B:5I+I[6M"CN5 M! [ _\F\TLPG\O)G.SP_.TK?Q.N%MFO3V3N-?)X$Q&&\-9&O MXAI[VLT '>?K5N4[V0&&2OE9-8-I;/82R2EK5F*L<"92,=$)31'U$. 8*5BO MTIQ0:#G7Q>Y0Z)![4Z4W-"VC#<6R\@^U?JKR9>=R!K11A081=/D2QZ=^+97@ M9)>&#_[]M(LK0#D^E1,-VCG&!(X;,'8'\I08/B(CYBH%E+0SD-NKA:\(CW1A M8_,J(^SB)&A\HC[",:#I+P^-RY=BP]T:B>#F?RE2]<6E?8CR(8EI(YGB? M]$6;'^]V[:EQ9W\3K ?<2@I\@O5CL,!VM*=@Z9*J8# Y#?>(TJ7[#,) A02- MGDE7N*T1NY-LH )_11/;>E&)Y-^)18P+&HDE-@J<1L$95"9"F$OLTF>]*6W MAK%5F5S%6Y5,NZPJB>/8WZLLT#U,?=U$S0J=:$$ZF-3W$%@3BD/4-&FH:7*0 M6%H'L/[>0[/X]2:>Q#ZJ^R"N"T#DMWW\]60U#^FO8_:T,7MZ4-Y[@R"'V.F3 M?4^T\[#<>."XXA([8.9%8^;%07&S:NY!L13&MW>,UU__Q+S#\GZFZQ9TRE$] M('U$,>4V$]\K6815GP;20;R*XDF';OK0)>X(NC1#F3@$)&*)MZ-$'^_-1TO, M5HO!1['UMK&]4@7-\>8H5A;CFOH'B,PWMWY\ %3UK1\3 -V2,'72W6[K/4<9XG:J)9*8B\AM'3\$B!%&19IFLA,,RO2H%AWQ*2,79XWIPEB*KJ# M]N)0.CA8Z3H!9G8HD,> RH"E<#3%4XIB:MCIXBIVTM_C@?A0]!(+\A5INMR, M,T'J&3@*@.KHV!R)KIMW16>&V.0LG5>AUMA29T!#7BQ'T/5=6]U,8'8'!)PE99%7LJKNC^BXV&_X>5N5'F).=1$1M M%7C(CE^+E6539CA2Z:**]X#_0S6M@8(O"DDGG2+B<$\0BBF4&S[' ^.Y"G3L M,Z2Z::7!,;"W:76\CXB%NK T4[ "+HQU_&HP#KJU'XG\YD V'^TBM>0I H3K M/T3A63S+5AXKT3#C2;WU/ W SU_ "J=4YRM>,=/WW0_BU7GZQC:]JZ].#CW[ M:6?:-^)LVC\?G>/%I#\>3O#_=-@_G8[P NLGXTG"S1^RT\U(.U?0>C$^H2]Y MAI,+^C<:#?G#R3#BHYLK5:X+NU6JF[23LXDXGYZ*D^&IF XO&F!]C1W3_G@Z MI'^3L#F/P--1**S&AP>LK_AN>/;:S-HZT<16P] MBUO'<>N)>+O741!=!%?S;4#3@?;WL=IA%E)_V188+F5$A]J##H)F%P7Q(N&A MQI-&(ST=#D9/M< #G5^C?Q]?'K=^=5$JM^3?EM"Q T41?X#1?-K\?N4J_FIC MMSS^^.5'Z9;4CPJUP-;A8'+6$R[^GB2^"7;-O^% ^09;\LN5DN &6H#G"VM# M_884-+_J>?UO4$L#!!0 ( F8_E#,^5,XY0, &D( 9 >&PO=V]R M:W-H965T MNPN3L6^2-8[O L6FKE5XNF;KUY>]L]YVXZM95$DVBLEXJ18\Y?1M>1>P*G8H MI:G91>,=!9Y?]J[.WMVU<>U;;3H>]A3.SE]0&'8*PW\IO&AAU"F, MT;?I>SH^.J$C,HZ^ M&&N1HC@N$CP4.X7NO+ENO1F^X,VGQO9I<'9*P\%P\(SZS7^INSX-WSZG7H"7 M'3G#'3G#C#=ZD9Q=Q!]RQ-\_0X)N$]?QQP'\T0Y_E/'/_R=^I._WO$ET;;U^ M^/%<_(?Q?G<$!I^H(_"4[MFJTFOZR,JFZI1NG>Z3MCYR2>@A XOH_97Q382: M<@Y)USA3^K$QT>1&0V7Z**;4G.NU>HIP=. M4AJ$X$QZHLBZ"4#CV <6\497RBV8,(2R#[%2 07VC*5] X$UH^5+&O2':(5< M8WNJB)4E5N5*])"U(N\#8J$%AIE(J.4R^(U![S.B/1I=]-_L<)(G#V.!CGF# M"1GY!)6L?RJ2(?2DVX7E,##D3?@^P!V!ACJ$+OE@AIL!+'_)\67(PONS3%< E>LS??^8=C<$A M&P%W"N4#TGQM-"JN7+2T2-%+&H1=B#::]Q%^B4*AER!% #-5/Z#N#:3FMA'R M6[;WDKS- LQV_AUH]_-=NY\?;,_?I Z//X.]$^F^*?(M?'QHLW+K5C!:RQAX M;G"VT!<96J[FU43J=URL]ATJ]BX"N82_J+"0K%F>0VW0?_NZ1Z&]V-I%\LM\ M-\Q\PDV3/RO\"W 0 9S/O4_;A5PWN[^+R=]02P,$% @ "9C^4/P?IN;4 M @ *@8 !D !X;"]W;W)K&ULG57?3]M #/Y7 MK&@/($4DN:1-BMI*%)BV26B(']L#XN&:N,F)Y*Z[NU+X[^>[M $D0-I>$MMG M?Y_MBYWI5ND'TR!:>.I::69!8^WZ.(I,V6#'S9%:HZ23E=(=MZ3J.C)KC;SR M05T;L3@>1QT7,IA/O>U2SZ=J8ULA\5*#V70=U\\+;-5V%B3!WG EZL8Z0S2? MKGF-UVAOUY>:M&A J42'T@@E0>-J%IPDQXO,^7N'7P*WYI4,KI*E4@].^5[- M@M@EA"V6UB%P>CWB*;:M Z(T_NPP@X'2!;Z6]^A??>U4RY(;/%7M;U'99A84 M 52XXIO67JGM-]S5,W)XI6J-?\*V]QV- B@WQJIN%TP9=$+V;_ZTZ\.K@"+^ M((#M IC/NR?R69YQR^=3K;:@G3>A.<&7ZJ,I.2'=I5Q;3:>"XNS\"A]1;A"N ML%2U%+Y39\+PNM98R]#F[XLD5S.(TL<3N$J-SQ+'H>]@'/&"Z4M(V! M+_V'1G!9P1FN4&NL MAA[$Y=&?'/]<"V>WAKH-G&XS9TV<5HR^?3LEF[*X5E*S, 72+(X M3+*QDU@69CDCB3$6)DGJI+0(1VD.YQ?G)Y G89P54+"PF*20I'F8QSDDHSS, MQ@Q^V@8UC(MP7$Q@1#[N+&'A:%) $B=AD69PHZRONN\&P>>3L"@\T9C2\.24 M0I@EA9,F.46E[WTTT:OY[5#7?DL9*-5&VGZ4!^NP"$_Z^7]Q[[?H!=>UD 9: M7%%H?)33WM']9NH5J]9^&RR5I=WBQ8:6.6KG0.Q><03#[V'^%U!+ P04 M " )F/Y0*ZY,1 L$ !+"0 &0 'AL+W=OK13B[LZN%J;V2&N\LN+HLA3W< MH#+[932.NH-[N2T\'\2K126V^(#^4W5G:1?W5G)9HG;2:+"X64;7XZN;*\!.6%+A<&W4WS+WQ3*:1Y#C1M3*WYO]>VSQG+.]S"@7?F'?R,XF$62U\Z9L ME2F"4NKF7SRW/)PHS$>O*"2M0A+B;AR%*&^%%ZN%-7NP+$W6>!&@!FT*3FI. MRH.W="M)SZ_N<8>Z1KC'S&RU#$RMC?:6Z((;H83.T,$OCR)5Z-XM8D\^63/. M6OLWC?WD%?LS^$C6"@>_Z1SSK_5CBK4/..D"ODG>-/AGK8>07 P@&26C-^Q- M>@(FP=[D!P@0.H=;W*"UF$,G\/DZ=8&6+V]XG?9>I\'K]!6O/<5[Z0M8ASRC M'<"U<]2([/^#%*E4TA_@\,RQ0M)',^&5_"=9:96I.=H^\!:*+G#,8D-)E,>36= M#<:S\;%F3^.9#3D.>->FK(0^$+R=D4S",3CN[!SJB@!W &JA@$PI MYH>'85X3^$% +[X/#81%WAI+=0[[ ADLG?!4 &_8JB-N;4-J2H(E!5!K.L]# MU0DU?!F%U)FJ<^R#I:%3&2>9X$)F!3E5PB/[H+%@),DLSDO_SK@5LVP+".9-) Y*X3>(LB& GY F,-0-HHBIW7:E2'%X(^9^?FG>3*^^-4=RTMP0[Q1*[2AYEF.O;%,Q]I1J&%W M"+>U#6W#;@J+"&4SY9"GW#>5S=::D\NFL@>G 82:H<'S+^F=389S&O)4P2UVH;)+3CLCH5-OL4Q;HF6XS&&JU MJY:O@#KY_$,PX76^$O3-3YYX"BN;7C&N4JH"9NWKC_MOQ2NFP?R M*-Y\9GP4=BNU X4;4AT-+\ZCIDF[C3=5>"Y3XXF$L"SH:P&ULQ5;;;N,V$/V5@5L4&T")[K?4,9"D7;1%T@9)NGTH M]H&6QA812=22U-KY^PXI1;&SB;-O?=&0%.?PS(7#F6^$?% 5HH9M4[?J;%9I MW9VZKBHJ;)@Z$1VV]&7:59U$5EJEIG8#STO MU[S%&PFJ;QHF'R^P%INSF3][6KCEZTJ;!7BU96"7]L2RWU]E\A,C((G1A?!0< _^O8$@M2!P N\ WCA9&%H\<(W M\/[J4#+-VS586^%2* W_GB^5EI02GP^<$$TG1/:$Z) /G1'8.A+N<:OAHA;% MP^?77'H8[[Y"*$33B19;K4"LH+;,<4M7D>0&)0)3L!(UW2D*'F]!5Z)7K"W5 MT2G<5Q)Q+RQPQ[?["^1EG+P\SG(S\_.#_YZ].7 JC-$_0N $64[2=_+$R,A) MHIADZ.1A#I^8Y-8M.SI9%M#NT$](U_,B^OIA O="LWH?.G3\U+/$4O/NCM.ZIS94_DR,_#;7#@KN^Z&JGV&#:73%7PD3S]G<%]Y[A= MZ,) KPPT;X<".]2ZFFF*D1:#)Q1L*-K_4\"M]1WC)9TN@36B-SG)VZ+N#:QE M@M 0SUY:LY[SM::@\YIKCNIT)W$FH\D@*1H0^RFE;#JEOF=EEL0VG=(PM3++ M?+ OQ[%8'??*W .%YI(L-;U R'<%A5KUV@9#U3$LN9KZ]T]*M.!OA,G".7 UNNG1@6NF>TFC[\RTPP>. M8.1]$Y(77MX-SC<%A5F-_:QXF7/?./$630]0HC2Z5L7$*_0R,_$A<^(@-\. MA@$5!QJ&D#KA,(SH/L>TEVH?]18K33!A1,4D'$L"/7V\Z9N1?,<>&UL;J0SD M3I9G8+Q["KSI>FV3@ "0RH?O.9$7PPU-3&I^975O+_JJ)]_@VZAQ[D1Y.*(6 MO91&NQ/2WL]WO/GA3Z$1TB-3J=((KD2[/B8ZS2M;;7IE?OY:>KD[CWJ#&PO=V]R:W-H965TN;*!M$H-#QTE($]R/A],]9*W;1J3Q+DDI_/>7I%O92;![:6S'_OS9 MM3/O2#^9&M'"2R.5642UM=O+.#9YC0TW9[1%Y6Y*T@VW3M55;+8:>1&"&AFS M)#F/&RY4M)P'VUHOY]1:*12N-9BV:;A^7:&D;A&-H[WA052U]89X.=_R"A_1 M?M^NM=/B :40#2HC2('&$WRIRALO8AF$118\E;: M!^J^X*Z>S./E)$WX0M?[IBR"O#66FEVP8] (U9_\9=>'@X!9\D$ VP6PP+M/ M%%C><,N7^W^*#46Q05V'AC"NA5;:?RL$Z[/15/\IO[OV# M<,]U)90!B:4+3L;0-@[TAZ]8DB+5[EU![!W=?$MF]XA,,+]WR M+U!+ P04 " )F/Y0_6D=#'0$ !L"@ &0 'AL+W=OT#9)L>RCZ0$M' M-A&)=$FJCOOK=TA=:M>)UP=;XN'A]YTK=69;J1[U&L"0IZ86^F*R-F9S/IWJ M8@T-TV=R P)W*JD:9G"I5E.]40-"^_$>K*4\M$NWI47$]\:!#44QB(P?'R%*ZAK"X1F?.DQ M)R.E/;C_/J"_=;ZC+TNFX4K6__+2K"\FV8244+&V-G=R^R?T_L06KY"U=O]D MV^FF\804K3:RZ0^C!0T7W9,]]7'8.Y#Y+QR@_0'J[.Z(G)77S+#Y3,DM458; MT>R+<]6=1N.XL$FY-PIW.9XS\S^D++>\KCWRT:Q!D7?",+'BRQK(0FLPFC!1 M]GN]X/4#PVW]9C8U:("%F18]V65'1E\@2\A[*A+PKU:<$9IZA/K4/X$7CM$('5[X/]%P3A^'XIKKHI:Z54 ^+9;:**RISR=H MHY$VQ??%\&A_L1%[B6TGH17E, M'A0K0; &B-VVOU]_R6A ?S]:7[D+#AU1T*56K_E&8_:\((F1)\U2DGEAFEF1 MGUM1Z%,4I7E([H 57UJNT. 2PZCXLG6^*'L1:Q(&7I[2X3$PXC+)_.$Q2#]( M\5N![H/AW;=BI0#PTX,P-,X(#5-" WQ-2)!3DD3D01I6H\-IX,6Y]3Q!D]/ M5I[O133JMFAH)7'F9:FKGQ_U -8YIG$]=@!^ MHO&&*@J TO9!A3Z967&A20X5'_3,[N:ANMND61F[< M/+&4!IO7O:YQ' 1E%7"_DM(,"TLP#ICS_P!02P,$% @ "9C^4 ''BW37 M @ 8 !D !X;"]W;W)K&ULA53;;MLP#/T5 MPMC#!ACU)4[L%$F WH9M6(&BW>5AV(-LTXE06?(DN4G_?I2O(=!I9[4&M MB-(XGD4MXS)8+;SM1J\6JK>"2[S18/JV9?KQ'(7:+H,D.!AN^7ICG2%:+3JV MQCNTW[L;3;MH9*EYB])P)4%CLPS.DM/SS/E[AQ\ZNVGW"?S]3Q54H8_X7MX)O% 52]L:K=@RF"ELOASW;[.CP#%&\!TCT@ M]7$/0C[*2V;9:J'5%K3S)C:W\*EZ- 7'I;N4.ZOIE!/.KLZJ2O=8P]6.KMF@ M@???6"G0?%A$ENB=4U3MJ>;_"?7KYR57'#+T81PT6N-TL*OL])838_D]Q&E M;%3*O%+VAM*%:CLEB=: :N!EC5\K[5$^UYFGIF,5+@-J/8/Z 8,54'UPK ]< M8H5MB1K2PEF2^:BK[(;,%<5$\LPWPSM(LG >YVXQ"2>39'3>,JV9M(_.GL_F M[E=,9^-Q@S5J)H#)&HQE%H%+8D:P;$>O)XG#=#8%HLR+$5,JV1O(PR)-($G# M:?:D9AB]-4\V!,EES34U[)ZN8X_N-1(VF60.FV7Q>&.=TCX7JC#-*$V)R34( MI!8%\73#, MG>4;?(IN,LGN1IA<-%Z)U;)4R=%M9F,PSE\6T2%_4KPCG14+? M?.ZJEE-ULBDMBH3*5+SV9J)G7=FB7OO98TBHEW9HT-$ZCK>SH:N?W(?9>,WT MFDM#V34$C4_R:0!ZF#?#QJK.]WBI+$T,O]S0B$;M'.B\4-DY@'/JKOU!+ M P04 " )F/Y08&"BR\@# !3"0 &0 'AL+W=O&DE5YFS6V+?HB#B\S<^;,<*CE09L76P$X=JRELJN@ZUWH'"GT*;F#J>FC.S. ,^]4BVC-(YOHIH+%:R7?NW>K)=Z[Z10<&^8 MW=%!E)6CA6B]W/$2'L']O+LW.(LZ*[FH05FA%3-0K(+; M9+$9TWE_X![R51 3()"0.;+ <7B%+4A)AA#&[ZW-H'-) MBGWY9/U['SO&\LPM;+7\5>2N6@6S@.50\+UT#_KP([3Q3,A>IJ7U7W9HSDXF M 70&=P7JN?4[,.*5$S/L3EEG]DBXLVSPQ)\EV.$R=R[%V._XM+SSA[@J-C&ZFS MET]O<7_9#]G#W$DTB+ECW%J=">X@QZ)R%19K!T/TF^YRNUPP9XJ W"6>O8HCN<+6XF(1"$R[B\D)A:Z MQ+:S. N@^U$8P8&!0%B;KH\6F_(##C MMF(%VNBH_)*O)O72I_X\EH_;.X;L]&IFD R_B=]_2RBV-VQ>"MN-,:"RSQB_ M.7"3LPRM&^R;EN@9A9,D;9A*PW@R]N(8I9$?1Y.X!8IU4NN]/S:OQ]\$$>*I%5O3+S1R['01>3 M.# $^ H1SBC[0TI5$A"(]DHK=_?I=4K)F MMXUG;"\2O^ZYYWX<4;.MTB^F1+2PJX0T\Z"T=G,=AB8ML6+F0FU0TDZN=,4L M3741FHU&EGFC2H1Q%%V&%>,R6,S\VJ->S%1M!9?XJ,'45<7TUR4*M9T'PV"_ M\)$7I74+X6*V804^H?U]\ZAI%G8H&:]0&JXD:,SGPIFX\_[ )XY;0(H<#4.@1&KU=

#C>H]_YV"F6-3.X M4N(/GMER'EP%D&'.:F$_JNT[;./Q!%,EC'_"MCT;!9#6QJJJ-28&%9?-F^W: M/)QC$+<&L>?=./(L;YEEBYE66]#N-*&Y@0_56Q,Y+EU1GJRF74YV=G&+FK\R MEQFXE\;JFA)N#3Q1\;-:(*@V9K@:8_"RWQ<&AAVOI<-C[C-WQ>PGLE M;6G@%YEA=FP?$O\NB'@?Q#(^"?A;+2\@G@P@CN+H!-ZH2\K(XXW^/2F?'V@/ M[BU6YLL)Y'&'//;(XS>0#_.Z8J:$.U(%O,.L0$/9345-&0$NX29-ZZH6S-+T M@RU1PTI5)+O2Z<%7(E450N]!&=.'S[X6\(P["TNATI\0/7'KO[M M;.IFP^G)/=(UJ5:2SK1&F7ZE^/66Z0Q20M?TP3#P$_1&@V080]\-XT&4C/UP M3*.1?X^2J"6*P"I52TMQ4:6,5XE+7%HR6: +,6=N9[_KE MSH%\\BE;"68,SWG*_ ?]N+*WF&*U)IW$5VUU;P^Z5%(*CSMUWY\'5*[/:8A& MC,T!2T &?9<,!^/)R+^ODN0<'!*XKHD*[NA^-43Q&PO=V]R:W-H965T[.]WWWP[X;[Y1^,@6BA7TII)EXA;7;ZR P68$E,U=JBY).UDJ7 MS)*J-X'9:F1Y#2I%$(5A$I2,2V\ZKFU+/1VKR@HN<:G!5&7)],L:M*!CR7F)TG E0>-ZXLUZU_.^\Z\=OG/*%+" 5FUC$P^CWC H5P1)3&KY;3ZT(ZX+%\8/]4UTZUK)C! MA1*//+?%Q!MYD..:5<+>J=UG;.L9.+Y,"5-_8=?X#B(/LLI85;9@RJ#DLOFS M?=N'(\ H? <0M8"HSKL)5&=YPRR;CK7:@7;>Q.:$NM0:3CT_ST3M=U'[==3^.U%G[A%R^P)W*)C%'*P"6R \,JV9)/LLRW3% MQ%L-_T=F?PT.A$4\N#^[Y_M1 M=X'=7;1:ZK1>>O9LS@23&0*SL,(-EY(:#FH-6]1K&?IB,G]/PD&C66 MT2!I+&G2AZ56S[S>"+$?IPE$?C**8.B/AB$,_#B.7UM))6T0+F)B&L E7$1^ MW ^=,/33P= )!(B<<)07TE/X(Z-ADK;Q*<9?EK<>17 TCR7J3;UU#&2JDK89 MS<[:+;99,\^O[LU6O&6:&F5 X)J@X=5PX(%N-DVC6+6MIWNE+.V*6BQH.:-V M#G2^5LH>%!>@6_?3WU!+ P04 " )F/Y0WC8&NT " #B! &0 'AL M+W=O/=F1?C0EHH7GNE)F M&I36-K=A:-(2:V%&U*#BFYQT+2R+N@A-HU%D'E1781Q%5V$MI IF$Z];Z=F$ M6EM)A2L-IJUKH5_F6-%N&IP'>\5:%J5UBG V:42!&[0_FY5F*1Q8,EFC,I(4 M:,RGP=WY[7SL[+W!+XD[Q$O\ &"ZZU/8-[I$*+II0I+%77=5\^E<%& M%DKF,A7*PL+'AMK IZU(*C2?)Z'E@!QMF/;.YYWS^(CS*W@@94L#7U6&V7M\ MR(D,V<3[;.;Q2<(?K1I!?'T&<11')_@NANI<>+Z+(WQ]46"-#6DK50%_[A(N M%\_2WQ/TXX%^[.G'_Z%_5^>$5X<=/J%J\0P69"Q0_J:XUV0,/ A=R*XI2Y5R M'R!!YL"]M!7/:#YJR.F MB6RQ[H1Z@5X[[6P:$ 8((4?I1L>S!V/0N&WRT!* MK;+=" [:88'ONKE],^^VOTO(0(4Y0Z/1]64 NMNH3K#4^"E.R/+<^6/)CQ!J M9\#W.9'="\[!\*S-7@%02P,$% @ "9C^4#@R'JF. @ S 8 !D !X M;"]W;W)K&ULK55=;]HP%/TK5U$?6JDC(03**HA$ MR:9U6B4$ZO8P[<$D-XE5QV:V@>[?SW9"EK6 *FTOB:]]S[E?SLED+^23*A$U M/%>,JZE7:KVY]7V5EE@1U1,;Y.8D%[(BVIBR\-5&(LD_'$ M[2UD/!%;S2C'A02UK2HB?]TA$_NIU_<.&TM:E-IN^/%D0PIY59PVVDK403]:XSZ9>8!-"AJFV#,2\=CA' MQBR12>-GP^FU(2VPNSZP?W2UFUK61.%\*^\0T\2+=*BZH!FPPJRNLW>6[ZT $8GN. L &$;P4,&L#@)2 Z 8@: M0.0Z4Y?B^I 03>*)%'N0UMNPV85KID.;\BFW8U]I:4ZIP>EX58\;1 XK6G": MTY1P#;,T%5NN*2]@(1A-*2J82\RHAB]"*6-=)J@)9>H*WL'C*H'+BRNX ,KA M@3)F)JHFOC;YV2A^VN1R5^<2GLAE ^"ZU+!!YYA=@0_/X\?G<'[IB]M<\)# M<^["LX2?M[P'X7B"J8&/+;S__DPU@W;4 \FCCURL:V([6+3RUUW"K7'N.,1]8:MSU\E#=N2AO^Q MI&-I#U\E->S=O$C\#3[):Y]^+WQ1G-_Y_BN4A=-1!:Z$6@K:W5:J9TZA_#_N MM&PO=V]R:W-H965T MM\KG ,I,F&=4"&H$&WP["# M8M.V4%GR)"7I_OTDV?',J[E7:%W=^KY* M"BR)&H@*N3G)A"R)-J;,?55))*D#E

&M,#N M^L3^T>5N6[JT $8GGY V #"UX#1&<"P 0Q=HK4RE]:*:!)'4AQ!6F_# M9A>N-@YMLJ'$GC9*[6DEX M1LD0UH+K0L$'GF+Z$N^;K-K4PE-J=^&;A)_W? #A]!K"( QZ]"S?AB\J:>"C M/O@+.<.VTD/'-SS#URW?]\5.:6F>\(\WB$=P3,!N/^ M^),V_N1?\9O"@IEJ<%;.-7Q!W:=I\E=1QI-.4>K'TN,T'82OE/N=1BQ1YFX^ M*7"]5/=DN]N.P(7K?/^/>ST_UT3FE"M@F!EH,)B:RLEZ)M6&%I5KZYW09DBX M96'&.$KK8,XS(?3)L ':/X;X-U!+ P04 " )F/Y0%^E=3TH" #"! M&0 'AL+W=OW?.Y::O- MDZT0"5YJJ>PTJHBVUXS9O,*:VY'>HG(GI38U)Q>:#;-;@[P(H%JR)(XO6,V% MBK(T["U-ENJ&I%"X-&";NN9F?X-2M]-H'+UNW(M-17Z#9>F6;W"%]+!=&A>Q M@:40-2HKM *#Y32:C:_G$Y\?$AX%MO9@#;Z3M=9//OA13*/8%X02<_(,W'UV M.$]U^Q[Z? M<\^7:VG#+[1];AQ!WEC2=0]V%=1"=5_^TOMP !B??0!(>D#ROX!)#PC.L:ZR MT-:"$\]2HULP/MNQ^47P)J!=-T+Y6UR1<:?"X2A;=;<'NH25V"A1BIPK@EF> MZT:14!M8:BER@19^484&9M8B63A>('$A[0E\@8?5 HZ/3N (A(([(:6['YLR M_\O#QU[=PYDP9G$D& M9Y+ -_F []MS(V@/7!60:TM0(U6Z<"WNT)*;8V?"G]G:DG&3^/<3O"N<8D-P[UZGD'MPEJ-Q,\#7$N&6"P./7#9X"K/:7]9[CG>2 M5T'2/^A=EHQ'ERG;'?K:)5V\21I2NE[8P83YUWW'S48H"Q)+!XI'E^<1F.[% M= 'I;1BZM28WPF%9N3;0^ 1W7FI-KX&?X^%O*_L'4$L#!!0 ( F8_E#X M0+:I,@0 +D- 9 >&PO=V]R:W-H965T(G6_&\WT9C\>3/1=/)-Q M41 %0['QY$Y0DAJC(O<"C".O(*SL32=F;B6F$UZIG)5T)9"LBH*('W]40^E-"-5KK[R_2?:$!IJ?PG/I?E%^P:+>RBII.)% M8PP1%*RL_\E+(\21 ?AQ&P2-06 ;A&<,!HW!P#:(SAB$C4'XUA6&C8&A[M7< MC7 +HLAT(O@>"8T&;_K!J&^L02]6ZD19*P%O&=BIZ;I.$,0SM&:;DF4L(:5" MLR3A5:E8N4$KGK.$48D^HCLB68)(F:(%RRM%4_0'I/)]F?""HA45:+TE@J+W M"ZH(RS^ Q<-Z@=Y??4!7R$-2OY2(E>BA9$I>'TU\V_)*@E^8O#H93SP%)'6H M7M(0NJL)!6<(#=!G7JJM1,LRI:G#?G'9/KI@[X&XK<+!0>&[X*+#WZJRCX+X M&@4XP(YXYF\Q'VMS?^RB\_]67_[TZB=B#-IT&QA_@W/I!H4NK7**OF1HSHM= MI8BI%S"LDVMVE%Q+(DK(0&E2"] % .L,^^MW\(ON%2WDWQ>B"MNH0A-5>":J M!4\J*'Y*+\1XJC\]@MU$77)?]G20^Y=W[[J"G\0V;&,;7O2H=Q@S.\RU%VK; MR-CJ,^%Y.AQ%?C3QGH\SK(N* QR?@A9=4(C#D7^*6G91P3@.7GV=<(Q:CM%% MCM]-.:?I1_),!1Q/A\H !YM44 8@"5SD:Z?#XUCB<3"PR#M0(QR/+?8NE.]C MB[USQ1B[V<\RXF&H66*@X_V,(LNY@1'KL5&;6*C/Y;$2"X_[F\ M&#F^)7QSB[\+%4=6]BQ1>#^X%5*!9=D-\/;;(N$([<7'W\VH?@-WWSM_!M7)T2M@O:W($" MRD.+L@,%G .+LQ.%!V=('S5?_D72,VBQTL/V7].D$DSI5FOYDN05M!\H$[PX M.2BA.)P9Q"WUJ;_ E!+ P04 " ) MF/Y0-X2@(D@" "\! &0 'AL+W=OMG5H@:!!MX=A#XI-QT)E*97HI 7V\:-D MU\B*IB\V*9&'YTBDLHVQ3ZY&)'AIE';3J"9:G<>Q*VILA!N9%6K>J8QM!+%K ME[%;611E2&I4G";)2=P(J:,\"VLSFV>F)24USBRXMFF$?;U$93;3Z"AZ6WB0 MRYK\0IQG*['$.=+C:F;9BP>44C:HG30:+%;3Z.+H_'+BXT/ 3XD;MV6#5[(P MYLD[M^4T2CPA5%B01Q#\6^,5*N6!F,9SCQD-)7WBMOV&_C5H9RT+X?#*J%^R MI'H:G4508B5:10]F\QU[/<<>KS#*A2]L^M@D@J)U9)H^F1DT4G=_\=*?PU9" M>KHC(>T3TL"[*Q187@L2>6;-!JR/9C1O!*DAF\E)[2]E3I9W)>=1/N\N TP% M<[G4LI*%T 0716%:35(O86:4+"0ZF+<+A\\M\O;-VG_WKY&$5.X 7"TL1T@- M]U(I/FUW"'O;;A83D_4EXZ(G=MD12W<0^]&J$21'AY F:?(XOX;]O8.NS/]8 M,0L>5*>#ZC2 CW>J?B?E]QU'P"UAX_Y\@C\>\,+U!ZPF ZO)IZR^\8S" M_IUQ?&,\$'.AT-][3_96KYD9SQLY)K;W$:<._FR+T_AL=/*.5+S5C'ZN[X5= M2NU 8<5IR>CT. +;S4KGD%F%_EP8XFX/9LW/"UH?P/N5,?3F^)8?'JS\'U!+ M P04 " )F/Y0B:SRP($" #[!0 &0 'AL+W=O6DJ@M0FFK9*U:)$W3Y,^^# 5:- MG=DF:?]]SX8@VJ;=R@?PRSW//7?'7720ZD$7 (8\EESHN5<8L[OR?9T44%+= MESL0>)-)55*#6Y7[>J> I@Y4&WO%@S?+"V ,_CG8TAPV8^]U*X.H#AZ!U T ""_P6$#2!T@=;*7%A+:F@<*7D@REHCFUVXW#@T M1L.$K>+&*+QEB#/Q&O8@*B!K2&0NF$OMAN$J8PD5AMQ6:8Y%,YJ<+\%0QO4% M^4+N-TMR?G9!S@@3Y(YQCC =^08%65H_:9S?U,Z#=YS?5J)/@FF/!(-@< *^ M^!B^A 3AEQ8^G+V$^YB&-A=!FXO \86?R 45*5E"!DI!2HX&OZ^WVBC\ _]\ MX#5LO8;.Z^ACKSUDMUW'1$Y6H%Q_B@3(CRUG.;5:>N2ZE)4PI_)VT=&>93V*EQ4OKXC:KII#^> M=9]7<=2(20OPO [K6G'XAU5.1.:<,@0->A/D435HZ;>&+ESW;J5!GO? M+0NI-%NP M^:Z22&E@M%UM9ZHFG7D8[8,;'$ %G+%-T_WW:QM"4D*9:E:M% 7;G'.O?8XQ ME\F.L@>>$2+ 4UE4?&ID0FPO3).O,U)B?DZWI))W-I256,@N2TV^900GFE06 M)K(LSRQQ7AFSB1Z[8;,)K4615^2& 5Z7)6;_7I*"[J8&-/8#MWF:"35@SB9; MG)(E$7?;&R9[9A"V!+UTLUF[%B[" L\FC.X 4V@9336T M^IHM]2)V2UY)%5-P"U9T[3*M7E1SG&:,I)BW:4;L$=]C(C M><'/P!_@;AF!CQ_.P >05V"5T9KC*N$34\A9J=CFNIW!93,#],(,;'!-*Y%Q M$%<)20;XT3C?&^&;4HU.$K27Y!*-!ORKKLX!\C\!9"%K8#Z+U]!#18?AT'+^ M7_;XM[,_$\/N]H>MX]DOQ'MY+_SX6T+!E2 E_V,,^6$0 MV!/S\=C* 9AG01\]AT6G,,='#@R>P^(!6.@']B'I,V7<3AEW5)F[+U>K. ++ MU7P5+T>4]KIXWMM:ZG>)_/>TM$GF'JD+'0LZ7L_2 1ARG!-+3V$((0A[&R0> M@-F!:_O#E@:=,L&H,O%U/ <_KDEY3]B8TF$7+WQ;2Z%U>%]8[VEJF^U88!]: M3N_)6@S A2$/;>B 1BT?=_R>ZX.X5S?\="PK?#H;0I'U9D7!?@J,L*D :FT M@K_&98@.X=$;^WPX]Z']KC[;)V>C%WA!V/?Y%.:BH.]?- "#$+EA_T >PEDP ML)V>S^91 247ENK*E8,UK2O1O"N[T:XZGNN:L#=^"2\6<& \4M6T+M@.X9M2 M_!JS-)?[I" ;FKR[9X*J;IN9O*+@# %D/&ULI59MC]HX$/XKHZ@?6HENR"OL"I!X672M6MUJMR\? M3O?!) .QZMB<[4#;7W^V$U(*68[3?@';F6>>>69&8X_V0GY3!:*&[R7C:NP5 M6F_O?%]E!99$W8@M?L@S2T1*ZH MX"!Q/?:FP=UR8.V=P1>*>W6T!JMD)<0WNWF7C[V^#0@99MIZ(.9OAW-DS#HR M8?S3^/1:2@L\7A^\+YUVHV5%%,X%^TIS78R]H0T@\B"KE!9E S81E)37_^1[DXOWL KH!P^ M%:)2A.=JY&L3C?7I9PWSK&8.GV&.X*/A*13<\QSS#OSB,CZ]@/=-%MI4A(=4 MS,*+#M]7_ ;"00_"?MCOB&=^#?S6PH/;+CDO8[]_&?OR,GR!F8$/N^"_Y3)J MVRIR_J+_T5:F36"!:Y02'/%:,;8F/IP;04%===75M3I(["CN7=)(GZIB*[XUK^A]%OT2=M],G% MZ*=99F-2-FE(=V3%C!*RUBAARLP%X#08,3 W":0:/@BE>C"O3#Z[E=1TR5&0 M03B,HOA$RW5FR^1,E%T>VLV5-=&#%VX*'LP0=*5I11_:,' M)[WTLW-8S-(S%='PM&SS])K:GGN*SXSN.SP-GVN 09N+PGI;7/[IJ3' ;]RA0X#JW'@_M:?ONF+KK]N1\%MS-@X[S17!W M7S\K?KFO'SD?B=Q0KH#AVE#U;P:F1+)^.-0;+;;NHEL);3+GEH5Y:Z&T!N;[ M6@A]V%B"]O4V^1=02P,$% @ "9C^4 ACU'@* P +PH !D !X;"]W M;W)K&ULI59;;]HP&/TK5K1)K=01<@\5('&;MFG5 M$+T]3'LPY(-$36QF&VC__6PGI!#2M%U?$E_..9^/KU]W1]D#CP$$>LQ2PGM& M+,3ZTC3Y(H8,\Q9= Y$]2\HR+&25K4R^9H C3,EDS2Y4HR8#P MA!+$8-DS!M;E)%1X#;A+8,TEO0 ME.LOVN58+S#08L,%S0JR'$&6D/R/'XMY."!8+Q'L@F!7">X+!*<@.&^-X!8$ M]ZT1O(*@K9NY=SUQ8RQPO\OH#C&%EFJJH&=?L^5\)43MDVO!9&\B>:+_$^0L ME;7MO>V@W"O[8D!:R@PMDM^UVS7A& M;Z%W%-WJU-GY6/3)?T<_F@RGW ..UG.:]\#OP9P+)D_NGP9-M]1TM:;[@N:O M-3 L$K+*M]8%NM='%B(TV,J>%:!QPA=T0P2:82'[I\ 60$3=WFJ.Y+2\\'/= M&KR;=F34*XUZ[S.J#E&=BUS&US+J]M[V;3N4R[<]W':G(*OC5T#C4Y#KN]XQ M:'(*O=QJ43H-&IZ\8#$XGUPJLBL,:D!U6EFE\"O)]M[+@DQI0._#J'8:E MP_"#!W0&*L\H$>@&6%8W&Y?-4Z@JS54(X2F$I0[5;@=R) M+$]/\HJ@:_W^SJF0K[DNQC*C Z8 LG])J=A75( R1^S_ U!+ P04 " ) MF/Y0)_JXK><" !#" &0 'AL+W=O)Z-X>ST'$Z!,O@6\UP2%LF>JW04ALL-2X^WA4?_@,%L59PMR]DZP#GF86Y*"Z8H M*(_,P8$N5JP3ZSC36JQ/)R?[9;25;U#E&QS- MUS:"2[ZX?)8(0REU)WJO(6QH0M$70'@AUMX)Z2.4VH>J_3)M@+ MUFL'P8XV^T8[ZHT_0C/9-VK[G:"SHXR[\2JF*):V'4D(>U# MO[-^Z]V,O)KUL>Z014/[2U^TUPN,FUM4CBSG8H?/O9;D@+<2JDP9O$COT__WSG M^&ZPINR>+P$$>BSRD@^MI1"K$]OFZ1(*S(_I"DHY,J>LP$)VV<+F*P8XTZ(B MMSW'B>P"D](:#?2W*1L-:"5R4L*4(5X5!69/9Y#3]=!RK>>/'VA$[ C?H M$'BUP'NKP*\%_EL%02T(M&'"$#A IT>V25AR7&1_80D(ITW9: YQM +P.@*]5>8R\?@]YCN<8Y./] M\@FD4AXKN9L8Y),WR'U'R^.7[\?3KC@LDS_6>/3;^Q MZ6N;0:=-S@%ZK^/20Y>D#DP/3?&3_!D%[Z%K4'][!DR%\ISP%.?H%V!FBLQF MW4BOJRZ(AU'@.](-#P;:H*$-WI%V4H&F0[=K:B+TF]!(X;8HPB1(MI&L M$XC;NB6CON\X';#;3.%Z>V''%6,RG&A%F:Z Y'5-&_Y<9]Z\QB=@3JQ>.^!1 M/WC)/ZYGO>"/@X[SZFZ3DKL_*^T[#=]HF6YV9\1NIYW0B]WD-;=A6I!XKX^S MO5/[J$KU"K,%*;GTX%SJG..^= _;%'^;CJ K70[-J)#%E6XN9<$,3$V0XW-* MQ7-'55A-"3[Z!U!+ P04 " )F/Y0,;&G6EP" #)!0 &0 'AL+W=O M0@*1)2EO41BJ-T)A M0W1L#],>W,1I+!P[LV]:^/O9;AH56E!?$E_[GI-SCF./UU*]Z))2A->*"SWQ M2L3ZVO=U5M**Z$M94V%6"JDJ@J942U_7BI+<@2KNAT%PY5>$"2\9N[E'E8QE M@YP)^JA -U5%U-L-Y7(]\7K>=N*)+4NT$WXRKLF2SBD^UX_*5'['DK.*"LVD M $6+B3?M7:>Q[7<-OQA=ZYTQ6"<+*5]L<9=/O, *HIQF:!F(>:WHC')NB8R, M?RVGUWW2 G?'6_9;Y]UX61!-9Y+_9CF6$V_H04X+TG!\DNMOM/73MWR9Y-H] M8=WV!AYDC499M6"CH&)B\R:O;0X[@%[\"2!L >&Q@*@%1,<"XA;@HO8W5EP. M*4&2C)5<@[+=ALT.7)@.;>PS8;=]CLJL,H/#Y)Z:T#3<,D%$Q@B'.1*D9E\1 M[JK:[ K( J:YK)&))4SG,QC&(9RF% GC^@PNX'F>PNG)&9P $_"SE(TF(M=C M'XTZ^PT_:Y7<;)2$GRCYWHA+" ?G$ 9A< ^^QJ>TLS AQ;>&QV IT? H\#! MA^_AOHFTRS7L<@T=7_1UKG^F"XW*Q/CW"\ZHXXP<9_P)YX^:*N+V@5MV4/:? MOI#%16,*HC7%0ZEO.*\Z!O''KG2_JQ\.@Z#K>FQN[^0_4$L#!!0 M ( F8_E"._7$]30( ,4% 9 >&PO=V]R:W-H965TN+,-1Y"175IW(-PIXL MI:JHL:%:A7JM@!8>5/$01]%96%$F@BSU>W_W"?NV]6R\+ MJF$J^6]6F'(2C -4P)+6W,QE\PTZ/UY@+KGV3]2TN0D)4%YK(ZL.;!543+1O M^M3U80LP3-X!X Z #P7$'2#V1EMEWM:,&IJE2C9(N6S+YA:^-QYMW3#AON*] M4?:469S);L0&A)'J&1W/P%#&]0GZ@A[N9^CXZ 0=(2;0SU+6FHI"IZ&Q%1TN MS#OVJY8=O\/^O1:G"(\&"$-#**D]&. MLG!KR-P%=TO5B@F-."PM,#H=61[57AIM8.3:S]U"&CO%?EG:>Q:42[#G2RG- M2^!&N;^YL_]02P,$% @ "9C^4/S>_M_" @ "P@ !D !X;"]W;W)K M&ULI57?;]HP$/Y7K*@/K=0U/X$6 1(0V)A6K6K7 M[6':@TD.8M6QJ>TTW?[ZV4[(:$D94E\2^_Q]=]]=+KY!R<6#S 4>LXIDT,G M4VK3=UV99)!C><$WP/3)BHL<*[T5:U=N!.#4DG+J!I[7=7-,F#,:6-N-& UX MH2AA<".0+/(-3"9+SA_,9I$.'<\( @J),AZP?CW!%"@UCK2, MQ]JGTX0TQ-WUUOOG)&3I!A*%O&2^D=B,'KM*236 WJ>5-*GG!&_)"=,V9RB2:L132 M%GY\F-\]P'=UJ9IZ!=MZ38*##C\7[ (%O7,4>('7HF=Z#/W*T/VKMG3>%WWV MONCSP_08$DV_;*._J&78]%YH_85O^)L44END1./DL2#2MA3Z^47;T$)!+G\= MB!$U,2(;(_I/?[>U7L7L6J:Y@)]&OG_5"?R!^[3[28Z#S=M@E[TP:& O]'<: M_9V#^L,JC$1P% ?&P &0 'AL+W=O([1^<[DLX'TF1/V==X0P@'W\,@ MBJ]&&\ZWEXH2NQL2.O$%W9)(/%E1%CI+=3\H+,THG)G 9_^1[?7(VL$?#( MRMD%_)'N/Y*^YXFH& @_<@.4 M&Z"F@=9A@',#W#0P.@RTW$ ;VH.>&^A##8SL 0M MO"47Z7"EUB+!?I3,K"?.Q%-?V/'I!TJ]O1\$9^ /OB$,W$;$ MQ\")O/Q9WG#>"7VW(-SQ@_<"\N5I =Z]?0_> C\"GS=T%PL_\43A(N:D9\7- MX[O.XD,=\6%P1R.^B<%-Y!%/8K_HMS=Z[!61JR)AZ)"P:]3K\/=== &0>0:0 MBE1)//,AYN/$'(YE='ZM]YM?Z]WN-U\05YA;,O-:+G$Q^7#J#W?XL_W(Y^3\ MDZ@MGF0Z_?U)X,$M)V'\3T]O6M&;EO:F=45/W9VHB1P\$.93+YD10*P9(AN% M?D^'4?CMS9OV.-1BTXO8]%Z/_9DX Q\8C:6K)W-KI&X3%7F>FE ?ZQ/EN4IG M$,J6H1"&!:K&S"B8&;W,*F2$RZB8K>ZAJB&M0640RI:@$-:1G(I5 M4+%ZJ:CC)[5#DE3U7K<6 M>PNV1F@8S#X*J]-#)3UTPI*2.Z]%9:AFLV0.@]DRF&:H>@?'4ADA?J&ZDCNJ MKQ?4HC,$94M06!MWD2F%%_;KY6?F> 3<.R&)^^9W*990?XWU5$H8[->PGU]/ M;2*M06 M%PBAT:Q[PV"V%*9V53Y42A4ZI50AB;B8EMFD. 1ERU!8[7AE1*5.H9?2*=36 M%@N;5I/,$)0M0YECW$&FU"ETY O1CSGSE[OT#3C=9!NVNDKA0J\A7*@4+G0B MX4)MN<%P;*+F: V"V5*887441U3*%SJE?*&VZ$@Y#H+94E@WQU+$T$N)&#HN M8L&ULC5113]LP$/XKIX@'D!A.TY86 ME$:"=F,@T!"%[6':@YM<$PO'[FR'P+^?[:198:7L)?'9]WW^ODONXEJJ1UT@ M&G@NN="3H#!F=4J(3@LLJ3Z2*Q3V9"E528T-54[T2B'-/*CD) K#8U)2)H(D M]GNW*HEE93@3>*M 5V5)U6'B"RVP2A$X0N_6RH!JGDO]@F2DFP3B #)>TXN9.UE^Q]>,% MII)K_X2ZS0T#2"MM9-F"K8*2B>9-G]LZ; LSW9 U *BMX#!.X!^"^A[HXTR M;VMUB)6M0+MNRN86OC4=;-TRXKS@WRIXRBS/)A919S3@_A&^F0 67PE"1 MLP5'.-,:C08JLO:LW9C;/RFK;()<0M["87^&AC*N#^ 3/,QGL+]W 'O !-P7 MLM*60\?$6+WN5I*VVLX;;=$[VH[A1@I3:/@L,LQ>XXGUV9F-UF;/HYV$5Y4X M@FAT"%$8A5OT3'?#9YA:^-C!>R<[Y/2[VO<]7_^#VL//:WL"EP9+_6L'[Z#C M'7C>P0>\VRK>((\]TG7X4]+KG0RC7DR>-@NQ+6T\ZD==VBMAPT[8\+^$'8)M M0=M@ J:54BC2%[A75&A.?6M?V.$#^]=2ZX-M%H;_:!N-3]X((QL=4:+*_:#0 MD,I*F*8YNMUN%IWY%B1_TYM!=D-5SH0&CDL+#8]&]G[5#(U6 MORSL/$7E$NSY4DJS#MP%W81._@!02P,$% @ "9C^4+-D#O>< P Y@X M !D !X;"]W;W)K&ULS9=!;]LV%(#_"B'TT )9 M)-*V9!>V@299MQ0K&B3M=AAVH*UGFR@E>B059_OU(V5%5"92VM!++[$DZKWO MDJE5TT/KX-H[5]@ %59?B"*49V0E94&UNY3Y61PDT MKX,*'I,D2>."LC):+^MG=W*]%)7FK(0[B515%%3^=05"?-7=QFR5D!I6*B1!)VJ^@=?GM%,AM0O_$K@Y/J7",[E8T0 M7^W-;;Z*$EL1<-AJFX*:CT>X!LYM)E/'GTW2J&7:P.[U<_;W]>3-9#94P;7@ MO[%<'U;1/$(Y[&C%];TX_0S-A&8VWU9P5?]%I^;=)$+;2FE1-,&F@H*5YT_Z MU"Q$)X#@0 !I DA=]QE45WE#-5TOI3@A:=\VV>Q%/=4ZVA3'2KLK#UJ:46;B M]/HG(?(3X_P"?=('D.BVU+3CS053*0-0RUF9" MMJQXVQ1_=2Z>!(K_4)67B&07B"0D^?)P@UZ_>O,R2VR6HUT3TJX)J=-. FG_ MSP1?S R>3+,H0+__8C*B6PV%^F.@GDE;SZ2N9QJHYQYL>^5F!PS03M6W4N<4 M:9W"MN+C>C&=+.-'#W?:#7(/"/M0Y:M9!X72>^EFSEC4;8Q$?:]9G35/L M9Z4M*QUC37RLM,?*0M/*6E0VAIKZ4-E_1\U;U'P0]=FT*-"=!ND#SGO :982 M/W'1$A?#1*$I]\$6_4U+IG8A?#2<.%4E@[QKH;1M 0F/4%8PT%FXHS_\7?0Z M=O+!Y-N[OO&V/.[[)!APPRW/>Z+)D1TGL$CH@FU/>Y+ MQJQ$:.><9?"P9CX=09J>*_?HQ^>>^PC%!N10OQ%G%9)\%P8@SDD$?[L!FAPO M#+ (?.&3SB^?8?F$#$#ZO@E^81'G&S+J&Z\!2-\W89KS#1GUC=< I.^;,,WY MAHSZQNL TO=-F.:,0X:-,VP!TO=.^-N?./60$?6$1-#$=7^,SB>+Q;]X<>?4 M8D^ 'ZG9C=#F6%1?'LQ!%*1]P8SOA-#/ M-_9LU!YMU_\ 4$L#!!0 ( F8_E!?UI_X+P, ,4) 9 >&PO=V]R M:W-H965T]^]R9/')U$O*'.@!H]-0Q MKM;!0>OCIS!4]0$ZHF[$$;B9:87LB#9#N0_540)IG*AC81Q%>=@1RH/-RGV[ MEYN5Z#6C'.XE4GW7$?G\&9@XK0,TZN,6?MM@)G,5W"B=U]HYL*CLA?MC!;\TZB"P1,*BU=4',XQ&V MP)CU9#C^&9T&4TPK/']_\?Z+2]XDLR,*MH+]21M]6 =E@!IH2<_T%W'Z%<:$ M,NNO%DRY7W0:;+,X0'6OM.A&L2'H*!^>Y&DLQ)D IQ<$\2B(KQ4DHR!QB0YD M+JT[HLEF)<4)26MMO-D75QNG-ME0;O_&!RW-+#4ZO;FM:]E#@WY^,@M#@4+O M[T 3RM0']!/Z]G"'WK_[@-XARM'7@^@5X8U:A=H$MO*P'H-\'H+$%X+\WO,; M%!^?5M^![61EU:.J]?RT*0[Y1Q/.28[!A_1 MMI<2N$9_W>Z4EF9I_?U&F&0*D[@PZ?^45N@#2%2+SE:8V,7KJ^#@*W>^[-Y[ MW."TBHI5^'A>*(]5DB1XLGH%FDZ@Z56@)R(EX?K9AS=XR%X%+O)JAN>S*K/< MCY=->-E5>#O!>^_BRQ91BS+&,[2E$8ZS]$+E\@DM?Q/M9=TT&,DAUE5%/PLN<+K#POTAF[QZA,$S]Z,:$75U6UH=)T5-3VK*6, M=3:;6BCMA2T6'"FNYK!+(QQE9>RG+2?:\BI:19CI4:8+C;N*\I%?DR @=W'7'E*&>?9 M#'IIE21%Z6?&T7_G0G1]]_*V_&@1MZS*^;;S6155<8'N[-3"5]'!>&QY ?&B M619)D<[+YS$K<9'/"QB>G;'V@O,'D7O*E=GEK=%%-X5)40YWAF&@Q=$=NSNA MS2'N7@_FG@72&ICY5@C],K G^71SV_P+4$L#!!0 ( F8_E R\F:.\04 M P= 9 >&PO=V]R:W-H965T>1YG!#V7>^(D2 ESA*^'5O)<3ZJM_G_HK$'K^D:Y+(+PO*8D_( M5[;L\S4C7I"#XJB/#,/NQUZ8]$;#O.V>C88T%5&8D'L&>!K''OMQ2R*ZN>[! MWJ[A(5RN1-;0'PW7WI(\$O%E?<_D6[_T$H0Q27A($\#(XKIW Z_FV,T N<6? M(=GPO6>0A?)$Z??LY2ZX[AG9B$A$?)&Y\.2_9S(F491YDN/XNW#:*_O,@/O/ M.^^S/'@9S)/'R9A&?X6!6%WWW!X(R,)+(_% -^])$9"5^?-IQ/._8%/8&CW@ MIUS0N #+$<1ALOWOO103T0: "@"J &3'>@ N +@*,&L 9@$PJP"[!F 5 *MM M#W8!L-L"G +@Y&1M9S>G9N();S1D= -89BV]90\YOSE:,A(F62H^"B:_AA(G M1A/"PF)^#L[3EX M"\($?%[1E'M)P(=](4>8]=/WB]&,MZ-!-:/!X"--Q(J#:1*00(.?-N/M!GQ? MSDPY/6@W/6/4Z/#W-+D$R+D R$"&9CR3-O!!!H<#73B_UOOLUWJ?-\,GQ)=P M5P<_F$M'3J?;U@_P&[@2)^;<&SV;IVJ9\G);B77= @8Q_( MU4!T,][L:3?CO[UY(6?@NGC8 M?]Y/,8V9;4 ''9I-C\U,!YG0/32;:ICWKJQ]KJ'!G0=6(E98V9*=:W&?&R&H&U:%6\SC9F<0>CH8W;*F)WFK",\ M7"8RS0+@!,LP6>Z52/#U(XF?"&O*<+?LR^UX[0Q*SX,34>P\7X!/--L> M2")O8IHF0L??X&@J30@E,Q5BVIG-!\?)B$Q[S^P@)&@H43,:@Y*!@"[H@7LR M"CLF""+E&W5)4>%M?_)M"(\H:F3H #\2G MRR3\1Z:F?/M#K @#8QK+L\0JV^3G&)_&!)Q]H)R?7X#I8D'R/3NXIRQ+ WO MMR=&]!5^TV:+=<3O.VS!2J6=Z,R089G5I#HV,PVKHF@SG16VZE)*:1!L%J'M M1'ZBB3RH,3GW^7+?SN/T19[=.#EOE4!* *#3=0*I@@_=_Y% H$UEVZ79+GL^ M$7V=<(\I=8RJ$A=6^S7Z'31U(;MPJON925\B"[:\*5R*!3QXR6 M2]DY7H!.E?+3-G.-C5FWCI6:H5-JUA'=I<;[Q1I_#=Z5[J!!Q[QC)0^X^0S3 MEO?"S4%U/MKLMS&::XQ,:.JIQTJ*\"DIZI3ZUZGM6"D21EU3OO<#6?.9J$UM M+UPP"KI+>QFFNL!A#6;,%Q)E.'+:KFX^::KS]PWIY G<%S\'E%@)?_O@$8 MD:=BGA]]9#* @F1YN%EX(0//7I3F=Q2!FD2?)H)YO@0$\IN@!89G(+Z6^TEY M-"3\4L==?^\>)29LF5^1<>E1CF3[BV_96E[#W>:73Y7V,;R:0$W[%%[-=.TW MV+F:84?S14Z7_)+?]/75D+;WA!\])E<,!Q%9R.$9EXY,8K:]>MN^"+K.;WZ> MJ! TSA]7Q)-SE1G([PM*Q>XEZZ"\ !W]!U!+ P04 " )F/Y0DDHZZ!0$ M !)#0 &0 'AL+W=O\4&F2XZ4 6609$_^<8L\6C%EGB-ZF9U*6AE-5JB),-<)CP'@8N3SJES/'<\#2@E_DIP([?> M08=RS_E7O3B/3CJV]@A3#)56P>BQQ@FFJ=9$?GRKE78:FQJX_?ZH?5X&3\'< M,XD3GOZ=1"H^Z0PZ$.&"%:FZXIN/6 <4:'TA3V7Y"YM:UNY 6$C%LQI,'F1) M7CW90YV(UP#<&N#N #5 &\?X+\ \&N OP_HO0 (:D#P6@N]&M KTAR^!+S0K(\DB-+D7FMQ IK4Y/*E/N"*0\N M>*YB";,\PLB G[7C>RUXB\)N8GJ<_[7T3HPN]4G>#@$Y?$A=M/!()SA9F\:S'I-R;] MTJ3_DDD>EE;@DFSS2-\K$(G1E,MV38^Y_.W=N^?9W/$M:'P+6C5>X1KSPN3* MI +V2J NW.NQVQ\.!M[(6F^3QR#6LYV^NRLV>R[F]UW?&>R*S0UBP_[ >S*Z M$V6OB;+7&B459RJ].

PICE2P3:V# 1P>T%9OJ=\C?&$/!O*!@JW+_^ % MSAZ3I@8IUP[\/;X]E_+M8(^[$R2+F.;Z:2HSOW M[LY3^W*\G_CKG/T'ZL YI)$&@66\H$8DD(J"+"<@JA)0$Y6N9<$2 6N6%@A\ M09-K,>SQR3)DH7G93#KO7D4O61<<$$_0$E MI+@@]^RC/I4'4&ULS5K;;MLX$/T5PELL6L"-);HI2V"_2EL:B9X9G#T1Q*[-43%U_DAE*%OD5A+*\[ M&Z6VE[V>7&QH1.09W](8[JRXB(B"2['NR:V@9&F*#W0N[G:DC5]H.KC]KV JUX> M9+.\[G@:$0WI0ND0 M!/[LZ(2&H8X$.+YF03OYG-JQ_/L0?6:2AV3F1-()#_]A2[6Y[IQWT)*N2!*J M#_SI3YHE--#Q%CR4YE_TE-EZ';1(I.)1Y@P((A:G?\FWC(@V#CASP$<.,+'= M(<@<@F.'H,:AGSGTCQWZ-0Z#S&'0=H9AYF 6LY>299B>$D5NK@1_0D);0S3] MPRR7\0:"6:PKZT$)N,O 3]W,"!/H$PD3BNXID8F@4#9*HM*X7G_T@2X2(5B\ M1F,BF40OIU01%LI7Z#7Z^#!%+U^\0B\0B]'?&YY($B_E54\!/CU+;Y%AF:18 M< V6(;KGL=I(=!T,AU%]U*28%F( J]8V3.0J88E8\?@ZO;^#U6\ KU0(4I-J@CS&?2RIV9!["E/$V ? D,<+ M@$YTD^@>UTB69!K25@TIG*&!HSO@[L8?>+!.N_(2G1H5%I4T!WF: V>:@'E' MA>F,? 5-:*YLV-(8@SILE9F'^TVA.Q6?T+RH;I!QWT3NZHR'R MNB=\]#_; M>I4K;"4QWRMZO^><:6(>!<7T,SV%!Z%;;OM3)A:SPE+?*=>*94 ML!W16XVT+JWS^DWTWCE-JM!P 0V[J\ \)S4$67'BIFK,P)[:U8$M=,8/VO)X M>*CW5HQ!,Y@[7_>8\7";5/ HA\=U* M\@/]'+?IYWXA+/[P5^SH?J$X_NA_Z>GCAKB/V-8K)YE7F]4N5,EWR])S=6#< M$*\.ND7%X"WQ6$*:@MLUQ!9\Y 4U"ND7$NF[)>L'A&3<$+J.IM9RB LYQ&XY M;",_^%3V_,&%YQ^U&ZM9X/>K9K,&0">Y5Q,K=!6[=?6YXC5NB%>S)OA4=_'@ M8GC"S:E9@(/^L&;Y"HG&;HENJ7KCAC!UR5GT//"&Q[F=6HT&YS69%7J.W7K^ MLP5SW#!?'06G>P$;!:=6]104>P;<_N7TF5H;M-%:7*@^'OR*6HN+S0!VOV9^ MM]8VQ'T,[%4Q;-V)B^T"=LOZL[6V(5X==-& M>#79!;8]Q^_G6-_](=$#-J75.GIPH8L4424;NA[M"0*-%.0>*W5:25X!,U^ MJXQDIP$5UW*VV.@K_\R5?Z'B@?O=W;[%&3=X'5[>5[HF=J8F("<6F0R(H.:0 MR\A^Z6LY2[^6* #82AGM3':LD#)&B(M+EHP>L,)UK76R( M@N_9N(P;O Z;Q^:U/F9K36,J3*9)^=1$+Z#:;_7ZP"U!5_IT%:B*R=H;*0C]).6LEDG=GU6/ MFQ.:X_&)_[EU+>,W_F7,]OX!%].;7'N\.7,-GX;!)=W M06"Y QT1[O2M=P9P9V"],X0[Z8EMD79Z> ^=#1J?1"%= 07>V0A:D$C/P],+ MQ;?F_';.E>*1^;FA9$F%-H#[*PY](+O0$^3_*^'F/U!+ P04 " )F/Y0 M%W/>0X0" "J75][?LJ*[$B:B1JY.;-1LB*:!/* MPE>U1)([4,7\, @2OR*4>^G$[2UE.A&-9I3C4H)JJHK(UQMD8COU+KS=QATM M2FTW_'12DP)7J._KI321W[/DM$*NJ. @<3/U9A?7\\3FNX0'BENUMP;K9"W$ MHPV^Y%,OL(*08:8M S&/9YPC8Y;(R'CJ.+V^I 7NKW?LGYQWXV5-%,X%^TYS M74Z]*P]RW)"&Z3NQ_8R=G]CR98(I]PO;-C>./<@:I475@8V"BO+V25ZZ<]@# M7!P"A!T@_%M U $B9[15YFPMB";I1(HM2)MMV.S"G8U#&S>4VRZNM#1OJ<'I M=*5%]E@*EJ-4\/&IH?H53A>H"67J##[ _6H!IR=G< *4P[=2-(KP7$U\;6I; M!C_KZMRT=<(#=2*X%5R7I@;/,1_ SX_CDR-XWWCNC8<[XS?A4<);(D<07IU# M&(3!D)[C\*\--_#+(?@? MPAW6C.#'I+>0_+_/#P0UN"0A>2=XVT=O)?5&O#W!D"%LG!S44%F6]O.@GZW'[TS M-W'\W^GMW#;_BX)R!0PW!AJ,+LWIR786MH$6M1LG:Z'-<'++TGP^4-H$\WXC MA-X%MD#_04I_ 5!+ P04 " )F/Y0Z^4'6?\! #M P &0 'AL+W=O M*'5%S15S$]-PC3='8Q4#-&U%76,Y*P-(29K$\6>JF-!1G@7?SN:9:4$* MS7>6N%8I9M]77)IN$4VCL^-95#5X!\VSAE5\S^&EV5FTZ,A2"L6U$T83RX^+ M:#E]6*4^/@1\%[QS%V?BE1R,>?7&8[F(8E\0E[P S\#P=^)K+J4GPC)^#YS1 MF-(#+\]G]B]!.VHY,,?71OX0)=2+Z#XB)3^R5L*SZ;[R0<_,\Q5&NO E71\[ MQ^"B=6#4 ,8*E-#]G[T-?;@ )-,K@&0 )*'N/E&H[!X*Q '^=HH)0"[#(XP79*UT2!TQ74AN",?R;(LA6\?D^11]S/@ MFWF[X<"$O",W1&CR)*1$K\LH8$F>F!9#^E6?/KF2_ENK)R29?R!)G,0O^PVY MO;G[FX6BH%%5,JI* FUZA7;;@@.4@TK(;NO(S^7!@<4)^/4?\G0D3P/YIZLM MTX&KQ9YL#U)4H27_TM[SW <>OQVG/$WGDUE&3Y?IZ<7K^45X8K82VA')CXB+ M)_-91&P_7+T!I@D/>C" XQ&.->XCMSX [X_&P-GP,S)N>/X'4$L#!!0 ( M F8_E ?9K\/)P, *,) 9 >&PO=V]R:W-H965T!"C[VU,9LKW]?9&@JJ+^4&!+Y9 M2E50@T.U\O5& +_8(RX4U&U=RMFHQD:3@3<*N(+HN"JNWWO9>*.K=;&3OB3T8:NX![,U\VMPI'?JN2L *&9%$3!GADY& M2NZ(LFA4LP]5]2LVUHL)VR?W1N%;ACPSFJ%)4X-QUEJF2(Y_9.?34TONIR\[_15_\<_17Q0C;K@DKO?"(WHW< M@NT9N\CW!E>8JIS<*IF7F3ELC^]WDG."W_4.83].A!^TX0=5^,&1\%/*J8<6$P(XE:RIT5[$,$P[:])IDLA:FWDG:VO5%<5P=I9W[:OYKU'?-SO('4%X8_\O7UY88J_.PU MX;#$4+W+!)='U5>">F#DICKS'J7!$[1Z7.,M"I0%X/NEE.9E8 .T][+);U!+ M P04 " )F/Y0(QO-KF " #6!@ &0 'AL+W=OR9*0$)@EG2$ ^<:;!:!F;?)OP MAGHR1J63#^:N9/&43QS<; @JI,@Q8OW["'"@U1'H;/QI.IY4TP-/QD?V] MK5W7LL$2YIQ^)9DJ)LZ#@S+(<475FN\_0%//P/"EG$K[1/LZ=^ [**VDXF4# MUCLH":O?^-#TX02@>;H!80,(SP'Q!4#4 *)K%>(&$%^K,&@ MG2OKMTV;H$5 M3L:"[Y$PV9K-#&SW+5KWBS#SG;PHH5>)QJGDB:6\!/0)'T"BVP4H3*A\-_:4 MYC897MKPS&J>\ )/A)XY4X5$2Y9!UH%?]..'/7A/U]06%AX+FX6]A!\KYJ+P M_@Z%?NAW[&=^#?S1P(/'KG+^3WWYS^I_-2-J3SFR?-&;IXP61*:4RTH ^C;= M2"7T5?W>(Q&W$K&5B"](+/,<[*5')V)KK "M(>4L)91@8PUW: 4B!::ZOK%^ MB6#H!OY-UUGVXVZ';N3?='W4BS<$']Q!I^"R'Q>Z_CFL[JEW,_8[$E3"(*N9;RW7OM(Z)V MT7JB^,[:Q(8K;3IV6.@?#PB3H-=SSM5Q8@3:7UGR&U!+ P04 " )F/Y0 MF:H1D(X$ !3#P &0 'AL+W=OF++5'G#.<,A^3,:$_9$\\P%N"E+ B_&61";*\MBR<9+A$?TBTF\LN: MLA()^W *E%.!N.1'GM@XQ'=B2(G^($!OBM+Q'Y,<$'W M-P,X. PL\DTFU( U'FW1!B^Q^+I]8/+-:JRD>8D)SRD!#*]O!K?P>@Y=1="( MWW.\YR?/0$E94?JD7N[2FX&M/,(%3H0R@>3?,Y[BHE"6I!]_UD8'S9R*>/I\ ML/ZS%B_%K!#'4UK\D:77L7+ M;=+5U6;=,V8/F;; 6\I$3C97\C&A),DE<@/N!"Z!S!_P98L94M_! Z/K7("+ MSS+=+L&:T;))5T%E6A).BSQ% J?@VVMI7[XROO^W*%695 MTBMOT:K A[DY^!NLS0VPP(8P-&L.&LU!K^;J MA-GJ]3=)#;I!#B,;MC1,#3 8P=!N2>W"'-^/@[ EU0!SPQ &9JEA(S7LE;K M'".69/H@3>7J%G1[)K>';?T=E&1C$I;;Q<5 M^X[GF_7&C=ZX/YLQD4=:H?6B5%8"N;RVD:JR3*+C;IK!J.WHU("R_;B]B;LH M+_"<5FCF!I3KQ6<6&=K'\L3NE?U%9/(,S74U< 4(-J9T;>/T /GH1EY+K0$% M?==MJ379\NP6:FY .1%TSZ@]*<9@K]K;$OTE:Z=O]UA='=_E)7$HL]1-E<@= MS:KJ:I'SIU-875:!"29)IK9#\['G(H/.T2_G?W_MPF.- -W>*'9#=04>,%-C MLO@P&LYE3T, MY3'!J@ZN>A%TJUN4%14RV_5C)KM>S!1 ?E]3*@XO:H*FCQ[_ U!+ P04 M" )F/Y0?"E[>B0# !X"0 &0 'AL+W=ODO*RY2HO141*Y<"R2A!:6)ZWM>UTT)9 T$F%4\+ ML%:04I;_D_LB#SL S5,-\ N OP]H'P"T"D!K'] ] &@7@/9K/70*@ W=S6.W MB9L2189]P3<@S&K-9@8V^Q:M\T69Z9.%$OHKU3@U/&>A=B(>8(&1+K\Z@D_( M(T'6,0W@G.6-:"O*0EC0B-$5#0A3,+':4$@XAE$84K.()$\@[Z>H"$T^Z!4R M9^^[2FLVGMV@T#?.]?D']+7@DC,52YBQ$,,*_+0>WZW!NSI79<+\;<+&?BWA MEXPUP#\Y M_SO0H]D]? 3PV\>5H5SK]YG_VU]R?):)7=T[)\K0-\<[Q#EJ&$ ME> IS.X5"M,$C[UANN:"L^CX0A\'(8RD1"7A^D+SP+G"5-[4J&B7*MI61?N MBJ]9ND0!? 5S7'.AR#+!;3_+JASG=!U+9P[2NV&S[]Y5*.B4"CJU"J8\R(PW MN$)!>6B:#?1VQ"KG]4S; K]]\^9YB9]HZY;:NK6,18U@C"R(]5UP"]>7:!)V M []AE))?>J?N6+:U@PEG@0Y)Y'MY3N4CL$;52:GJY#]V3J]4T:O-S?,8CTP) MC4U?DE6G53U?J]-H>N^J3H5ZG-]K>)6XZ0NX;L.OQ,U>P/F-UCXN3Z"[4S861OQSW[N'DV:5;8I_I9D;\"'NGS-\DE$1%E$A)< M:5=>XT3O%)'?\_E$\;6]R)9&ULC91=;]HP%(;_BA7UHI4FG 98414BE=)I3$-"H&X7TRY,SD?'D$(#W)IO!Z841_2"T_G1_J74+NK9V]'\))0:U"XYKORA;-"X7>YTF&V: MK877!A22I[W_7L\!&1?VAEP1KLB2"^&Z9U.*+IK7T/Q GG7DY QY2)9:867) MDRJ@^%M/799]JLDQU5ER$?BM40.2W'TB29S$SYLYN;ZZN8 =]AT8!NSP?SOP MZ[OS( L$:7]?X(]Z_BCP1V?X:\CU'LP[T259R%H;)/,&.?RSI1UJ$E#^/>VS MR6"XFAFGEGCX8[^#V2ZWQ:/@ _<\D^P!02P,$% @ M"9C^4)"$(W<^ @ M@H T !X;"]S='EL97,N>&ULU99;:]LP%,>_BE#& M:&'4=MJD;+4-6Z$PV$:A>=A;4>QC6Z"+)\N9TT\_R7)L)ZU'Z,/6O$3G(OW. M7Q='"BN]9?!0 &C4<":J"!=:EY\\KTH*X*2ZD"4(D\FDXD0;5^5>52H@:64' M<>;-?7_I<4(%CD-1\SNN*Y3(6N@(7_4AY)JO:82#Y15&#GGD4^B_D*?#U/G@ [0WT MNE6-PTR*87$OL0L8,N& -H1%^)8PNE;4CLH(IVSKPG,;2"23"FFSJZ948"/5 MDTL'SK,;WG$X%5*UM5T%][ONNA\D=IX52!GK!Z,TW9N@\]2 MJ+-7V](HS!79!O,%'@:TC2FREBH%U9<)\"X4APPR*T?1O+"MEJ5GDUI+;HR4 MDEP*TFK8C>@,@TV L0?[-?S,]MA--MHSW^Z8Z$TCJ#,=QCF6/Z8Y]ACKOXJ+ M2KJ1^DMMIB-:WQXRN%>0T:;UFZP7,$4/INFD+-GV,Z.YX. F?W3!."2[<:B0 MBCZ9:O:H)"8 "J,-*$V3<>2W(N4*&KT[3DTVK7E^@IK_[3KG($ 1-A9MSOY; M7N57*[Z\_E^2VW^50\$O:NRNN+G(/)MGDFONW9&=]O>S=9'D7U! M1/B'?8NPH2A:UY1I*CJOH&D*XMD%9_":K,TC0D9KI59^,\&!_AY36 M_&/?Z]XN1-=KL+_9Z07+MN#P4HW_ %!+ P04 " )F/Y0EXJ[', 3 M @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/ MV!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%" MKM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0 MT^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( F8_E#I M[RS]Z00 *TH / >&PO=V]R:V)O;VLN>&ULQ9I-;]LX$$#_"N%3%NBN M;7TX:5 7:.,D:Z!MBCB;ZX*1:)L(1:HD%2?]]1W*=DMMY,%>ICXYHA7Z:23R MS9!ZMS'V\<&81_9<*>VF@[7W]?EPZ(JUJ+C[R]1"PS=+8RONX="NAJZV@I=N M+82OU# 9C2;#BDL]>/]NW]=7.XP/C!>%ET9#8VBXEV+C?GT?#MF3=/)!*NE? MIH/V;R4&K)):5O*[**>#T8"YM=G\;:S\;K3G:E%8H]1T,-Y^<2^LE\6KYD6 MO.,/KFWQ_.&6 \AT,!E!ATMIG6_/:/OGP/@DX.3M4>/-E51>V!GWXMJ:II9Z M%;J!JQA&E]'&8?^Y#>*Y_3]A-,NE+,3,%$TEM-_&T0H5 +5;R]H-F.:5F [V MIS"N2W:I/02)S?6V*S@W7"G\]+S<7K4'W"B&]ES"%W9>MN!TD!=P;)0LX==+ M]I$KK@O!VN Z=O)/#)D@D,D1(?]-(L@4@4Q_(^0B0(1_<,PLX:X7)H+,$,CL M:) 7IJHCR!R!S(\!&1@7:VY%!#E!("?'BR1WZPCR%($\I86<"5=868?V /:Q M<5(+YR*X,P3NC!9NT505MR_M?94K+>'?.-SF#T5A&I@M(\BW".1;6LA;\21T M(]BM* PPMI$\^0)F='_$$_@(F\%'M(B?!'?"]5&A7B$6RUQ#X+RQ+S$0YI Q ML42NC2DW4JDW[,:OA85)V7.]"A#L@W/QK#+&+#(FU@@\_K:!*>7R&3J!^QIS M8>(8$YMC)JQ\XB'5@L@Y;YOM=-?SU&'F&!.KXXI+R^ZY@A'[&89%8\5!3,P= M8V)Y++PI'M=&E<(Z=OFM":EA#R)FCC&Q.B =J*3?1B\DL. [#YFTT(7L/I28 M0<;$"@F)5278'7_NGP Q<8R)S3'790/CY(4MQ"J<^H9="[.RO%[+ H90G%EC M]DB([;%H'ISXUH0$ZS+,V#UA3#"/),0>0;.$3NZ?H!4*L5UPS#3&Q.R2$-NE M+YV92<=7*RM6W,>8F&P28MGT888)R$*Q#P5@C(G9)B&VS3[SNN/PN]TA@]DE M(;;+S]2KEPR32D(L%30'ZPYF3"L)L5;^FX/UQA%S2T+LED/)V&O,%'-+2NR6 M Y@+Z+IL5)QRIYAB4O(U,"3582J75CAJEWL9E?*;#JBS# #9<0&VF%^YKZQ864%1OM-+2P/ M4H?XQICH5@RQ@7:85U)SR#0@E+^V.N95'1T9/ MC@DG)Q8.6IUUO)ACTLF)I7.HUMV%,\;$I),32^?0SL.N/<;$I)-3ESU].P]] M3R:Z_T_^ @!6D/\98V+ZR^SW!K#/9OBFW?SVN%$NI1?D%>G?07G!5?+4L M?&PW]+,\;+(M&Z4NH.U&?S*\W+]MMW]3\/T/4$L#!!0 ( F8_E#U29+, M 0( %XD : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDMNHT 4 MA>&M6"P@Y?LB22O.J">91MD @'O0DJC-"!>+RB\$G M!#P\YT,W[?M3V>V'LO@X'DYEU>RF:?B54EGO\K$K-_V03^5\WX]"I-JAVD$*3U@PR"K'Z00Y#7 M#PH(BOI!+02U]8-N(>BV?M =!-W5#[J'H/OZ0;)$&9<$23.L";06Y%H(O!8$ M6PC$%B1;",P61%L(U!9D6PC<%H1;".06I%L([!;$6PCT5M1;"?16U%L)]-;9 MPS:!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>AGH;@=Z& M>AN!WH9Z&X'>-GM90J"WH=Y&H+>AWD:@MZ'>1J"WH=Y&H+>AWD:@MZ'>1J"W MH]Y.H+>CWDZ@MZ/>3J"WH]Y.H+?/7G83Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H M[:BW$^@=J'<0Z!VH=Q#H':AW$.@=J'<0Z!VH=Q#H';./E01Z!^H=!'H'ZAT$ M>@?J'01Z!^H=!'JWJ'=+H'>+>K<_J7>9/@^Y7'N^UGC]GZ1Z.I^;KY>_++]V MSF["!><$OQ,]_@502P,$% @ "9C^4-9,P)+@ 0 XR, !, !;0V]N M=&5N=%]4>7!E&ULS=K+3L,P$ 707XFR18WK5WF(L@&VT 4_8)()C9K$ MEFV@_#U."I5 I:(J$G?3J+4]=^*1SJJ7#V^.0K;NVC[,\V6,[H*Q4"ZI,Z&P MCOJT4EO?F9B^^B?F3+DR3\3$=#ICI>TC]7$2AQKYU>4-U>:YC=GM.OT<&MO/ M^^I8R^4@HTLEQ3U@V+IRD#3G;F3"L_!SP M<>[^A;QO*LH6QL<[TZ5=;-VR$-]:"L7^$CMZM'7=E%39\KE+1XK@/)DJ+(EB MUQ:;HB?[DV.Z8=I\\J/SQS+[ M/.A;@8V/X^_XZXRW]0_L0X#T(4'Z4"!]:) ^9B!] MG(+T<0;2QSE('WR*T@B*J!R%5(YB*D=!E:.HRE%8Y2BNNCM:L_CA^?16>:_C.?C?_MN7H' M4$L! A0#% @ "9C^4 =!36*! L0 ! ( ! M &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4 " )F/Y05-\:N^T K @ M$0 @ &O 9&]C4')O<',O8V]R92YX;6Q02P$"% ,4 M" )F/Y0F5R<(Q & "<)P $P @ '+ 0 >&PO=&AE;64O M=&AE;64Q+GAM;%!+ 0(4 Q0 ( F8_E 3&KQ2,P4 '45 8 M " @0P( !X;"]W;W)K&PO=V]R:W-H M965T&UL4$L! A0#% @ "9C^4&PV?]V. @ VP< !@ M ("!X1, 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ "9C^4&U23KN4" &C$ !@ ("!4" M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^ M4*I5-STM% _S\ !@ ("!8#, 'AL+W=O&UL4$L! A0#% M @ "9C^4#*NQ.>;!P D!( !D ("!TE( 'AL+W=O!PC6 M @ (P8 !D ("!OV$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4"[ O*SW @ 7P8 !D M ("!67 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ "9C^4+9,[B@( P ;@< !D ("!:(( M 'AL+W=O&PO=V]R:W-H965TGV P .$C 9 M " @7*) !X;"]W;W)K&UL4$L! A0#% @ M"9C^4,SY4SCE P :0@ !D ("!@98 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4 ''BW37 @ 8 !D M ("!;*T 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ "9C^4$Y^[DZO @ ^@4 !D ("!7+@ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^ M4-=(.GA\ @ ) 8 !D ("!?L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4#>$H")( @ O 0 M !D ("!&\H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4$HZ@&LF P R0D !D M ("!]=( 'AL+W=O H# O"@ &0 @(%2U@ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ "9C^4,J1I7U! P C@L !D ("!L=P 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4/S> M_M_" @ "P@ !D ("!0.4 'AL+W=O,JC$1P% ?&P &0 M @($YZ >&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4+-D#O>< P Y@X !D M ("!,O 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ "9C^4))*.N@4! 20T !D ("! MD_T 'AL+W=O 0$ >&PO=V]R:W-H965T&UL4$L! A0#% M @ "9C^4.OE!UG_ 0 [0, !D ("!P0L! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4)FJ$9". M! 4P\ !D ("![!,! 'AL+W=OB0# !X"0 &0 M@(&Q& $ >&PO=V]R:W-H965T&UL4$L! A0#% @ "9C^4)"$(W<^ @ M@H T M ( !3QX! 'AL+W-T>6QE\L_>D$ "M* #P @ &A(0$ >&PO=V]R M:V)O;VLN>&UL4$L! A0#% @ "9C^4/5)DLP! @ 7B0 !H M ( !MR8! 'AL+U]R96QS+W=O XML 73 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 74 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 75 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.2 html 115 299 1 true 33 0 false 5 false false R1.htm 0001000 - Document - Document and Entity Information Sheet http://www.irobot.com/role/DocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 1001000 - Statement - Consolidated Balance Sheets (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited Consolidated Balance Sheets (Unaudited) Statements 2 false false R3.htm 1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical) Sheet http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical Consolidated Balance Sheets (Unaudited) (Parenthetical) Statements 3 false false R4.htm 1003000 - Statement - Consolidated Statements of Income Statement Sheet http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement Consolidated Statements of Income Statement Statements 4 false false R5.htm 1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited Consolidated Statements of Comprehensive Income (Unaudited) Statements 5 false false R6.htm 1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement Sheet http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement Consolidated Statement of Shareholders' Equity Statement Statements 6 false false R7.htm 1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited Consolidated Statements of Cash Flows (Unaudited) Statements 7 false false R8.htm 2101100 - Disclosure - Description of Business Sheet http://www.irobot.com/role/DescriptionOfBusiness Description of Business Notes 8 false false R9.htm 2102100 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 2108100 - Disclosure - Revenue Recognition (Notes) Notes http://www.irobot.com/role/RevenueRecognitionNotes Revenue Recognition (Notes) Notes 10 false false R11.htm 2109100 - Disclosure - Leases (Notes) Notes http://www.irobot.com/role/LeasesNotes Leases (Notes) Notes 11 false false R12.htm 2116100 - Disclosure - Inventory Sheet http://www.irobot.com/role/Inventory Inventory Notes 12 false false R13.htm 2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets Goodwill, Other Intangible Assets and Other Assets Notes 13 false false R14.htm 2118100 - Disclosure - Accrued Expenses Sheet http://www.irobot.com/role/AccruedExpenses Accrued Expenses Notes 14 false false R15.htm 2119100 - Disclosure - Derivative Instruments (Notes) Notes http://www.irobot.com/role/DerivativeInstrumentsNotes Derivative Instruments (Notes) Notes 15 false false R16.htm 2122100 - Disclosure - Fair Value Measurements (Notes) Notes http://www.irobot.com/role/FairValueMeasurementsNotes Fair Value Measurements (Notes) Notes 16 false false R17.htm 2123100 - Disclosure - Stockholders Equity (Notes) Notes http://www.irobot.com/role/StockholdersEquityNotes Stockholders Equity (Notes) Notes 17 false false R18.htm 2124100 - Disclosure - Commitments and Contingencies Sheet http://www.irobot.com/role/CommitmentsAndContingencies Commitments and Contingencies Notes 18 false false R19.htm 2126100 - Disclosure - Income Taxes (Notes) Notes http://www.irobot.com/role/IncomeTaxesNotes Income Taxes (Notes) Notes 19 false false R20.htm 2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers Industry Segment, Geographic Information and Significant Customers Notes 20 false false R21.htm 2128100 - Disclosure - Subsequent Event (Notes) Notes http://www.irobot.com/role/SubsequentEventNotes Subsequent Event (Notes) Notes 21 false false R22.htm 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies 22 false false R23.htm 2302303 - Disclosure - Summary of Significant Accounting Policies Subsequent event (Tables) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables Summary of Significant Accounting Policies Subsequent event (Tables) Tables 23 false false R24.htm 2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables) Sheet http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables Revenue Recognition Disaggregation of Revenue (Tables) Tables 24 false false R25.htm 2308304 - Disclosure - Revenue Recognition Contract Balances (Tables) Sheet http://www.irobot.com/role/RevenueRecognitionContractBalancesTables Revenue Recognition Contract Balances (Tables) Tables 25 false false R26.htm 2309301 - Disclosure - Leases (Tables) Sheet http://www.irobot.com/role/LeasesTables Leases (Tables) Tables http://www.irobot.com/role/LeasesNotes 26 false false R27.htm 2316301 - Disclosure - Inventory (Tables) Sheet http://www.irobot.com/role/InventoryTables Inventory (Tables) Tables http://www.irobot.com/role/Inventory 27 false false R28.htm 2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables Goodwill, Other Intangible Assets and Other Assets (Tables) Tables http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets 28 false false R29.htm 2318301 - Disclosure - Accrued Expenses (Tables) Sheet http://www.irobot.com/role/AccruedExpensesTables Accrued Expenses (Tables) Tables http://www.irobot.com/role/AccruedExpenses 29 false false R30.htm 2319301 - Disclosure - Derivative Instruments (Tables) Sheet http://www.irobot.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.irobot.com/role/DerivativeInstrumentsNotes 30 false false R31.htm 2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables) Sheet http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables Derivative Instruments Schedule of Derivative Instruments (Tables) Tables 31 false false R32.htm 2324301 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.irobot.com/role/CommitmentsAndContingencies 32 false false R33.htm 2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables Industry Segment, Geographic Information and Significant Customers (Tables) Tables http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers 33 false false R34.htm 2402404 - Disclosure - Summary of Significant Accounting Policies Credit Losses (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails Summary of Significant Accounting Policies Credit Losses (Details) Details 34 false false R35.htm 2402405 - Disclosure - Summary of Significant Accounting Policies Receivables (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesReceivablesDetails Summary of Significant Accounting Policies Receivables (Details) Details 35 false false R36.htm 2402406 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails Summary of Significant Accounting Policies Other Assets (Details) Details 36 false false R37.htm 2402407 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) Details 37 false false R38.htm 2402409 - Disclosure - Summary of Significant Accounting Policies Subsequent Event (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails Summary of Significant Accounting Policies Subsequent Event (Details) Details http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables 38 false false R39.htm 2408405 - Disclosure - Revenue Recognition Significant Judgments (Details) Sheet http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails Revenue Recognition Significant Judgments (Details) Details 39 false false R40.htm 2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details) Sheet http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails Revenue Recognition Disaggregation of Revenue (Details) Details http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables 40 false false R41.htm 2408407 - Disclosure - Revenue Recognition Contract Balances (Details) Sheet http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails Revenue Recognition Contract Balances (Details) Details http://www.irobot.com/role/RevenueRecognitionContractBalancesTables 41 false false R42.htm 2409402 - Disclosure - Leases Lease Cost (Details) Sheet http://www.irobot.com/role/LeasesLeaseCostDetails Leases Lease Cost (Details) Details 42 false false R43.htm 2409403 - Disclosure - Leases Supplemental Cash Flow (Details) Sheet http://www.irobot.com/role/LeasesSupplementalCashFlowDetails Leases Supplemental Cash Flow (Details) Details 43 false false R44.htm 2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details) Sheet http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails Leases Maturity of Operating Lease LIability (Details) Details 44 false false R45.htm 2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details) Sheet http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details Leases Financial Statement Impact of Adopting ASC 842 (Details) Details 45 false false R46.htm 2416402 - Disclosure - Inventory (Details) Sheet http://www.irobot.com/role/InventoryDetails Inventory (Details) Details http://www.irobot.com/role/InventoryTables 46 false false R47.htm 2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) Details 47 false false R48.htm 2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) Details 48 false false R49.htm 2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) Details 49 false false R50.htm 2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) Details 50 false false R51.htm 2418402 - Disclosure - Accrued Expenses (Details) Sheet http://www.irobot.com/role/AccruedExpensesDetails Accrued Expenses (Details) Details http://www.irobot.com/role/AccruedExpensesTables 51 false false R52.htm 2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details) Sheet http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails Derivative Instruments Schedule of Derivative Instruments (Details) Details http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables 52 false false R53.htm 2419404 - Disclosure - Derivative Instruments (Details) Sheet http://www.irobot.com/role/DerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.irobot.com/role/DerivativeInstrumentsTables 53 false false R54.htm 2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details) Sheet http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails Fair Value Measurements Fair Value on a Recurring Basis (Details) Details 54 false false R55.htm 2423402 - Disclosure - Stockholders Equity (Details) Sheet http://www.irobot.com/role/StockholdersEquityDetails Stockholders Equity (Details) Details http://www.irobot.com/role/StockholdersEquityNotes 55 false false R56.htm 2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail Commitments and Contingencies - Additional Information (Detail) Details 56 false false R57.htm 2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) Details 57 false false R58.htm 2426402 - Disclosure - Income Taxes (Details) Sheet http://www.irobot.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.irobot.com/role/IncomeTaxesNotes 58 false false R59.htm 2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) Details 59 false false R60.htm 2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) Details 60 false false R61.htm 2428402 - Disclosure - Subsequent Event (Details) Sheet http://www.irobot.com/role/SubsequentEventDetails Subsequent Event (Details) Details http://www.irobot.com/role/SubsequentEventNotes 61 false false All Reports Book All Reports irbt-202062710q.htm irbt-20200627.xsd irbt-20200627_cal.xml irbt-20200627_def.xml irbt-20200627_lab.xml irbt-20200627_pre.xml irbtexhibit31162720.htm irbtexhibit31262720.htm irbtexhibit32162720.htm http://fasb.org/us-gaap/2019-01-31 http://xbrl.sec.gov/country/2017-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/srt/2019-01-31 true true JSON 78 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "irbt-202062710q.htm": { "axisCustom": 0, "axisStandard": 13, "contextCount": 115, "dts": { "calculationLink": { "local": [ "irbt-20200627_cal.xml" ] }, "definitionLink": { "local": [ "irbt-20200627_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml", "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml" ] }, "inline": { "local": [ "irbt-202062710q.htm" ] }, "labelLink": { "local": [ "irbt-20200627_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "irbt-20200627_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml" ] }, "schema": { "local": [ "irbt-20200627.xsd" ], "remote": [ "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-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/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd", "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd", "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "https://xbrl.sec.gov/currency/2019/currency-2019-01-31.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "https://xbrl.sec.gov/exch/2019/exch-2019-01-31.xsd", "http://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd", "http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd", "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 409, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2019-01-31": 12, "http://xbrl.sec.gov/dei/2019-01-31": 5, "total": 17 }, "keyCustom": 12, "keyStandard": 287, "memberCustom": 2, "memberStandard": 29, "nsprefix": "irbt", "nsuri": "http://www.irobot.com/20200627", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001000 - Document - Document and Entity Information", "role": "http://www.irobot.com/role/DocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2108100 - Disclosure - Revenue Recognition (Notes)", "role": "http://www.irobot.com/role/RevenueRecognitionNotes", "shortName": "Revenue Recognition (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2109100 - Disclosure - Leases (Notes)", "role": "http://www.irobot.com/role/LeasesNotes", "shortName": "Leases (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116100 - Disclosure - Inventory", "role": "http://www.irobot.com/role/Inventory", "shortName": "Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets", "shortName": "Goodwill, Other Intangible Assets and Other Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2118100 - Disclosure - Accrued Expenses", "role": "http://www.irobot.com/role/AccruedExpenses", "shortName": "Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119100 - Disclosure - Derivative Instruments (Notes)", "role": "http://www.irobot.com/role/DerivativeInstrumentsNotes", "shortName": "Derivative Instruments (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2122100 - Disclosure - Fair Value Measurements (Notes)", "role": "http://www.irobot.com/role/FairValueMeasurementsNotes", "shortName": "Fair Value Measurements (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2123100 - Disclosure - Stockholders Equity (Notes)", "role": "http://www.irobot.com/role/StockholdersEquityNotes", "shortName": "Stockholders Equity (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2124100 - Disclosure - Commitments and Contingencies", "role": "http://www.irobot.com/role/CommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2126100 - Disclosure - Income Taxes (Notes)", "role": "http://www.irobot.com/role/IncomeTaxesNotes", "shortName": "Income Taxes (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001000 - Statement - Consolidated Balance Sheets (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "shortName": "Consolidated Balance Sheets (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers", "shortName": "Industry Segment, Geographic Information and Significant Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2128100 - Disclosure - Subsequent Event (Notes)", "role": "http://www.irobot.com/role/SubsequentEventNotes", "shortName": "Subsequent Event (Notes)", "subGroupType": "", "uniqueAnchor": null }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2302303 - Disclosure - Summary of Significant Accounting Policies Subsequent event (Tables)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables", "shortName": "Summary of Significant Accounting Policies Subsequent event (Tables)", "subGroupType": "tables", "uniqueAnchor": null }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables)", "role": "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables", "shortName": "Revenue Recognition Disaggregation of Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308304 - Disclosure - Revenue Recognition Contract Balances (Tables)", "role": "http://www.irobot.com/role/RevenueRecognitionContractBalancesTables", "shortName": "Revenue Recognition Contract Balances (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309301 - Disclosure - Leases (Tables)", "role": "http://www.irobot.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2316301 - Disclosure - Inventory (Tables)", "role": "http://www.irobot.com/role/InventoryTables", "shortName": "Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables", "shortName": "Goodwill, Other Intangible Assets and Other Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2318301 - Disclosure - Accrued Expenses (Tables)", "role": "http://www.irobot.com/role/AccruedExpensesTables", "shortName": "Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical)", "role": "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "shortName": "Consolidated Balance Sheets (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319301 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.irobot.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables)", "role": "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "shortName": "Derivative Instruments Schedule of Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2324301 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables", "shortName": "Industry Segment, Geographic Information and Significant Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402404 - Disclosure - Summary of Significant Accounting Policies Credit Losses (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails", "shortName": "Summary of Significant Accounting Policies Credit Losses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:RecoveryOfDirectCosts", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402405 - Disclosure - Summary of Significant Accounting Policies Receivables (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesReceivablesDetails", "shortName": "Summary of Significant Accounting Policies Receivables (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:RecoveryOfDirectCosts", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402406 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails", "shortName": "Summary of Significant Accounting Policies Other Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402407 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail", "shortName": "Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:EarningsPerSharePolicyTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "lang": null, "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "D2020Q3ITH", "decimals": "-5", "first": true, "lang": null, "name": "irbt:Equitysecuritiesreceivedrestricted", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402409 - Disclosure - Summary of Significant Accounting Policies Subsequent Event (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails", "shortName": "Summary of Significant Accounting Policies Subsequent Event (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "D2020Q3ITH", "decimals": "-5", "first": true, "lang": null, "name": "irbt:Equitysecuritiesreceivedrestricted", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408405 - Disclosure - Revenue Recognition Significant Judgments (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails", "shortName": "Revenue Recognition Significant Judgments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "lang": null, "name": "irbt:Refundliabilityproductreturns", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003000 - Statement - Consolidated Statements of Income Statement", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "shortName": "Consolidated Statements of Income Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "lang": null, "name": "irbt:Costofproductrevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails", "shortName": "Revenue Recognition Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408407 - Disclosure - Revenue Recognition Contract Balances (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails", "shortName": "Revenue Recognition Contract Balances (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-5", "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409402 - Disclosure - Leases Lease Cost (Details)", "role": "http://www.irobot.com/role/LeasesLeaseCostDetails", "shortName": "Leases Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409403 - Disclosure - Leases Supplemental Cash Flow (Details)", "role": "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails", "shortName": "Leases Supplemental Cash Flow (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "irbt:ScheduleofLeasesSupplementalCashFlowTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details)", "role": "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails", "shortName": "Leases Maturity of Operating Lease LIability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details)", "role": "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details", "shortName": "Leases Financial Statement Impact of Adopting ASC 842 (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "I2019Q1AdoptionASC842", "decimals": "-5", "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416402 - Disclosure - Inventory (Details)", "role": "http://www.irobot.com/role/InventoryDetails", "shortName": "Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "shortName": "Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": null }, "R48": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "shortName": "Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2019Q4", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails", "shortName": "Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "shortName": "Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedEmployeeBenefitsCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418402 - Disclosure - Accrued Expenses (Details)", "role": "http://www.irobot.com/role/AccruedExpensesDetails", "shortName": "Accrued Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedEmployeeBenefitsCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details)", "role": "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "shortName": "Derivative Instruments Schedule of Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2019Q4_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_DesignatedAsHedgingInstrumentMember", "decimals": "-5", "lang": null, "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419404 - Disclosure - Derivative Instruments (Details)", "role": "http://www.irobot.com/role/DerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember", "decimals": "-3", "lang": null, "name": "us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ConvertibleDebtTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details)", "role": "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails", "shortName": "Fair Value Measurements Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ConvertibleDebtTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2423402 - Disclosure - Stockholders Equity (Details)", "role": "http://www.irobot.com/role/StockholdersEquityDetails", "shortName": "Stockholders Equity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractualObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail", "shortName": "Commitments and Contingencies - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q2", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractualObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail", "shortName": "Commitments and Contingencies - Activity Related to Warranty Accrual (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426402 - Disclosure - Income Taxes (Details)", "role": "http://www.irobot.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "span", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "shortName": "Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": null }, "R6": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement", "role": "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "shortName": "Consolidated Statement of Shareholders' Equity Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "span", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "shortName": "Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": null }, "R61": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2QTD", "decimals": "-5", "first": true, "lang": null, "name": "irbt:RecoveryofImportDuties", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428402 - Disclosure - Subsequent Event (Details)", "role": "http://www.irobot.com/role/SubsequentEventDetails", "shortName": "Subsequent Event (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R7": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101100 - Disclosure - Description of Business", "role": "http://www.irobot.com/role/DescriptionOfBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2102100 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202062710q.htm", "contextRef": "FD2020Q2YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 33, "tag": { "country_US": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "UNITED STATES", "terseLabel": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2017-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]", "terseLabel": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r325" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInformationLineItems": { "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": "Entity Information [Line Items]", "terseLabel": "Entity Information [Line Items]" } } }, "localname": "EntityInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r327" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r326" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r322" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r323" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "irbt_AccruedDirectFulfillmentCosts": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accrued direct fulfillment costs.", "label": "Accrued Direct Fulfillment Costs", "terseLabel": "Accrued direct fulfillment costs" } } }, "localname": "AccruedDirectFulfillmentCosts", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AccruedSalesTax": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accrued Sales Tax", "label": "Accrued Sales Tax", "terseLabel": "Accrued sales and other indirect taxes payable" } } }, "localname": "AccruedSalesTax", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AdjustmentsToAdditionalPaidInCapitalDirectorsDeferredCompensation": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Adjustments to additional paid in capital directors deferred compensation.", "label": "Adjustments to Additional Paid in Capital Directors Deferred Compensation", "terseLabel": "Adjustments to Additional Paid in Capital Directors Deferred Compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalDirectorsDeferredCompensation", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "irbt_AllOtherRegionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "All Other Regions [Member]", "label": "All Other Regions [Member]", "terseLabel": "All Other Regions [Member]" } } }, "localname": "AllOtherRegionsMember", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "irbt_AmazonMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Amazon [Member]", "label": "Amazon [Member]", "terseLabel": "Amazon [Member]" } } }, "localname": "AmazonMember", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "irbt_AmortizationofIntangibleAssetsNonproduction": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 4.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amortization of Intangible Assets, Nonproduction", "label": "Amortization of Intangible Assets, Nonproduction", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "AmortizationofIntangibleAssetsNonproduction", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "irbt_Costofproductrevenue": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cost of product revenue", "label": "Cost of product revenue", "terseLabel": "Cost of product revenue" } } }, "localname": "Costofproductrevenue", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "irbt_DisclosureActivityRelatedToWarrantyAccrualAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Activity Related to Warranty Accrual [Abstract]", "label": "Disclosure Activity Related To Warranty Accrual [Abstract]" } } }, "localname": "DisclosureActivityRelatedToWarrantyAccrualAbstract", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureBasicAndDilutedNetIncomePerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Basic and Diluted Net Income Per Share [Abstract]", "label": "Disclosure Basic And Diluted Net Income Per Share [Abstract]" } } }, "localname": "DisclosureBasicAndDilutedNetIncomePerShareAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_DisclosureGoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information [Abstract]", "label": "Disclosure Goodwill Other Intangible Assets And Other Assets Additional Information [Abstract]" } } }, "localname": "DisclosureGoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationAbstract", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureOtherIntangibleAssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure Other Intangible Assets [Abstract]", "label": "Disclosure Other Intangible Assets [Abstract]" } } }, "localname": "DisclosureOtherIntangibleAssetsAbstract", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes [Abstract]", "label": "Disclosure Segment Information About Revenue Cost Of Revenue Gross Margin And Income Before Income Taxes [Abstract]" } } }, "localname": "DisclosureSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_DocumentDocumentandEntityInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Document Documentand Entity Information [Abstract]", "label": "Document Documentand Entity Information [Abstract]" } } }, "localname": "DocumentDocumentandEntityInformationAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_EquityandcostmethodinvestmentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Equity and cost method investments [Abstract]", "label": "Equity and cost method investments [Abstract]" } } }, "localname": "EquityandcostmethodinvestmentsAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_Equitysecuritiesreceivedrestricted": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Equity securities received, restricted", "label": "Equity securities received, restricted", "terseLabel": "Equity securities received, restricted" } } }, "localname": "Equitysecuritiesreceivedrestricted", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails" ], "xbrltype": "sharesItemType" }, "irbt_FairValueFootnoteAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Fair Value Footnote [Abstract]", "label": "Fair Value Footnote [Abstract]" } } }, "localname": "FairValueFootnoteAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_Finitelivedintangibleassetsfutureamortizationtotal": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Finite-lived intangible assets, future amortization total", "label": "Finite-lived intangible assets, future amortization total", "terseLabel": "Total" } } }, "localname": "Finitelivedintangibleassetsfutureamortizationtotal", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "irbt_FinitelivedintangibleassetsscheduleofamortizationexpenseLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "[Line Items] for Finite-lived intangible assets, schedule of amortization expense [Table]", "label": "Finite-lived intangible assets, schedule of amortization expense [Line Items]", "terseLabel": "Finite-lived intangible assets, schedule of amortization expense [Line Items]" } } }, "localname": "FinitelivedintangibleassetsscheduleofamortizationexpenseLineItems", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "stringItemType" }, "irbt_FinitelivedintangibleassetsscheduleofamortizationexpenseTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Finite-lived intangible assets, schedule of amortization expense [Table]", "label": "Finite-lived intangible assets, schedule of amortization expense [Table]", "terseLabel": "Finite-lived intangible assets, schedule of amortization expense [Table]" } } }, "localname": "FinitelivedintangibleassetsscheduleofamortizationexpenseTable", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "stringItemType" }, "irbt_OperatingLeaseCostAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Operating Lease Cost [Abstract]", "label": "Operating Lease Cost [Abstract]" } } }, "localname": "OperatingLeaseCostAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_OutstandingPOsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Outstanding POs [Abstract]", "label": "Outstanding POs [Abstract]" } } }, "localname": "OutstandingPOsAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_RecoveryofImportDuties": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Recovery of Import Duties", "label": "Recovery of Import Duties", "terseLabel": "Recovery of Import Duties" } } }, "localname": "RecoveryofImportDuties", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesReceivablesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_Refundliabilityothercreditsandincentives": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Refund liability, other credits and incentives", "label": "Refund liability, other credits and incentives", "terseLabel": "Refund liability, other credits and incentives" } } }, "localname": "Refundliabilityothercreditsandincentives", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_Refundliabilityproductreturns": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Refund liability, product returns", "label": "Refund liability, product returns", "terseLabel": "Refund liability, product returns" } } }, "localname": "Refundliabilityproductreturns", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_ReturnsreserveadjustmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Returns reserve adjustment [Abstract]", "label": "Returns reserve adjustment [Abstract]" } } }, "localname": "ReturnsreserveadjustmentAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]", "label": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]", "terseLabel": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]" } } }, "localname": "ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareLineItems", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "irbt_ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]", "label": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]", "terseLabel": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]" } } }, "localname": "ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareTable", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "irbt_ScheduleofDerivativeInstrumentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of Derivative Instruments [Abstract]", "label": "Schedule of Derivative Instruments [Abstract]" } } }, "localname": "ScheduleofDerivativeInstrumentsAbstract", "nsuri": "http://www.irobot.com/20200627", "xbrltype": "stringItemType" }, "irbt_ScheduleofLeasesSupplementalCashFlowTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of Leases, Supplemental Cash Flow [Table Text Block]", "label": "Schedule of Leases, Supplemental Cash Flow [Table Text Block]", "terseLabel": "Schedule of Leases, Supplemental Cash Flow [Table Text Block]" } } }, "localname": "ScheduleofLeasesSupplementalCashFlowTableTextBlock", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "irbt_StockWithheldToCoverTaxWithholdingRequirementsUponVestingToRestrictedStockUnitsAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Stock withheld to Cover tax withholding requirements Upon Vesting to restricted Stock Units.", "label": "Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount", "terseLabel": "Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount" } } }, "localname": "StockWithheldToCoverTaxWithholdingRequirementsUponVestingToRestrictedStockUnitsAmount", "nsuri": "http://www.irobot.com/20200627", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r127", "r137" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_EnergyAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Energy [Axis]", "terseLabel": "Energy [Axis]" } } }, "localname": "EnergyAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "srt_EnergyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Energy [Domain]", "terseLabel": "Energy [Domain]" } } }, "localname": "EnergyDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r140", "r198", "r203", "r317" ], "lang": { "en-US": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r138", "r198", "r201", "r314", "r315" ], "lang": { "en-US": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restatement [Axis]", "terseLabel": "Restatement [Axis]" } } }, "localname": "RestatementAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "stringItemType" }, "srt_RestatementDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restatement [Domain]", "terseLabel": "Restatement [Domain]" } } }, "localname": "RestatementDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Scenario [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r139", "r198", "r202", "r316", "r319", "r320" ], "lang": { "en-US": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r184", "r286" ], "lang": { "en-US": { "role": { "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r37" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounts Payable, Current [Abstract]", "terseLabel": "Accounts Payable, Current [Abstract]" } } }, "localname": "AccountsPayableCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r3", "r22", "r142", "r143", "r199" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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, net", "verboseLabel": "Accounts Receivable, after Allowance for Credit Loss, Current" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrentAndNoncurrent": { "auth_ref": [ "r297", "r309" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements.", "label": "Accrued Bonuses", "terseLabel": "Accrued bonus" } } }, "localname": "AccruedBonusesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrentAndNoncurrent": { "auth_ref": [ "r297", "r309" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them.", "label": "Accrued Employee Benefits", "terseLabel": "Accrued other compensation" } } }, "localname": "AccruedEmployeeBenefitsCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r15", "r18", "r217", "r295", "r304" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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": "Accrued federal and state income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "totalLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails", "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accrued Liabilities, Current [Abstract]" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccruedLiabilitiesMember": { "auth_ref": [ "r39" ], "lang": { "en-US": { "role": { "documentation": "This item represents 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.", "label": "Accrued Liabilities [Member]", "terseLabel": "Accrued Liabilities [Member]" } } }, "localname": "AccruedLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r51", "r52", "r53" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 6.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 income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r50", "r53", "r56", "r230" ], "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": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r23" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForChangeInAccountingPrincipleAxis": { "auth_ref": [ "r98" ], "lang": { "en-US": { "role": { "documentation": "Information by type of change in accounting principle. Does not include error corrections.", "label": "Adjustments for Change in Accounting Principle [Axis]", "terseLabel": "Adjustments for Change in Accounting Principle [Axis]" } } }, "localname": "AdjustmentsForChangeInAccountingPrincipleAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsForErrorCorrectionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the types error corrections made to the financial statements.", "label": "Adjustments for Error Correction [Domain]", "terseLabel": "Adjustments for Error Correction [Domain]" } } }, "localname": "AdjustmentsForErrorCorrectionDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r98" ], "lang": { "en-US": { "role": { "documentation": "Information by new accounting pronouncement.", "label": "Adjustments for New Accounting Pronouncements [Axis]", "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r208", "r209", "r211", "r212" ], "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": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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, net of the effects of acquisition:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r144", "r150", "r152", "r153" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "terseLabel": "Accounts Receivable, Allowance for Credit Loss" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease": { "auth_ref": [ "r154" ], "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease)", "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease)" } } }, "localname": "AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r88", "r168", "r173" ], "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 Acquired Intangible Assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r109" ], "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r131", "r294", "r303" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r46" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r258" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "terseLabel": "Assets, Fair Value Disclosure" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecurities": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading.", "label": "Available-for-sale Securities", "terseLabel": "Available-for-sale Securities" } } }, "localname": "AvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesCurrent": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as trading securities nor held-to-maturity securities and intended be sold or mature one year or operating cycle, if longer.", "label": "Available-for-sale Securities, Current", "terseLabel": "Short term investments" } } }, "localname": "AvailableForSaleSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r240", "r243" ], "lang": { "en-US": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r221", "r222" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "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": "Business Acquisition [Line Items]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r1", "r34", "r90" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "periodEndLabel": "Cash and cash equivalents, at end of period", "periodStartLabel": "Cash and cash equivalents, at beginning of period", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.", "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "terseLabel": "Cash and Cash Equivalents, Period Increase (Decrease)" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r85", "r271" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "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 (decrease) increase in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowHedgingMember": { "auth_ref": [ "r236" ], "lang": { "en-US": { "role": { "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.", "label": "Cash Flow Hedging [Member]", "terseLabel": "Cash Flow Hedging [Member]" } } }, "localname": "CashFlowHedgingMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ChangeInAccountingPrincipleMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A change from one generally accepted accounting principle to another generally accepted accounting principle when there are two or more generally accepted accounting principles that apply or when the accounting principle formerly used is no longer generally accepted. A change in the method of applying an accounting principle that is not treated as a change in accounting estimate also is considered a change in accounting principle.", "label": "Adjustments for Change in Accounting Principle [Domain]", "terseLabel": "Adjustments for Change in Accounting Principle [Domain]" } } }, "localname": "ChangeInAccountingPrincipleMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r42", "r183", "r298", "r308" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (Note 11)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r182", "r185" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r21" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r21" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r21" ], "lang": { "en-US": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "verboseLabel": "Beginning Balance, Shares" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r21", "r190" ], "lang": { "en-US": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r21" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, $0.01 par value, 100,000 shares authorized; 27,998 and 28,352 shares issued and outstanding, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r59", "r61", "r62" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r119", "r120", "r269", "r270" ], "lang": { "en-US": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r119", "r120", "r269", "r270", "r318" ], "lang": { "en-US": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r119", "r120", "r269", "r270", "r318" ], "lang": { "en-US": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r119", "r120", "r269", "r270" ], "lang": { "en-US": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration Risk, Percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r119", "r120", "r269", "r270" ], "lang": { "en-US": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r195" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of contract balances and changes in contract balances.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Contract with Customer, Asset and Liability [Table Text Block]" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r193", "r194", "r199" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "terseLabel": "Contract with Customer, Liability" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r200" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Contract with Customer, Liability, Revenue Recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractualObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of contractual obligation, including but not limited to, long-term debt, capital lease obligations, operating lease obligations, purchase obligations, and other commitments.", "label": "Contractual Obligation", "terseLabel": "Contractual Obligation" } } }, "localname": "ContractualObligation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtFairValueDisclosures": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.", "label": "Convertible Debt, Fair Value Disclosures", "terseLabel": "Convertible Debt, Fair Value Disclosures" } } }, "localname": "ConvertibleDebtFairValueDisclosures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.", "label": "Convertible Debt [Table Text Block]", "terseLabel": "Convertible Debt [Table Text Block]" } } }, "localname": "ConvertibleDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r71" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "Total cost of revenue", "totalLabel": "Total cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "auth_ref": [ "r69" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 3.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.", "label": "Cost, Amortization", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "CostOfGoodsAndServicesSoldAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "verboseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditLossAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Credit Loss [Abstract]" } } }, "localname": "CreditLossAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": { "auth_ref": [ "r151", "r155", "r156", "r157", "r158" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.", "label": "Credit Loss, Financial Instrument [Policy Text Block]", "terseLabel": "Credit Loss, Financial Instrument [Policy Text Block]" } } }, "localname": "CreditLossFinancialInstrumentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.", "label": "Cumulative Effect of New Accounting Principle in Period of Adoption", "terseLabel": "Cumulative Effect of New Accounting Principle in Period of Adoption" } } }, "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r118" ], "lang": { "en-US": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelatedIntangibleAssetsMember": { "auth_ref": [ "r223" ], "lang": { "en-US": { "role": { "documentation": "Customer-related asset, including, but not limited to, customer lists, and noncontractual customer relationships.", "label": "Customer-Related Intangible Assets [Member]", "terseLabel": "Customer-Related Intangible Assets [Member]" } } }, "localname": "CustomerRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r218" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r214", "r218" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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 tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [ "r28" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "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", "terseLabel": "Deferred revenue and customer advances" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r88", "r128" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r47", "r48", "r268" ], "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" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.", "label": "Derivative Contract [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r241", "r242", "r247", "r250" ], "lang": { "en-US": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]", "terseLabel": "Derivative Instrument [Axis]", "verboseLabel": "Derivative, by Nature [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r257" ], "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 and Hedging Activities Disclosure [Text Block]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "auth_ref": [ "r237", "r241", "r247" ], "lang": { "en-US": { "role": { "documentation": "Information by type of hedging relationship.", "label": "Hedging Relationship [Axis]", "terseLabel": "Hedging Relationship [Axis]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r237", "r241", "r247", "r250", "r251", "r254", "r255" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet": { "auth_ref": [ "r245", "r249" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net", "terseLabel": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net" } } }, "localname": "DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": { "auth_ref": [ "r246", "r248" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.", "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net", "terseLabel": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net" } } }, "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r47", "r48", "r268" ], "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" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeNotionalAmount": { "auth_ref": [ "r233", "r235" ], "lang": { "en-US": { "role": { "documentation": "Nominal or face amount used to calculate payment on derivative.", "label": "Derivative, Notional Amount", "terseLabel": "Derivative, Notional Amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r94", "r232", "r234", "r235", "r237", "r239", "r244", "r247", "r252", "r253", "r255" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "auth_ref": [ "r237" ], "lang": { "en-US": { "role": { "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Designated as Hedging Instrument [Member]", "terseLabel": "Designated as Hedging Instrument [Member]" } } }, "localname": "DesignatedAsHedgingInstrumentMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r198" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables" ], "xbrltype": "textBlockItemType" }, "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 Rights [Member]" } } }, "localname": "DistributionRightsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "EMEA [Member]", "terseLabel": "EMEA [Member]" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r68", "r99", "r105", "r106", "r107", "r108", "r112", "r302", "r312" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic", "verboseLabel": "Basic income per share" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r68", "r99", "r105", "r106", "r107", "r108", "r112", "r302", "r312" ], "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", "verboseLabel": "Diluted income per share" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r91", "r109", "r110", "r111" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income Per Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": { "auth_ref": [ "r271" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.", "label": "Effect of Exchange Rate on Cash and Cash Equivalents", "terseLabel": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r93", "r215", "r216" ], "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", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r190" ], "lang": { "en-US": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "auth_ref": [ "r147" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "terseLabel": "Equity Securities without Readily Determinable Fair Value, Amount" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis": { "auth_ref": [ "r100", "r101", "r102" ], "lang": { "en-US": { "role": { "documentation": "Information by type of error correction.", "label": "Adjustments for Error Corrections [Axis]", "terseLabel": "Adjustments for Error Corrections [Axis]" } } }, "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r258", "r259", "r260", "r266" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r205", "r206", "r207", "r259", "r288" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r258", "r259", "r261", "r262", "r267" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r265" ], "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 Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r205", "r206", "r207", "r259", "r289" ], "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": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r205", "r206", "r207", "r259", "r290" ], "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": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r205", "r206", "r207", "r259", "r291" ], "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 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases": { "auth_ref": [ "r264" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of purchases of financial instrument classified as an asset 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, Asset, Purchases", "terseLabel": "conversion of debt" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue": { "auth_ref": [ "r263" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as an asset 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, Asset Value", "terseLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r265", "r267" ], "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, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r172" ], "calculation": { "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "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": "Intangible assets accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year", "terseLabel": "Remainder of 2020" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r174" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r174" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r174" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r174" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r169", "r170", "r172", "r175", "r292" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r172", "r292" ], "calculation": { "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "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": "Finite-Lived Intangible Assets, Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "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": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r169", "r171" ], "lang": { "en-US": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r172" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "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", "totalLabel": "Intangible Assets, Net", "verboseLabel": "Intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignExchangeForwardMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.", "label": "Foreign Exchange Forward [Member]", "terseLabel": "Foreign Exchange Forward [Member]" } } }, "localname": "ForeignExchangeForwardMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfBusiness": { "auth_ref": [ "r88", "r231" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.", "label": "Gain (Loss) on Disposition of Business", "terseLabel": "Gain (Loss) on Disposition of Business" } } }, "localname": "GainLossOnSaleOfBusiness", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfEquityInvestments": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The difference between the carrying value and the sale price of equity securities, not separately or otherwise categorized as trading or available-for-sale. This element includes investments in which the entity holds a small ownership stake (generally, less than 20% of the shares outstanding) and cannot exert significant influence.", "label": "Gain (Loss) on Sale of Equity Investments", "terseLabel": "Gain (Loss) on Sale of Equity Investments" } } }, "localname": "GainLossOnSaleOfEquityInvestments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r73" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative", "verboseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r162", "r163" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r164" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill, Acquired During Period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetImpairment": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.", "label": "Goodwill and Intangible Asset Impairment", "terseLabel": "Goodwill and Intangible Asset Impairment" } } }, "localname": "GoodwillAndIntangibleAssetImpairment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r176" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill, Other Intangible Assets and Other Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r165" ], "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": "Goodwill, Foreign Currency Translation Gain (Loss)" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "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": "Goodwill [Line Items]", "terseLabel": "Goodwill [Line Items]" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r70" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r237", "r251" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r237" ], "lang": { "en-US": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_HedgingRelationshipDomain": { "auth_ref": [ "r237" ], "lang": { "en-US": { "role": { "documentation": "Nature or intent of a hedge.", "label": "Hedging Relationship [Domain]", "terseLabel": "Hedging Relationship [Domain]" } } }, "localname": "HedgingRelationshipDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r65", "r99", "r293", "r300", "r313" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r66", "r88", "r129", "r148", "r299", "r310" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).", "label": "Income (Loss) from Equity Method Investments", "terseLabel": "Income (Loss) from Equity Method Investments" } } }, "localname": "IncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r178" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r220" ], "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 Tax Disclosure [Text Block]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IncomeTaxesNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r92", "r130", "r219" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.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", "negatedTerseLabel": "Deferred income taxes, net" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities \u2014 (use) source" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "terseLabel": "Accrued expenses and other liabilities" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other current assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r161" ], "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": "Inventory" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/Inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r29", "r160" ], "calculation": { "http://www.irobot.com/role/InventoryDetails": { "order": 2.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": "Inventory, Finished Goods, Net of Reserves" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r2", "r44", "r159" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.irobot.com/role/InventoryDetails": { "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": "Inventory", "totalLabel": "Inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r30", "r160" ], "calculation": { "http://www.irobot.com/role/InventoryDetails": { "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": "Inventory, Raw Materials, Net of Reserves" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentPolicyTextBlock": { "auth_ref": [ "r149" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for investment in financial asset.", "label": "Investment, Policy [Policy Text Block]", "terseLabel": "Investment, Policy [Policy Text Block]" } } }, "localname": "InvestmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r281", "r283" ], "calculation": { "http://www.irobot.com/role/LeasesLeaseCostDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Lease, Cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r281" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Lease, Cost [Table Text Block]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r282" ], "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 [Table Text Block]" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Lessee, Operating Lease, Liability, Payments, Due" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due after Year Five" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Five" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Four" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Three" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Two" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r282" ], "calculation": { "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r282" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "terseLabel": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r284" ], "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": "Lessee, Operating Leases [Text Block]" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r38" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r27", "r296", "r306" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES, REDEEMABLE CONVERTIBLE PREFERRED STOCK AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosure": { "auth_ref": [ "r258" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial and nonfinancial obligations.", "label": "Financial and Nonfinancial Liabilities, Fair Value Disclosure", "terseLabel": "Financial and Nonfinancial Liabilities, Fair Value Disclosure" } } }, "localname": "LiabilitiesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesNoncurrent": { "auth_ref": [ "r10", "r11", "r12", "r16", "r17" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.", "label": "Liabilities, Noncurrent", "totalLabel": "Total long-term liabilities" } } }, "localname": "LiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "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 Funds, at Carrying Value" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "stringItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r113", "r124" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DescriptionOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "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 used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r85", "r86", "r89" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r57", "r60", "r67", "r89", "r110", "r301", "r311" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r225" ], "lang": { "en-US": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r237" ], "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 [Member]" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r74" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "terseLabel": "Other (expense) income, net", "verboseLabel": "Other income, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of Reportable Segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenseMember": { "auth_ref": [ "r249" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing expenses associated with normal operations.", "label": "Operating Expense [Member]", "terseLabel": "Operating Expense [Member]" } } }, "localname": "OperatingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "terseLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r275", "r283" ], "calculation": { "http://www.irobot.com/role/LeasesLeaseCostDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating Lease, Cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r273" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r273" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r273" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities", "verboseLabel": "Operating Lease, Liability, Noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r274", "r277" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r272" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets", "verboseLabel": "Operating lease right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r280", "r283" ], "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": "Operating Lease, Weighted Average Discount Rate, Percent" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r279", "r283" ], "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": "Operating Lease, Weighted Average Remaining Lease Term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r8", "r39" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 8.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Accrued other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsCurrent": { "auth_ref": [ "r45" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of current assets classified as other.", "label": "Other Assets, Current", "terseLabel": "Other current assets" } } }, "localname": "OtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r227", "r228", "r229" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 5.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "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", "terseLabel": "Net unrealized gains on marketable securities, net of tax" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent": { "auth_ref": [ "r227", "r228", "r229" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, on foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent", "terseLabel": "Net foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLocationAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by location in other comprehensive income.", "label": "Other Comprehensive Income Location [Axis]", "terseLabel": "Other Comprehensive Income Location [Axis]" } } }, "localname": "OtherComprehensiveIncomeLocationAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLocationDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Location in other comprehensive income.", "label": "Other Comprehensive Income Location [Domain]", "terseLabel": "Other Comprehensive Income Location [Domain]" } } }, "localname": "OtherComprehensiveIncomeLocationDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income (loss):" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r58", "r61", "r227", "r228", "r229" ], "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", "terseLabel": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax": { "auth_ref": [ "r51", "r54", "r55", "r238" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 4.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax", "negatedTerseLabel": "Net (gains) losses on cash flow hedge reclassified into earnings, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax": { "auth_ref": [ "r49", "r51", "r256" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax 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), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax", "terseLabel": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax", "verboseLabel": "Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r49", "r51", "r256" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 3.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax 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), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax", "terseLabel": "Net unrealized (losses) gains on cash flow hedges, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsMember": { "auth_ref": [ "r240", "r254" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other current assets.", "label": "Other Current Assets [Member]", "terseLabel": "Other Current Assets [Member]" } } }, "localname": "OtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherDerivativesNotDesignatedAsHedgingInstrumentsAtFairValueNet": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Net fair value of all derivative instruments not designated as a hedging instrument.", "label": "Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net", "terseLabel": "Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net" } } }, "localname": "OtherDerivativesNotDesignatedAsHedgingInstrumentsAtFairValueNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r41" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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 long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r89" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income (Expense)", "negatedTerseLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent assets.", "label": "Other Noncurrent Assets [Member]", "terseLabel": "Other Noncurrent Assets [Member]" } } }, "localname": "OtherNoncurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Member]", "terseLabel": "Other Noncurrent Liabilities [Member]" } } }, "localname": "OtherNoncurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other Nonoperating Income (Expense) [Member]", "terseLabel": "Other Nonoperating Income (Expense) [Member]" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PatentedTechnologyMember": { "auth_ref": [ "r226" ], "lang": { "en-US": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patented technology to exploit the technology for a period of time specified by law.", "label": "Patented Technology [Member]", "terseLabel": "Completed technology" } } }, "localname": "PatentedTechnologyMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "auth_ref": [ "r78", "r82", "r95" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.", "label": "Payments for (Proceeds from) Other Investing Activities", "negatedTerseLabel": "Change in other assets" } } }, "localname": "PaymentsForProceedsFromOtherInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r84" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.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", "terseLabel": "Stock repurchases" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r84" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-based Payment Arrangement", "negatedTerseLabel": "Income tax withholding payment associated with restricted stock vesting" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecurities": { "auth_ref": [ "r79", "r146" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to acquire debt and equity securities not classified as either held-to-maturity securities or trading securities which would be classified as available-for-sale securities and reported at fair value, with unrealized gains and losses excluded from earnings and reported in a separate component of shareholders' equity.", "label": "Payments to Acquire Available-for-sale Securities", "terseLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r80" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "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 a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedTerseLabel": "Cash paid for business acquisition, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r81" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.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", "negatedTerseLabel": "Additions of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PositionAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by position taken for a security.", "label": "Position [Axis]", "terseLabel": "Position [Axis]" } } }, "localname": "PositionAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_PositionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicates position taken for a security.", "label": "Position [Domain]", "terseLabel": "Position [Domain]" } } }, "localname": "PositionDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r20" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, 5,000 shares authorized and none outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": { "auth_ref": [ "r76", "r77", "r146" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Sale and Maturity of Debt Securities, Available-for-sale", "terseLabel": "Sales and maturities of investments" } } }, "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfOtherAssetsInvestingActivities": { "auth_ref": [ "r78" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from the sale of other assets recognized in investing activities.", "label": "Proceeds from Sale of Other Assets, Investing Activities", "terseLabel": "Proceeds from Sale of Other Assets, Investing Activities" } } }, "localname": "ProceedsFromSaleOfOtherAssetsInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r83" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from Stock Plans", "terseLabel": "Proceeds from employee stock plans" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r13", "r14", "r177", "r307" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivableForRecoveryOfImportDutiesNet": { "auth_ref": [ "r45" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of tariffs due either from customers or suppliers arising from sales or purchases, or as previously overpaid to tax authorities or vendors.", "label": "Receivable for Recovery of Import Duties, Net", "terseLabel": "Receivable for Recovery of Import Duties, Net" } } }, "localname": "ReceivableForRecoveryOfImportDutiesNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesReceivablesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Receivables [Abstract]" } } }, "localname": "ReceivablesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable": { "auth_ref": [ "r133", "r135" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.", "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]", "terseLabel": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]" } } }, "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_RecoveryOfDirectCosts": { "auth_ref": [ "r72" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Return of or reimbursements received in relation to direct costs and expenses previously paid or incurred.", "label": "Recovery of Direct Costs", "terseLabel": "Recovery of Direct Costs" } } }, "localname": "RecoveryOfDirectCosts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesReceivablesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r213", "r321" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and development", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r24", "r191", "r305" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r197", "r198" ], "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 from Contract with Customer, Excluding Assessed Tax" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r204" ], "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 from Contract with Customer [Text Block]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueJudgmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue, Judgment [Abstract]", "terseLabel": "Revenue, Judgment [Abstract]" } } }, "localname": "RevenueJudgmentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRecognitionAndDeferredRevenueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue Recognition and Deferred Revenue [Abstract]" } } }, "localname": "RevenueRecognitionAndDeferredRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r196" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Revenue, Remaining Performance Obligation, Amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails", "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r64", "r126", "r127", "r136" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "Revenue" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r278", "r283" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesMember": { "auth_ref": [ "r249" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business.", "label": "Sales [Member]", "terseLabel": "Sales [Member]" } } }, "localname": "SalesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r119" ], "lang": { "en-US": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark [Member]", "terseLabel": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Components of Accrued Expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r221", "r222" ], "lang": { "en-US": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r245" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of gain (loss) on derivative and nonderivative instruments designated and qualifying as cash flow hedge recorded in accumulated other comprehensive income (AOCI) and reclassified into earnings.", "label": "Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r241", "r247", "r251" ], "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) [Table Text Block]" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsTextBlock": { "auth_ref": [ "r94", "r232", "r234", "r235", "r237", "r239", "r244", "r247", "r252", "r253" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of pertinent information about 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": "Schedule of Derivative Instruments [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments [Table Text Block]" } } }, "localname": "ScheduleOfDerivativeInstrumentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r169", "r171" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r169", "r171" ], "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": "Other Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r166", "r167" ], "lang": { "en-US": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]", "terseLabel": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r166", "r167" ], "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 [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r9", "r31", "r32", "r33" ], "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": "Components of Inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock": { "auth_ref": [ "r246", "r248" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of derivative instrument not designated or qualifying as hedging instrument.", "label": "Derivatives Not Designated as Hedging Instruments [Table Text Block]", "terseLabel": "Derivatives Not Designated as Hedging Instruments [Table Text Block]" } } }, "localname": "ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r189" ], "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": "Activity Related to the Warranty Accrual" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r63", "r64", "r139" ], "lang": { "en-US": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r125", "r131", "r132", "r134", "r166" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r171" ], "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": "Estimated Future Amortization Expense Related to Current Intangible Assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segment [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r141" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Industry Segment, Geographic Information and Significant Customers" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]", "terseLabel": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]" } } }, "localname": "SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Selling and marketing", "verboseLabel": "Selling and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "terseLabel": "Shares Paid for Tax Withholding for Share Based Compensation (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r97" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StandardProductWarrantyAccrual": { "auth_ref": [ "r188" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "StandardProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualCurrent": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual, Current", "terseLabel": "Accrued warranty" } } }, "localname": "StandardProductWarrantyAccrualCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualPayments": { "auth_ref": [ "r186" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Warranty usage" } } }, "localname": "StandardProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r187" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision" } } }, "localname": "StandardProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r131", "r166", "r179", "r180", "r181", "r314" ], "lang": { "en-US": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Business Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r19", "r20", "r21", "r190" ], "lang": { "en-US": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r43", "r190" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r20", "r21", "r190", "r191" ], "lang": { "en-US": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r20", "r21", "r190", "r191", "r210" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Issuance of common stock under employee stock plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r190", "r191" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r43", "r190", "r191" ], "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": "Stock Issued During Period, Value, Stock Options Exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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": "Stock Repurchase Program, Authorized Amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r20", "r21", "r190", "r191" ], "lang": { "en-US": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "negatedTerseLabel": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Stock Repurchased and Retired During Period, Shares" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r20", "r21", "r190", "r191" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "Stock Repurchased and Retired During Period, Value", "negatedTerseLabel": "Stock Repurchased and Retired During Period, Value", "terseLabel": "Stock Repurchased and Retired During Period, Value" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r21", "r25", "r26", "r145" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r192" ], "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": "Stockholders' Equity Note Disclosure [Text Block]" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/StockholdersEquityNotes" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r285" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r285" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r285" ], "lang": { "en-US": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r287" ], "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 [Text Block]" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventNotes", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesSubsequentEventTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r224" ], "lang": { "en-US": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade Names" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.", "label": "Type of Adoption [Domain]", "terseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock": { "auth_ref": [ "r75" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Items, or Both, Disclosure [Text Block]", "terseLabel": "Unusual Risks and Uncertainties [Table Text Block]" } } }, "localname": "UnusualOrInfrequentItemsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r114", "r115", "r116", "r117", "r121", "r122", "r123" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r96" ], "lang": { "en-US": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r276", "r283" ], "calculation": { "http://www.irobot.com/role/LeasesLeaseCostDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable Lease, Cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]", "terseLabel": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r108" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 3.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": "Dilutive effect of employee stock options and restricted shares" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r104", "r108" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "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", "totalLabel": "Diluted weighted-average shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r103", "r108" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted-average shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" } }, "unitCount": 5 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r101": { "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" }, "r102": { "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" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1252-109256" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=SL5780133-109256" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256" }, "r108": { "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" }, "r109": { "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" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(25))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r110": { "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" }, "r111": { "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" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117327953&loc=d3e4984-109258" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(26))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r124": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8721-108599" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8924-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599" }, "r141": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4428-111522" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4531-111522" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5074-111524" }, "r145": { "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" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26853-111562" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=116654751&loc=SL75117539-209714" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=118955202&loc=SL82895884-210446" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919244-210447" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919253-210447" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919260-210447" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919272-210447" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=118955579&loc=SL82922895-210455" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116846819&loc=d3e3927-108312" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r160": { "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" }, "r161": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r162": { "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" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13854-109267" }, "r168": { "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" }, "r169": { "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" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(23))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r177": { "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" }, "r178": { "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" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r180": { "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" }, "r181": { "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" }, "r182": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14615-108349" }, "r185": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r186": { "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" }, "r187": { "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" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1),(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r189": { "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" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r190": { "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" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770" }, "r192": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r204": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4534-113899" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11149-113907" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11178-113907" }, "r213": { "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" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318" }, "r215": { "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" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319" }, "r217": { "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" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r221": { "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" }, "r222": { "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" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5227-128473" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r230": { "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" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4582445-111684" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579240-113959" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5580258-113959" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)(ii)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "c", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "4CC", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL109998890-113959" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624181-113959" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41641-113959" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41678-113959" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=116861445&loc=SL5629052-113961" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109977999&loc=d3e76258-113986" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109978405&loc=d3e80720-113993" }, "r257": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r258": { "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" }, "r259": { "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" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13433-108611" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13531-108611" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611" }, "r271": { "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" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r28": { "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=6877327&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971" }, "r284": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r285": { "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" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r287": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r292": { "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" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r295": { "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=6876686&loc=d3e534808-122878" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(13)(f))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r301": { "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=116637391&loc=SL114874048-224260" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r304": { "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=119400593&loc=d3e572229-122910" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(10))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r311": { "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=116637232&loc=SL114874131-224263" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r314": { "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" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=6589523&loc=d3e617274-123014" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024" }, "r321": { "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" }, "r322": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r323": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r324": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r325": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r326": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r327": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.8)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r47": { "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" }, "r48": { "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" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e637-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e681-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669686-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e689-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL34724391-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL34724394-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6911-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e557-108580" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-03(e))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868656-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(12))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r67": { "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=116634182&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6935-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r75": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "220", "URI": "http://asc.fasb.org/subtopic&trid=114868817" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3151-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e7018-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r9": { "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" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585" }, "r91": { "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" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(n)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690" }, "r97": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" } }, "version": "2.1" } ZIP 79 0001159167-20-000038-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001159167-20-000038-xbrl.zip M4$L#!!0 ( F8_E#YB.L1RPX "RI 1 :7)B="TR,#(P,#8R-RYX M_/2X"<(\8QY2<]$:OASV B$=] M3&8GO6^W_=/;L\O+WF_O?WGWKW[_CP\W5^"<>N$"$0'.&(("^> !BSGX[B/^ M TP978#OE/W ][#?CXB _O'(_6/NS=$" B@$PY-0H O*%N=H"L- G/1"\C.$ M 9YBY$L5 J1$K#3(W1:0S9#X A>(+Z&'3GIS(9;'@\'#P\-KS.B$BM<>70S& MP_%P>#!^VP/22,*/,9N(NFT#3'ZLM'V]G3K MT='1T4#?39MRW]10LAT-_OA\=:MQZ[W_!0"-(UXL*1. %/P_A7RB*3D3?64R MESQ&1_WAJ+\WZH$(_ROJ0:%[6][H/*DF&J! \(Q1/V/T6NK0 P,W=3:A2!L5 M0MZ?0;AT5R-/&*D27VFK#J-!$WR,^FA>;15JV&&,"C7N,[9Q5:).D43]U4_H M^NI2?S1NIT46<-RT2.@VH<71 #)/02UA\T0?/2X#2*"@[.E"_EU/LX"Q%2X? M,R9*Q2.EXNB@A8J:,T$S-3755RE/M5$]'-R24+26;YYPZJB1I_P2$6Y0FV:: M-%?#/)O6'#\)@1+\QDTD1][K&;T?>#0D@CVIR/36%M*XC3#YHY]Q::A-R)A, M[9XJ(VQ1G3QE^E>3Z+K"UD?879>$2/UHK0%Z].;N*J14^E=K)0C$'J_L(^54 MT<_6W8-C3[$;N2B1T*@?_8RXH0)BR12W0R9Q,F3=H"G2:?!Q/6/9D>K!D=(F8P#*)R2T/-(,Y0].3GEI_ M]).%QI\>#%[+]#MI4A"P.IGKR4&2>&&@C;C*E$PXJ'!YTN/2VP&*+?_;C?+1 MU-4H28()WF*; CAQM4F2H&!+S5DRY&J.).%R.=ZHXRD&=[(!P'*->>IY+$2^ M3/H0X8CW@+K[[>:R;%6NI:\3)?P3"5D'>C\>C0Y'PR'H@W/,O8#RD"'Y1\P! M)"S>#=8)UUB&'/G7Y+W^O6Y\3!PWL1"NC=;:=*L#PD@67TQ\6]_CYTA '#1S M?$)K\__^Z'!_.*[R/_@UYO6?[B)Q!R=!PQ$0D]IPV!L=[@U'U3A$K+H$PQE= M++!0U45^2OPS2@0F,YG/XKI@V!A80Y,<',70E.,&(/'!"K\=+,H+IY[ ]U@\ MW:! +<_OZ'?(&"3B27=G&$2QI#5X-<58H]]X?W^X[P2Q'I618!!+!H*"1#:( MA2<1JK!#^5!G+B=G"O^.DV7"P@ M>[J>7H1"NO6S%+H(%S?*UN K?-(TWXB/V+5,A*&BNT(PS5A:]XB6XBL[S9YK MIXD5 G0*(I5 K!.(E *)5B!4:H%4+Q IMNM>*QYU2<6JV5C3LO&^(2VSP]W) M'(UP&F!?S88?8*!V46[G"*E1!D,9+U5EOQY8E7PL:,EL3?ZG,K9;Z4B](:W! MRGB"F"F(N()?4[X[M/)>_@J9-&^.!)8*;PJZ5:85.+[1HZX!CN#7%3E=Q37U MW/7T=BX=,J>!G%CXQY^A3%S3F^[0UN1K1_=-Q2C-;L@),R_FWR 2E+7H.KS\ M>GH&^?PBH ]M@FT%/SNE6B;=RL-?CCPP5J8P=R/'K9%7>Z-DO5-1=#UKH[?M41X9BDX)KHD\%1YW0[(5^"XEG!;\[5MN1WO%^F\+Z+M7 M]WD>:.MB5ZC+[8#)@.$>PTO%[7KZ(>28(%X;$A.I=6X,IM&-7$PL;! LDPK82F+__D?JJ2=<0NOX75(6 N(&:_PR!$ MGQ%4O56'B?3B-;E!ZIE93&8?(,=N>4HSUO8=I_%^,=0IED#S!'E)^>MRW$&0 MR@-:8"?S$R,F#DL&"[W]^9&Q(2R6 =>]-<,G2OT'' 378H[8I32#S+".JX&MV++NRP-+F^]:,@&Y)E M7Q6^-3P:XMX#=L^+-.LC%THJNI*)O+_>,%OW14]2G"XH$_BO'+*;CQ8MU:GL M:6\VT-,B'?N!4A+@K#W4MU_IES.2!>PT>@8%YG3M9&+@T 6,39XI:MED5?:E M0BVK4=0J:[H+6S;@LF"0$#U71"J75-E!"IL+#3I(OAHVB\EW$<0.F4M9S)VM MO5CVUE L:P![!PMIT2[H'7QT?!7'0&=?Y!\8$LYX"U9SZ>3PRGG18;U>H+*O MT@\,B[U5SW=N:9[SH$O8*I)9P]+XP!"65CW?Q8#CAURPIULT4X6A3XC.&%S. ML9=;/O;N^$QJ5_9D0_JV@9XV[2.:%14S;1?5S NXU.G= MBR31Z[H7F$#B81BD#\]?+I;0DWG'J4^7ZE714^X=[H^=QD,SUM9!,SPR[#W% M;QRG@G+O"T2B5*J1" .GMV= BNOD (L\I?^O4K &:!9H*^$JQ+@8+OU/E EV M%XK/4(0,BZ?KZ>J+_5<83G @;S2 J#;/2N@*&R\Q=(D$-:[67OP'5Y>QE ZC MZE#YS1-8<[.AZ6V.Y*R%SI5[(\-OP^4R.L8=!LD[H T&C(U-Y1@I5(-B3/), MLS=(.SPH7'*Z%0IK0C4&>706,54G?3"9 \7G#[CM"=9G M9Q\GA_O#M^L@Q;Q!CCE(N">G)71S#[':ZRYCJ38W^S@[W"NF S4AW U#2J3? MX&S&U/'O6+VF$K=H.1HKN%8.RH,ZB*X*R95M=X/3!D*[,6IG6CE4"UF)(["[ M(4N)0Q9?1FS/Z$WG")MPZEYZ7_3G5QK@^@>H6NAMD(R'A^-B-FF$).'7;51R M^S'_#?V9^TOR;BPKY[-":="$77X3*16QF\M*O=]N(K-PK)S%"J5#!SB[-X/= M"NK]6#G=S&DHEI/;GR/8,Y1X\[R2 ]"Z.,"*/G5(*LJ(K4G%>,^05!CAZ%Q2 M4?2G2V0KI;8_\K!G*$\9X>A@O HG'/T,I0$?U?ZK6[ RT]HCE>F[$1DCH#EU M,TRM>M,E1IDH[0'*M.HIHM"]Z+3J2:?09"2UQR73MSN**'0Q*,4'L>?2RE-/ M?R /DYG;*K0F+WN1P'0B0^YP]GSVF_$&"?,=5F>*>*?$/\=!*)#_!8GH MV=*OB.EC>UV>^-VH1/O:=FS80*G?"V1CK85^AC+6 TA%DN=JI2K1H<5=?+:V M'HIG#/E87%'N^H6KYNPK>T1A/\:A1T0"022QHTE/'6!R[ZT^ ^P&[I6H%_9L M'%!??3=V!WH)+,\QS=TSC&0#]\J17*A6 M.P"=D[<;R!94"ONJSP%]F9#*'G#8J@<8MJ5V/:$$I';%IA82*OO 48L^L*M> M->T ;O65Y@+L>UQCPY,:S>!'NX*-#9S-PUT77T/%N7XV]X^&\]W@D?O'<+G$ M9$K5I?@"(3327E]3EU#T(+7&6WUI_,_X*\/GF"%/7(3!% >!:J'>)I$H$[A MZ=>02QO)/Y5[3WI"-NL!+@>3P")4DC\Q&BY/>NH[Y?@8"[3H ?&DOD >75E0 M(L,L>[J4=Y0]/1!=GT2//)[T/+VZ3BXO$O:F[& ?U&RIOWJM1=3.J=D=I0DG:Z?6/:%DB6C?NBM=$8GDF?L M=CZ:N/>ZU'(5_^@TUI5%JXC$Q))[VV9+:=?+9MJJ;VV?QBP2RQM1-O>+9"&G M^HT/OD9) MV^??^-L=R;_0\$&0@J?<:+;.YNA9+JFU1U72*N;4Q^0>Q0GLNK6U6[^4G6MV MZ^(Q\N=*4 CS]M<^\314M6]BCYA^^<=S2SV5<4"KDZK,P.=H: MO#@Z%VKUC?0QZMDIZM$AZM&QZ?E3TX5<6P>I64TH7R(7M*PYRT$M-RXY69Y. M\P:B1[5J1%>8(*4AK^&EVHRV+E0U-4I7I-IZ)F%2SRN^.)Y+0YD73K0__Q;_ MK!Z=H:;F]9A@;;%U>%^'0@TA7U4PKPM34>G=%P]N:G?K'K$GN=Y>+&5'.@^% MWIB/]"Z]NVT+UIP]TY#X07(4"U5I?F.WJ2K0\WDF\PJ^>E";8>F;GDFYB^>)T1[ MGBI;7L#WO_P?4$L#!!0 ( F8_E 94&=L5!T ,TS 0 5 :7)B="TR M,#(P,#8R-U]C86PN>&UL[5U939 M=:CJHIS^_)S\A)\_"U-7^F)Z\?/SW\[1R?FK=^^>__UO?_KK?R'TKY=G[Y^] M+MWL,DR;9Z^J8)K@GWTIFL_/?O>A_N-9K,K+9[^7U1_%M4%H4>G9_(=),?WC M+^G#FCH\^UH7?ZG=YW!IWI?.-/.^/S?-U5]>O/CRYMYWBTYNBW]]4/X+FY M%:V+=06A6?+B7Q_>G\_Y1,6T;LS4A>=_^].S9PLXJG(2SD)\EO[_[>S=O4:* MJK1E\Y,K+U^D/[\X<:Z:!?_FZU68UJ&&ON=-?*Y"_/EY4=D&V(8>,RH3TW]^ MI'AS3>-974Y5T[=>=S>ZM",G<\N+TUUA4JD^J]#^9NHG;@O9^.AX:GG;)HW4!/Y$[K MFDE:/45( BK=W$=WH'M>AFZL]*BS4&96O393;8>;Z87TE^'"JS\9@Y0W51S MGZ"M,=BF[G!$_EHVVU7]]IK#$9A6L+J:A;D'3H]"VY656 (OC1UT79R=FIT.+9:J<;M-7LA\)>R M]%^*R>04#+SJ';@+TXL")L9)78>Y^3W_?O';-HKW:&IL%CHXGOWV,C;C;\$A M;,)[4('^^X+?5/G"=SRY+*NF^,\*T7V.?#^$C W?VB*]RTV+7L9F_-N8W%;J M7R2V]C$VT^VLBKT;[(6=A=/QR7QMO3?\>(V^"6JUOCU6OF]BV@WFHQ5Z(L?/ MP/"\.0\7:1G_)907E;GZ7+B5]0$DYKRXF!:Q<&;:O(+R0%#5@O#.31^:Q0Z+ M\K"]'AJ89975@K:<-6?A.DQGX559-Z=Q^CC::I*>.NB)74"[*:N;[61_5[#?[ENO4>O+]TM,VX%<6[P74A:' M+V +FZDKS.1N[_#=Y95Q,$E.?'F53CU.:JIT9[9&O^F2;[3G0_5JM' MPCX8<"N*YN8TWC\%>U\86TS@#SL1O&MK/3+2RL!:4[1'$LYG5]#(Y?R \?9, M8B?X6C30([GMIORZLKT0L5STSH(K0>VG)2 =:U8P+9=';FV-^)T;&HG\=OCN MVLY Q+\N:G-Q484+L]AU79;8>PC:M34M[?5"Q/G3>G^N!=;T!+WK14'(J_5 M--M2;2#2V@WUMGK]$#>S=?CW#(3F3?(#VH[IQEI#$-9N-#?4&8*HEN.XJ5)/ M9"W#XE9TP8ESY6P>4]96J>_6RHB$IV-+=S+UKXO)K G^U] L-D\^AFH>\=1N MPV>(OD8$X545?-&\+^OV8=*=&QZ1O95CA%ZY>[S=$9GK=P8><":"V1&*Z[D" MZW64'F]W5.8>> G]\KBE^1%9W7?5[][VX9ALNUAW;GI$%OODJ243SDS<;#)W MF]_#[\OBB>9][APMN@E?FS#U*1RV]X[6BM]=?ZFWV_XFI;N'X[*/^=6N:&H[ MOX@UJ]&%,5TW*'V#,%G>%/OS\NM\2<[M;FE:;V=5M1(_.S$V M3'Y^#KWG6^OD3F,7"6'("F(19X0B2CU&W'BKE6*>87V?U4FZ$U=62V1'X?4- MR$QY$\++, VQ:&Z)!Z/JUW+JVG+?II5<$BZ=<0(Y+24*,9-(:>F!,"LR$4.0 MHA4>*[)V4KEG904^U\_/R?-G7T)Q\;F9_[AHQ53N@0C>O_VW+/&B3K,NM8B* M)ES>UD^W&@<9[7),%(''423JO#%3;RK_L2K]S#7?W>;:/I-:U<^U((%2RQ#W MFB)F,H6B#8"S5Y1RBK6*='\IHD]8BH;";RSY6:+RLIS.ZK"G(MI0.2<24R\E M1U[$B+QR''&M A*.1QJIX);@_26'/6')&02\L<3FD9/.[?IF<\7<:N)IA/Z4 M]U4077O)U-8C&9 MI#WU=&9?KQGZ[95R9KB@+&1(8Z\1R[Q%@>F(2'#18))EU,C]AUT\P6$?!+2N M0WYN)LD+^KIED&^+Y2QCF'END6-9AFAD&&&E^9)"#5^Z#L.:/?%A[0#3R-;! M2B3>=FM@I7!.!+4"!XJXX@&!/^E0$$(@)3,29&8H-6Q_ 9!/4 !Z!6NTU7Z^ M1;R'G[ZY8AZ-E$HZC0QC#GFL.+)62R0"Y4)$*0UW^XN'>L+BT3MPWT3EKR_6 M;1[UO:NT;J^LSTVLUKE:1NITG[PJ8Y'6-L!])'KZ3%$R$LG#2_-NF4/&W)Z] M=T]SW;(_+P"^:H@L>0SK!$WAB&L T>8>:4,D%S MF1W_COK^(UJ.@]EH'LXUK"E)N[\MJ^20G:=, &U/H;;5S8/D"IRWB+CE$656 M8V2BU2ACBBH339;%#K(RTKYY;[(R!%XC>L+I-'@E#N/7T+0ZJ'RT6@Y8.1NT M1E)ZBKRE&#&G"9(""P4> G&R@W2,M#?>GW3T"]58@G%W.PRHW2 (J\5RYR3% MD7/$P4=$PH!BI+ ,(ZM44#A2$ZDZ^EWNW@:^(S3C;H*TM",?%LZE8A0K&E T M3".N@#.3"8$HUXY@6"%ME[5@I#WNW@:]%X#&&OJ/50FN:'/S<6(6&9# TKE* MCN+F.;^I6LXISX*C'!'#'2+:>R32C@ZCGAL5,%CGK?REPYL&G7R+GC$ZS/GG M64+Z-/Y6+Y)^M#[^_*Y>[EUD/F*/* &Y9R)F2!+AD6)&6Z?AK]$^#8.@DTST M#=)80O$ZQ "J[-NF_@*+S4KB\4IYAC/!01DB11U%+#"%7% *<989YXTDS'38 M'A_33.@D#KTB-)8LW"8%VC#RMT5R)BWGZ> G$YE#-@.%AS/@PDH7,T5@V5/D M:5@&G<:Y QYCC>J&I&6;9_GFBGE0TOH,Y)ABFB&CA$( HD'6446" /N*=U#\ M(QV4=Y> WE$Z@&_0*G!N;?G<>B6X\ &Y"-HLBXP@&V%Y"QY[C@EU3'38;A[I MM+R'Y;\G<,8:_)7SV93/Y\&=U URL*UJ[F4DQF.&LN YDC@SB(CH4#!!:NY# M8.R IRHKY+=C,N=<94RJ#*3!<60-? 0L,<*&1*(9X4+Q8]\\[W?0RC[!.H#( MM])W:\OGWO,4V$)1E,8A'[5!7!.*A,;!&18SPSML@XTN#+N-U^/CW@FA P< MMUO]MM7-/5%12^U0QKE'.F@*'TJ#R^>B)XQ0_:0D8]\1;1<"W FW@_G&J_#L MYB#?KYEG7&MFI$#:8H<8!T0))@0Y)XPB#N8<.?J[*?W+2O^HC6I+[[K /%XI M5TX)3#A#S@.G."K@&3.% M'I1D64"G?0)>-LJ@V@2_H$[ !FQ_8CF#5ADPQ[ M9P3VR( C"8Y$Q$@GR6=>FJ R[>!O3TA5]&5P[ _/V*?O'\U-.AAN?^Y^OT*N MG5(ZHPS)%%_@%#!GK66(6J>CU<;K*)Z07;'7P#UR[-X9J9'O)!S9??$C40D] M241O8(UM7BY3B+0P)YBSO__MJ%XP M&RW^=_N=D'51OX_7RKG7C%N814);ATP \8\I'M%F+GA%8]3QZ/A:%?F :4SN4TU;C_WW1/&)A+.4"S%]/$'A< O@+'I;!C!AA,B*.WT@80 ]T MQ&@TC^'N MQ'4_AWTU?FJDC)YK]QL,EUV%HYUP9C[P.X26Z>>T$[!":105EF M22"*:VL[2,FFL+B5H-#-+N]U@FEI8PN6"(,IC7RV%@$J%++P%+#Y.CC?7J6ET%0&W%'XI;8^;;J MFO>L4_+87T-S&M=GS]BSI1R<;D<8SY#EG".C,HD %XPB,\$1SID7'8[3QXD; MZEOS# [AX%?IM]\&_FB2D_\Y- 5T<9^ZH:XEW[TB=!KG:9[OC=@C;YX/3DMZ M/'[Y9,P17)5.I'QW$?(LU$U5.*!J>5'R_AO/GJ/AMPM,Z \SWOQ6IV/1N\/T9>:&S9L$[1O)7VHPAD[+Y M6*+(C&5!W"713TO39C'\5BX/1&(72$". M&86""@$I93%B,B@/G!+?Q8X<1]*&&KZ'4M()N/'.,=JBPX#'T0?,C"0V ^$YVO%(,M1> M@O+UR0H&$WB;_*ROD$=LM5=4( L_P"R)'G$/OVJJN5$"3&A]]$E<1Y*8WA < M[_[Z]^OT@]"QC991J_HYQI('Z@*25EHDL@AT\.!1U%Y8+SQQK$/DS8PUS)-T4B\(0Y+@(R&?$(L6S&"//J,(= M9"C[H61H($ /)TZWZ44V._@;Z^616L:C\HAR+A"AX#!0EY+X&^P$QZ!R0P<# M2/[@ M0-R<-)SER=?H-G6R+$=@WD0@AL@O;(9(&BZ)B #X&1X(*20&VTHH,I MI'YP6>H)TL.O;LMXV[V6MF7=7&I*LLQ29$5&D! APHP"U\(9906.&3>L0WB2 M_I'\LB' /+!F>ABGN[MR>MA&SG3 *G,IY1:3*#@-'\:I^243HG%DM,OV4'JP MY$>6JOY0'7'O>1U4:=&NNYZ/K&DDQQ%+HW"&#/4&99XH9*31R$LP#(PGD=D. MMM0XVX]/_WRDGY$9+7QSF1;\4WGB ,@J/)HV;%-49^M& GE8X:30T,B(!$% M4LPQ%#CFVH.>X#V]FG< &ZWSR'\?!3HDK&,+V-NR O)="+Y^"X#.M?ENFG#' MEG(K'-@6-D-*:8V$276L+J8AO3 ^ MCTR:KR&+O_A=5-J&9O+,6$NXUV#>2(48IN OQ_@V2U+&;=#&'TR3DF[?G,;'TW%OO!JQ5XLYZ/F8"2.0S@A8V1+L&.(S MAS2-V$H/CGN7K/GCQ$B/)7NC07PH,3R-*SF^=EQ>=VPJM]9G-EB&' D,4:4) MN& 91IBZS(K@N5<=W(UQ@JT/)'@#8'NP]74_9=>^E=R"[C=!INCA*)&S'(8@ MAH B95PK1])[OT_UC&GPU;577 ^\=F0I!5/#,\U$AY#FP^Z&]"YHXX%\ M@&VXLW UJT"AUV"&MKNIN[URSJ+"G *^FACH7#.-!"?@KC-M,ZJ4TUW>8#GL M%LA0XM4KG&,)TF+]/XVK-L'I=/UC=1M$:I=F<@9^ME/!(@,:'>D47B>\8,BF M:' N3.2XPV7,<;8XGI!]-O#8C'K+\]Z%QH<75H_@:N-#HEI<9]Y0*Q=.629@ MK(DS%&&C"<(I>:7$'E0'(XIFK1XW^?\+63UK@+[&[(G>P'KLTC@L@P#^=)%? MS=U\JL"H-VYY'VC^VW+ _/_,ZGE^I)*T*2QC(-D]^J$X].3X M;0I+_:3X3_"_F&*:9OCI]#58 ]? _G6H3ZJB!@/@]:R"SX65T&+UZ+^SG&EI MN!06QC\*%!D8!%&#%M*"@+%JL -S^>BWT$86\E'A/K0@)_;.@IN8NBYBX;Z; MO6E+Y^3TU;M[ '20Y Z]Y9KY@+EC8-$&C S8M\A12<&29M(RB;6B'4[S1[I1 M-[8LCPOXH87Y[E0%UISZWJG*-YYOV>O71NFIY]P:JQG\0YYRC5PF"0HIW[F0 MPF=$V6!HAWS=XQS>CBWCA\/^8"[S@O%M28A&>/2Q OWRL2KCQ@QQ*Z5RL.>H M,%$B+JU!F38,$9K2^ MJO2 @'+I5LIAA^%DF@-[D -\6R3GPX=/#S9%H#NI1 M:N I/4OAL791:1WMT?N^>X_,@VQV>X.R?94911(*+.CIO3.C' 1S2H.@Z@GW" M,];RG\@]C>GUU'D"\%!=%R[4Y^6D;=:8=@WDBC BH[-(>!*J)[B#XY90 ;'[/!2LY>DY$QP[8C#B$9J4. N8Y+='6:!0<(U8ZZHSL$'(VCI[L5S)Z!6LLL?@E3 J:YR^+ M:5$WU7QC;;ML;*F9"\4S:@@%)E/^F?34A-+&(^J5I2X]C-CEQ&JE'82;A[UWUI$:WW3'9M(JTFJ]K2N?*6TQ\YI$! M])&@+"+-K4;*6&Z\YX;2H\^:?C1C_]B[\9WP'DWKPY)UG^#MIN*C=?*4O4=* M$U @%.P>3A7R,MU5B^!(>O=1P3$%J(^I="$L6D: MOM/:5<55JG8:;Q.,#-A=Z>9\I91,L(0T-^^FL&I:S M?GS/JX(]18!YQ9&*-"6290Z9='9C%"' -Q<4M[KC=$BGML_!+0?';RPW8@/I M*P]0MHR_V;VQ/!,$7#6;,JB#I4XQPTC+E/O:9-ZX8'SD_211'=+Y.(QH]0?I MX([*#@O*MX7OMM(Q+7=#6](K.Q^#L[W2U\!VXTI/PP/H9^#WW)R'BV01_Q+* MB\I07E@;KJ.(DZB G;@=YEE=6"MIPURT#B15S4 M\I?YTOC!5!=%:FPA(P_V_XZ8U>%%>?':R,T(76Q6-F/L9BX)V6R@KQ;+G9,4 M1\X1=QHC89Q#-,B4F%X%A2,UD;;:$1^8HS/SY0.LT55A)HL[6"DNJKK>\LC! MMLJY(9R&>;;_] @-IX2BC%&"O'38."JC%AW. \8Z9]IW.!_LV0Z UW@[^4OB MDZU7@_4SCQO=650>KYU3'P*5BB+%,HU$Q@3BW$8DB,=!&8,CZ7 F.=;94=^R MTBM@@YO0=V0/O>R\3[ENZF42)C.YNXSV[O+*I#0U)[Z\6CQ9Y!2G@UNI"W+F MG\EZ./1"=4?(ABEY5R8WCEFB4E0K.&6(92*BP*-#(>.2,R6\;9N!@AS9, M/2R<*^6%3='^3'L/W 6?'H0-Z2U8*6,$]>KCL2]!>X[58X$)7< 9:[WYIX'E M$71(FU%_4#9G/BH5.4%*8(\P-2%= K3(6$R)T$P8W2'.?9RUI)]![P.;P9>- MA?K\EG;]OJ3>/NQTP$AG1DN@!7ZR MA&8(UG:#I<"95@?4TXN H Y\R M4HPDUAJ%:!EB#AO+/:;<=WC.=IQ;.,XPB][:<=5YC5YK*2?!2$$N0 MB#I!DT7$24C0*,FBE\>E)\%5UY,YV$ Z%W4YN*B M"A=F$7&^+'$ +!ZA9'Q(!IYI#SO\6$X*5XS;YTH0QC]F_F*<2Q[MR!AZQ.?/ ME*3W<$)5I^<@MNW8#M+EP$+VL,/!49W9.OQ[EK+2I,/5X2&]W]_0>-[O;7@P MP9"J;D[CROPX<:Z%\/KBW;]I\LY+F4D*B:S)OB[:X,?P^*1J0-?7?A] M;L@&?W(-)N!%^'5V:=->\9+:.87UZ:RI&S--+]%LL-1W;"D'AX4I'0PBT5HD M Q?(!7!IA"%>:2&IPZVVOW[$#!J'/+L8=!R?Z-,FCV#R (SY9-]]CJQO)X_6 M6XN91THHAB0&4'T6*,IT5)1JE^&>GO3[0:1I:'0/*FV/(?8M-?FN]Q5Q2 MXW6P$28CU<@Y)I%B"C"B*G#IA!)==HS'.:(XN 0.@O/@&RKMK)M75?!%D[3W M"%L#[4A:N3QS)!0=BRD*+F4HKN=6^9$@LV:#XS@(&]]1VX.JXW"PME*Q5%#I MPYHZ_.U/_PM02P,$% @ "9C^4&RTGFI\1P 9,# !4 !I^S MK^E//VTZ_;#^,)\M?O_WZL>GM,Q^^%;._KV\N/L9 8!_WO4ZV*+Z[:>ZV4_55S]!]!.&?_E63G_\(5"X M*-?/;O"0NGGUU^ERU^%I8_KSYH^[IB^&_@.OVT(IY<_KO^Z:EK-]#<.@\.?_ M_>O;#VM(?IHMRF6ZF&0__N>__?##!KDBGV?OL]L?JO_^[?V;[P:9%?FG?/F7 M27[_<_7GG]5D4JRRJ?OV)5N461F>O1[B _/Y+0#"LWK.OV9M@YMYGW4EI,&:O1&V>V4VV#@\39>HV M*\*&8+D&J%P6Z^U#4V.P2=_^)OE;OCRMZD_W[&^"U99ANIIG-[?103YOZ(N1 MV&PY[CYR?P1VH*"7*9:38O:E,CMO;O6JG"VRLL'DCG2*,ZVMVR$84R[84LN' M)^;QR=DUZ!MEDCZ=%7]/YZOLUV"7!@MVS:/=ES>+]]ED513!$-1I.6OZ*+Q,EG#$UT,ZNB]8!1R-EL.CZFWQK[A@_WB#VA1NO; MH?:Q)].,F0<[1)K.=!4,SXSM+/\WFX0]G3?C< MT2(2TLC VM,TXA0^K+Z$0>[7!XSUF<19\#48(.)TF[WR^]I&F<1VT7N?3?*@ M]JLEH#K6+,)KN3UR:VK$GSW00--OAN^YX_0T>3LKT[N[(KM+-U[7;8O6+&@V MWK#$M&5(H^%Z(J616CO1K:>IO+#,I_\_EUL04/<3W;L:7J-7K,3W7J:6C-6G^H79W*K3V7VSU40 M&E?M YKR]&BO/B;6C)M'^O0QJ89\/-8ITK2V87%/=(&:3/+5.J:LJ5(_;Y0! M)UX=6T[48FIG\]4RF_Z6+3?.DW=9L8YX:N;PZ>-9 X)@BFPZ6[[-R^9ATIT' M'I"\)\<(4:D[/.Z Q,5] R_X)@:S(YM]72NPJ%PZ/.Z@Q+W8)<2E\<3P Y+: M=M7O/O;EB&RZ6'<>>D 28]+4D(BTF-1T;#\^)667!C5;+'^>SNY_WK;Y.9T_ M6Z /)%K5N5-5DA9=S_Y)S]B3"I^KL-Q\\=,TNTU7\V7+*1XAF6U6 MA+?AUVWK:EYMLO@V3\F^+;/%M HPC_V=->BCCZ16[>91S:*>QSR?[-.^:\U[FY:?UNIW M5?YTEZ9?@AJ&\N=LOBSK;WZJOOD)P&U^]W_;?IWL3HH#<=F;\'''C7GZ*9O_ M]>EYL\1V(LK60-:%J MW3!A2#'E#<5:<0V5--38+45<2B^:4/0H,ZJ8_) 7X9W[ZX^P[KE=8,^R#ZL: M ?&8D4=$($PV?+%>\?]],L_+;/K7'Y=AM7K\,KSQ0:+=YL0W+/:;Z)@&0E#6 MX)39Y"]W^=>?I]EL(P#APW.^AZ^2M]E=.M\D*ZAOLWVBO*=5HA@ED#.+!,0" M*(JL936]&D(X(,>/6$I').!,MN6QH%BS/CX7-_.QWUGASUCXM$D"N':&&68Y M1BYW@SZ-"<25\O S_OIO^A=G7AFW=5])W M8:RL**K,UWSR^]KC7ZK5\G->S/[U:$+M65F/=PS+%0=6(6(184)I)+G7-;74 M6CDDO_=MJ'M=VC,T7A2<]$2 -)6+0\UUX$V*S"J*;7 M.ME>%M"5RD)[<(82AFI?ER_64PY[F9MB#$8@&O1,.%%;8"VTE M$<913_T.3P.!;BT4^ J$(CY %Q",,Q:+([T29!'5F%I %<><:*6]W](9H$6\ MM2"0ZQ*$CL!<3 #>E.7J/.9O>B36:(=QL*ND1$91 ;6!-7T!LO8F(;U&QK<" MY6),;V88'.N6 ,<,E 1PB8.*L\@ROJ.4>M'^O6?7R/[VR#S*P'_\O,>I&=/9 MV:;RTA7Y.[7F#DGD/ N;-(] Q0$)O7+6$2A](U_1N/R=3K!@*P23TDKE>=AU M<.LW%%FM#!]R%W:NO[,Q,X[[.\]#H$=_YPLA*(OE$P$(OSUG?O@J>9^5-3T' MG)Y[6B6&,2E0T$O>*H.E8=3!FFAJ&1J0[5V"HN5Z>BXK#[K-]K9+ ML.*(0F"\H9H3*3EV?$N#X0;HCPRW_+^D'I=TC JS3]&(;BX*^37 M[_P%Q_T?F[8)%U)IHH!'3E*IP_9>UZNEH5Z!\1V+=>3-8;]'*T2&XO)C]-^[ M=#9]LS#IE]DRG9_D^-%^B:'58DD1T=(CBJ4V1FUIM< 2.N#*?Q'NQT1G*$EX M7P50+K*I2XO%;'%7GA2!_1T238D#4#FL/- 4240-JJE#"K6W^GH[[XK+^RBP M#/;Z3R:K^]4Z)'F=3[>GI/EI5=!TC,1+#Y@%B%$*$2BT" M,.Y]X"7Y?JFMP7^MRDW*B\^+W[(_GF26%ODB?)QLBKJ?6 '.&B>Q7#A$L'6& M(>4ULM[8'1:,N@%MA$NL"GV"-93@? Q/JZLUYHN3]N.^YHGD"A,3C!_-/10" M:.=E39F@THQ[M>B)BWEOP+TFT1CE.C)BB1C#ZF(^IXN[L 5ZBLIL,9E]F6=G MK2XGQDFTAY8C";C@IMJ-*^;5#@L-66O9.3\4[_*K2URP!C-##\_ZM)_Z5-^$ M8(,U@YA"+1V14@JYM>H<)IZ):UIWHO'WN07;$XI_#@FZ@N5IO()SH7/0H@B@ MY$6132J>5!4 PL3SXET6?DZ?8/6M#X>ETBAJ)+2 M$V^TQ:J*XR5UF"&"IGW\S?E1R)=8^4: Z64LJV>$GW3<-.B=5!':"E(%2?@$ M'!:*[4)6S>@7R7WLHP>,SQLG0",C/,0.&*(<8 &U[?FL MH\ATL'6&S,-NGQ?2$8]!N;R10[NJ+K'=:+R-?*[_>+-V8Y7N6S 79^71M_[\ MP1+'@./:!LFG1 !M=-!W-2KA0WM?T)")V9VDI$^\+BQ%ZQ3S2$)T>*P$,>40 M!YJH #ZW" NB:DR$[U!G:\B<[L@R% VN42BBRB(K9I/EMJZ%^B,MJMKQ-[?! MD+K-9E6-PN/A+QW'3B WR$K-M !+$"!LWB'&4/M%[,AL\=[45,]P#<&K=6/ MQ#4>.J':$0\Y-)5GSP(&Y&XC0!4Q[>,TALQ7[T.G]8#>!3;I'_,#T MEF!HI ^;=@FAML%DEF%5J9&2T+:7+3EBV1H-GD-IL4-) -6536O#(A#^+B_6 M+%P&TCZMEM4AV,=\4W;[B$+K.'+")6%($LR<0: J^J-U;34S0E&':L)@Q )X M&?1:Z[DF:[^=55[^O"CMMCKCB14QSL")QA9KAH0UW@3R"6&F]C@R[3!I+S]C M]K9?!+RAE-7NPKSJ+3BB>KYKEQ#-#*?$..HL>%:_LH$BNP1??!8M! M71'OLR^K8O*YLMC4(FP"ED% ]WA<3KD=&@Z3<*X)Y]")L"1C*RM4>8V$4JI# M*LC5^-[[@6I<0G/*-7#&*(D!&"D5?E@/D2)>"U4K14X@[%!0X&I<[;T@-=A! M_B;S-=A2[O8V+'XWM\^"X+>!@&\6&UH>P]B/G?6W'C31$ GH@9,8.$4Q!1+7 MRIAK[SJ4CKL&O_I@P#V*UW!%.\N;6Y.6G_T\_V/@2Y*^F\++_<.IR8R_N!V.5?;5 MD)%A74*C&_,QCPM(2PNB&7.WT_K;HOR236:WLV#P'*L[>;!]PK05CF(/!52* M8.J]=C W,M]46P40X2;K4'%D&$L22HI@I( <:IX2-RZW2A MD780O18!&)6B'Q7?1[%GW^R1K_]V#0$Y$Q0SH17$R$*K8'6=4=#55E@J&M4U M&]<>F7J(@);02&2-5\)@5E/$M%-#UFX_^S;AILPXOD<^#X'1[9';W:ZAM,<$ M HJ,E32H'%#IH W1W%DTI&NDB_W4F'=';M<2P(5 MMY;AF@:@P$A+*G7BQM&K&-KA<9V\'97I]P^Y=V^C>"'@,P-DJH7L[P?+HRWJP?6* M))Q6>WHD;74M+B9Z1Y.59+P*N1N+7O(Z&CBO@_&CT]8CX/=E7!+OLZ_98G4T M\*ENDC!,J"8ZS!T"#RA SM1+F"":=0AU&S"@H.U^J24*K6-?35XN\]LO&W$J M-@_?PZ2#;1-NM!7004NI@H(09/V.4$)5^T._0>]J/Y-;L> 8KOI'N;RY_27/ MIT\UQH=\7A5%*9:S?YU*[&DV0$*D @1B;*JX&>:]Q(QOJ0^Z2+2WM@:]H[WE MJ]L+1I>7D%92D3## !$<5;7]7]Z"7M$>7A#-Q&8K[OQ1Y M60:;XG9V+!GF2:M$0VD$)RZL3P!(Q8VKG.H;.IQ7[<\$![V+O25_VP,QG+U5 M9N%9GX/XV; RS?,O%>7N6Y4<<>"&( =$]P"0&KL MG"6D?9F6(5/$6Q]EQ,)E,*V>+;(BG5>E[Z;W ?-R66Q"E4^*P(F>B25:40YI M50E=2\"L%Z*FURO8/A1HR)3MUMH_*CCMLQ:?&)7Y[9O%,EW0B+8;IU#'>)[A\RD;K7/ZP^EP?*COV25 MB.[TU3$WS(NVB548TK"B$:,,,51P26N:/ .ZO:DW: YSV[>]*QZ#\[A1 MU@E&QC"L(-,R;$M06,E\;/PJG#["8O,HR6X6Y;Z4W7Y0ZN\V+ M;9[4Q_1;5KIOP3X)/)DMTN)AC58@N@J<"9#/UV0OLR(KCVW\>WQJ CQ6UD#' M,9'"NL M@G?:5,(.,5'7X#,<#[+#2G"@9/NBZ6!-'W<['>@1M#,#)&R[#7+2 M6T&8%+2FCUC9(:SJ&GR,<5 9;,UJ5?3"*BV$L5(J9!VE$#H(:UK"CPZZX1J\ MC%VP&(JO]>7<[[)=K;+9Y A_][9/ !&>>N@!UMQP(2CD6]H<\%)T.,>_!L=B M#$PNQ6\[FZ^61VM!'^B1"&8T#T(L'!=Z70H;JYH^VREVXQI\B7%0&8KK_\AF M=Y_#]-378)7<9;^M*IQN;C>556Y6RW*9+JJ*_K/&29S'6DOBN-:< V6'>I M2C)F=^4P:/69:*]K:8;_J@?]@WV?E;^?BJ?:KA)) 8'^YIH2K&C8><,C;1@PPE$ MO$?M;S6)G*L56[#R*T%\R-RP*"]+1>B)%/QCW2J'I+'<.:"#=0BX1<:*+3P4 M C!DL/-9F0QCE* &0MX2]Z%,J\A'W!PGV;K*^/ M#K]6%Z^$&"@$E)YPP!V# EM-:DJ5<>W#?'L[,H[#N+PWC(8]AWFQ MQ)ZP4([T2C20#/)J&VFD05)K%YZ\I1.&-;FU+/2<:GD%!DH\V"\L7B>7GZ/] M$L4 T5(Y;8D0GJ/P=M:ODM$(C_S"["A<;"89G?!ZW3(R2AME?*)Q&9'XD,ZS M\J1)\J15 @@W4)JP;E,D@,!2*K:FHR+*T4%S@)M9()'X\CPZO34F@T4H5K?! M' RX.LGT)MT3(YQ#@GG-J)+<:R=1O2<-DV8#)%(I M234"E"B!(.0(8%-33ZC&X[9BXS+X3.GIA."?38Y&:>E>@_A<1FRVVMMFY>QN MT62IV]\A808Z[[P&P&-*O4"R/NI#CB/?/J+__+#8U[:X14'\6T0K MG!XPT<)6Y3*@581PA2PRI$8G<(&W#ZPY/Z;_M2U/@W!D8'7U=+9-]=7+/HF& MVF@)G>#*"<9ECL"GYS7.(B#3C.ME37^93?YR MEW_]>9K--AP/'YXS.GR5V'RREOO-E9MN,;5A_=W#Y(-M$ZHYH+0*SY#"80"< M4%O_ X:8V2$O:C@[K"5J&' LB(9ZO\^I,^N4Y500+ZH[?C%$FCI64P D:<_D MWLZ*>H[U;HG,I=VJ?UL463J?_2N;UE#<+!Z1*E4Q*ZMMVI/[G3EECMG?)RO;@Z*,->4^D=KJ,LC]JSQ%T>Y%'LOM]GD^JNJ?6]@E4="#69 M;.Z5SJ8WYLV;Q3+?'M^N[Y@.8[RK*E+EB]^R8W43^GID@@FQ-JA^(XDQE",H M%:D1UJ;9Y<7#UG:]9)+,<$A?(C'OMWR9'4K+ZWXG^-Y'?IA\SJ:K>79S._)4 MP;=GY04^BJ$P0&@J/&!4&DZU\B1PW3M" 1#,- JJ[INVYIEZ&Y>6<,PJ18.A M&+8$E&O*A5O31+R46M(!+>J&Z70M^'%0+;3!8-0);K'.*C4E2F%GL:28>RT( MHKZ&Q#@VY$:KI3/X3-8V.U \#Y9K/$#R!I,*)$PQ8R#0Z8FH*:3>C-P?VY5M M34^2VJ'T&N5AE,[6L8C!9=C_6QXLJLU4L]-I9'M:)Q1"PB%F3@!I+3&\.BO= MT*4@[N"!Z=N/VH%%+PM0=H1EN!UL/4U5;F%XM+I/LK]![X1I2BD@5H- ) ,V MK*.@IEM@WCZ[M#>'7'1QB _3%><3.@@ M[/2<& :19@0[9YW4!AHNE*P79(V5'+*<4Y3$L,:<;),8=AY8@\5NK&]5:Y8A M^J)M$M;@RHX6PB)H&9.6D1HP;8R]NLS M@+0%9E!,X&W)]*_9:S"\A)4(U;539(1/]+LKU&.B,XJATP$!E!"&"-+P3!B!1*4.K']^+ M+D<6@R6)=MM_# +;=8:&@O!/6Z,]T1XQ2@@5]19<0\]'7H>D;\8VCA%M!^/K M%)E1[E"N1E*N.9K8A95;:@4-)$@#P;"!;$N;$98->O31-9JX,9\:11.?A\Q0 M7-?I/%U,L@^?LZRIF_-0EX0QH8W2"#'-O%$ 4@EK"A4'[5W>@^7J=K,Q(@%S M2=:?7!,.=TJXET02#*UVBG$;WIR=E\=8BJUR,4IC84SB M$.I4,(D<5+5E99&T[8.N>_-?]B / MD5$:-G-E,^?-K='-Y&%/E\1P@85VE!LK"&9 *ZMJ"J49M'39A>6@.SH7T@OG MB,#^7DG882&$B -2$ 519;9'9T0MC_.ZBT%HW]MT &@2[JVN]X+(@2"5@;I M5CILCJG27.PHI=JUO[9[L'H:\=W4+<$97@SB7,3C-<:?1LH=0(HRB@S'& %P2YJW9FP0(]O MPQF'C2TB<,^#:B@1Z>-^%^I%L)H)0@!)@ 4,YG6-HD-*M#\#'Z!&0D2AB(C1 M]61G0"@T,=P!A;6GI+H:A^_H0KK]_;L#5"N(R/ONT+1D>5DLG[ [_/:&K MQ"VRXN[AP/[A^P9)(#/8UE4BN^36!',;HYW:PJI#T<;S;UD?=*?0"8;^F7?0 MJGO>)"% <,(H#S)F'4$ *+:;.7-RI!?TM87_!?K_)QZ]5(@%R"Q2=W MTB\;)QQPK:P+L&A"41!;L5OT/63.CU/[=F?2$6YW0N:U\'U4VGH,[+X,F]_E MY:Q!*-;39HETQ")LN;(:>TL$,@[7E&"HVR>@B^O0W!W &)JM)]_<[QLFQEA# MD1?<6>R)1PZS^B0P?"E'GC7:CC$'N-L)D6OG\RBU\R78VX:M%RB]ZPG 5#KO M*6(80T*=0'6Q+4=D^_B& =S0;UN7#(N%QU!OZSEU=J'%1D"F33 3' +6KBL% M;R@P@HXP\S)F$;B6, R;5/M+GD]+M9A^R(JOLTE6?LCGTR.L/=PIT0P2K0PE MCD!D$.0>P9I*36G[P)0!G,;=F1T-F(OF6OZ6+X^>@NTR@%K4GSUG[,025F6E M,N0,P@X:Y*2J,6,:M[_@;H!"L]V%:6C\AHV&O.8ZWE1R!80(1A8!AG$GL=4[ M7#UN?RIZ?LC5!>3R\H@.KQTWL86-E-VF:8*5HYRR@*GRPN% W?94F *(5(=H MF_,/VRZJNUK!,:@J>B*C)[6K6OIT5OP]G:_+*)Q2.^U'3ISC@ ,$,?2*>!F, M?E4##Y5T[<7G_#.%2ZF8P= ;7IT\25QHI%.>M$^@AI118P6C0%"'I 1F]R:Y M07V6%U4L[3&YJ'%]I7<^N( N1Y9(8Y&%2C!@:E,2 M&AD(Z\+JF[**S#"VY0 MO&&FZ5S=YZM%,\'[ODMB"$$Z*%UKN9:>*QB,O)TJMJ1#U#&X+LGIA,LCYX>[ MVN/$/1OKDZ=KOF9#2\LD)91K)0(_D;9.H? 5#"Q 1#9*LNZ;MG.OV? ,,@)$ MV$(Q1BQ""GNYH8DX;^V0B>-G7[/1F!\GKMDX#X-TP&LVHD=T5F''0ACD#2-& M4<4I]#6IVNKV#K*!K\]HS++]$9WGP3"F2$!HE'66&12, "LDH<3">N8\6 ;C M/*5N"_^AD,!V*%P3'T=U"CTT^RX?]G5N1">% !"S=DS!8/$) 784>:II^Y"O M@4O/GZM7(P%R+9%]4$#+E6/:.TH0Q!Z&UV!+%7#RVB(Z&S/I=(A?.V1>"]]' MI:W'P.Y+NR'B54N@FF#&O K;;ZG#FJ>K8]$MI8SC]M[3@8OZMM7L$<&YYEQX MJICQU&'H%"&6>,,]JRE5WKEQ:_XX3#PG*;X=7J]90D:Y1HQ/,"XC$*UR :@2 M"#%!""<,"ZL4DK7[*>R)VA=H'K@4:]N5H0,88X\1)X(+IXF4574I*9C4DM?4 M>*3-N+5].\8<#Q9OA\BU\WF4.OL2[+T,6Q\/E)Z6^\[*-XO)?#7-IF\63X]. M#T2952>N:T7W,?NVU&&BOQ^1CYZ>F%#+M'&2>\OSMC_3 M;'O@,@Y4AY?:_<>@9XGA\2$2)*REC $4MN&&2$"X\S4"EL%1E]N)*5=18;K$ MV?EH#L?WQ*N\/>N\_-@ "4=:4JNHLP1)4:U=4FP8@0W6OI'-? $$]MYP1=CXJ@YO#8^A8D@3J>5V>CP2=(X/]SS,3S N(Q!';L<^(@_' M[M3FD#L,'$9&(8@D<0351H6"G+1W#PT6U3':)2D>[!<6KX[WT!ODG7.$&Z&E M"?]S3K*:5F[&?J%7%"Z>=2%].[Q>MXR,FR4&O<2%I?!9TI/)P3_;'(TRF7N&L3G,F*SU=YU&O[II6Y_A\2K@!4F7D$@ MM724:XNWU&G-.XC%8&$VHUWT6T M"R_HN)>LKFP[*06=4'J-\C#*I6$VD M95#6Z!B/VD>!#G:;XFB7IT$X,K"Z>CK;IOKJ99_$"*$%=-@2Z8.-IZN*KS6- M@KF1[[GZ9NQ^S18-QM363I_EQ6W M>7%?7;(<(2;Q_&K#D,"X\EVD,J$*M7("= ^_N6H]O//2ZE+9#HF7WMKS(2B!O.@'3 *,V( ML]*YF@Q(.EP<&#V;JT>&=H&D9\[^OZNT6&;%_.%]]B4O]E6W/=(ZT1P;9+E@ M'%7>!*,PAC4IWN+VT:31;[KID;O=0.E;\1;I8I,6W8C!SYLGWB'G):NC6)3%;%LL_?A-W^M_^5/1RUC9ZU32QQU75J MT"OA)?4.T[KD5=!$%+=7SM'O<.F!N3$@Z96S?C;/?EL]Q6,O4Q^;)1Q( 8VU M&%AKC3$"VFU0CH24F/;64_3[5GKC9VLT>F7E^^QN5@8Y6RQ_2^\/&5#[FB95 M])-B!")AJ#*,^##[F@A'0/M7-/H=*+VQM!,BO;*U.CPNPH*P)G7MP#957?OB MP>33XUP^VC,QP=87B'!B!=-(",&=KDD$@+9?=*-?;](;TV,"U*L,?$R_O9F& M161V.]N$#C10V0?Z))[P8#QPSCRE5#).N*HM1\@):L_WZ!>,],;W.-#TQ'$5 MC,%I91#Z>7IW@,/?M4G"?LYQXZPVU#/M#7:NWL5#[[M468U^\T 4.N,IATQ2C/&C#C*JPUG/-?BJ8N$R!)M- M^'A3?,S_..XY?M$Z4=Y"0:QWTA"E 0T U18D$KY#"71X#=ZK.*@,P>"U?7!3 MO"ORK[/%Y+CEM;]+ H164D$.:(#)& FQJ)434JA#Y4MX#:ZLB- ,P>]W>;E, MY_]W]N6DG;VO0P*AX0 Y3:E&"#LA&2$U01ICV9[7U^#4B@9,3YRN-(TJLO0( M;Y\V29P'&! 8M@ . A%T$VU.SV0 CLHZ6OP8G6 HB?^52'4\W>?\\5QY]7S M9HEW%AGJH P:QE :=O8.[(2/R@[7QUR#]ZHC'#WQ\D,V616!3(@^?9PM#\9# M/6^68,PHT4)75P1J1Q0FN_TYDHC;]KR\!K=51SAZXN7'(IW.%G'B@ M=6*-<6&E8$0#07#X".MK""2V2G0HG'L-OJ8XJ S"X$TX2',6/VF?,,5@=6DN M5@ P!8.UKD1-#A&N?8U3= U>IUBX]+5U617%=R)X/&+J4/,$2(80#Z8? M9J M1(QS]2$T=K##PHNNP>\4"99>'1$?/F?S>57&(ET<#[EXVC AD .&B%82,CT&PFW63Z) PBQXEC1GDN#4>!KMIF M),ZP]@YB= VNJ(C0]!Q]L\RJ*KZSKUDP#]+MA$^$W>SKDCB J1,0 &V-SQD88(A>)<7QY7X=RT3SKV$6BO K0_FA2&8U5N# ML/'W[1W+Z!K<6-T1Z5=IY_?W58!7/OG]P^>TR,J;U;).N"-/6:3DK;;9,9_/+W2NTFY@JRVQ9JL7T[2S]-)L'LK-R2\'T MR:1#@]_R1?$=#3O^[A'Q7IZ3,(6@U\PBKKR#6CK-J$ 5KZVV#C/$]= M0A3M&8FT!&&*!-.4*Q7,7JK9%D?)F1GR>L6C=PQ=2'KR<>">COFFH1TH^N&) MPO-%]L]5MI@<*CEP1N\$><,\M0$M R%C4A$A:[" 9T.6H3BK@-L%Q.60P$9# MMYGU%%&J]LW[9(VM!KT3YJ7S'$KH";'4:R(8J>D65H[\!N&HG#TD-='1^_-( MSV6DYD2MMK$+S7B$I=PIY5^S U%?YW1/,#-.(J\ II0:PCU0.\HA\1UB-&-O MX'KA9P-9Z0C9X,*B'W8?_\Q76PU*ILG'L 7U44OR6BUA!T<)Z%6&:R$YTI !61 0^D:"Z0< MO1I3* K#FRBKR%#^N<5K[+;2^*7JPM+T9O%EM2S7H,#F]M++7HGW!%-'A?)0 M"<$4M!37=#(,VZ]Z@YI)$?AX2%HZ8W9)V4"M9 /5=%+NJ>;:,FJE5S18AK4] MH(3C[5/:H@>175XVVF%V2=G K61CVZO:M(:] L4 ,H\$Q#AL1FJ'KE8=RB-& M#T2[O&RTPVPHV?@U7V0/OZ;%[]G2KQ;34BU-6A0/86NPIN.(?)SHF0@N,%(0 M4T9<56Z%$FUK>B4$8]Z"7_30(RZNE[1T_S%;?O[;(O]49L77:HNY>2D"?/EB M$E!--Q71GJ*W!OZ4X,5^5,*MJFX!QU)Q[BQF3-C:!:<5ZQ*O];HE]<*,&$JT MU==T-J]H\7GQ(9UGVT2@@/01(3W<*2& 2D=X\ S'RP$H+#?4FD/C$J7XV%[A.OMN%2S>M#PJA'T\+E':*,Z@JW2]"YI> M(ECOD@P@':XZB!X-/RZI'0$SAA+SQ]M^-H@?$='G39-@&P>K0?FPT;+ *0>P MV[VXP'<(QXX>?3\N\>H(Y&#FV'IR>U3V,6OL4)^$.2:#FO><(6DX)5!H4-/H M'6Z?$!L]=']$5RA.T&FF5)^T3C)V"GGJ@M.#88E[M5VJ;0'2H@! ] M%6!D[B&@U ]/?CN5%W'N4 FW!F)C (9.:T 10YYL4:$6@B'/ MFX^F/\1A[<&[3'M!:]1)"[OK66O2/VP>7IZ(WCO:+V'::.^=1Y)91W!53I3O M /)FR".FLX+V^I.$YR(7$;ZA[*_M%$_&1'W7+A&(4> 886&C2J0EGG*PI84Y M!,6X0^HB\>DY]R,@=-U<'V6DVQB8?1DF[]%V)_3_@1Z)]9I* &7'@DD+#/; MDIB!/LIM^ZN*>@[7'DSSQP'NDH)1?2RR[*1&.-DWL91BZ;C$HBI"0:3@L#;8 MF :>C'MMZ,S)!I(1 Z\_AZR, ,\%%RZLIP99:;$TUNWV;:+#'0WGQUV,:\WH E/OK#T8I_JL18*84\)Z M(@ 7C$(8Z*ZIY@K(D2;5M,3^.>"W%S=?2SP&.SZ_KPKR_6OM=[^Y?>ZL/W:& M?K1C0L-R YV@%((JL('>*17XJCS2#-E!+$NV$D<;:VN Z"O+T?L*<3H"'E(>\+QJ%,E0,S/NGE M.=HO$<1)$V;L.JF585YMUDD3[)\?X=$5TD0,-AWC@KJ%1?,PIHZX$&'2W.NB^]1X!DL M&^KPMO3I-G1+RONL0B8P)6Q5=[<#'9&4"*,GCH=_E!)EPH[?$6RY-#5NF+E& MA9.'42<7VB%=#NQQ"FE%R,<_\FABN1TOT8@)'E9ZA)2F3G()A-UA ]R(RKE< ME2"V@W?$HA<>?[3X0KL1$\<4 ZHP)+ $:>89ML; PCB5+2_9CMZTOOUB5\+ M@,C M)IXXY(%FDGK*D93:4U7CY%B' MXK='P@'.Z9XP YQ!7"OII ;(0 W?G5LB72HT:ZZ'^J?A&4<)J1Y@N>I01)5 MV7Q..:(05D@PY[S=(@&Y($,ZNH[?;!65K0=3/"/C->2Q?N2P:TUXV!TXBQB& MEGGL!--;0A&BMOW.?[ DS7B\W!MP?1Y XPG6Q40+KSBEB EA)3<$[N8-'>'C M/$AOB?V!J-UV&%P/#T=UT#TLZT:W:=0/OZ;_E1=F'DS(4Y?>-!\E*"\,F%+$ M,D"I01IZ[&LY.O3*^>;2%1'1_U_21K6&7;. 74:PWJ7+L)')IA^SR>=% M/L_O'DZ&^!SJDJ@JD\,:207P3 ,B$=Q1""%!0XI*PQIL??$P[P6RH83B8Y%. MLXKLTR%^SYLFV'NEE<6@JHXAM 42\YHB[SI4#>JOW/] 0M 1JL$"/%?E,K_/ MBO?9/$CM2TA.!GTVZ9] Z5B@$4-.G >88$1J'Q!&GMKQ1"P,+29]X#>4[-A9 MN2QFGU853][/[CXW$)=#71*J%*^J'7!EO&%(4D+K=1E3@=N[//NKOC^0A$2" M;"BA^"VO0FF_9,M,W179IFKG2;$XW"E1B%@!L<=2>T* 4E#5K@7B%&@O&/T5 MN!](,**!UDPTRAJ:,IO\Y2[_^O,TFVW$(GQX+@WAJ\3FDU4UJ7=9,>NJ(L;>44AV9"C2(=#M$B9F^Q.16 "-8/OZ2Y&7+9UM MZZX)UH2+8#YS#11!P%,"64TQ(&[(NZ4O*1(]X34""5&3(.BKM3'T-#RD913/ M_L$2#HA=[\((#6^.K:K[U$[,*J>K?8+*)>S17J4H#H(CD*O?LF4[&0H=$\8= MDI@91231VF(=;/&:VF!_MR_(<0GKM%=Y.1^M:R_6XG&PPCDS@B'J!9+68[BE MEH8]_X@"4@>1C:AHC2$VQ\8":&VCU-R^@ZWJ63>/K/JN1Z($!\8%(V=SB45U^]PVT- XA@;U4!\- MH^K G8,Q4UV0&%V E,D793Z?3==*98W0D6BI_8T3[KWA/IC#UC.HN4:F#B4V MGCLQ9%&=ED?S+5F:1X:FSX";EQ,\>,)YK'FBPCNCB*<00A3 \$1C5U.DN!AQ M.%57%AWE=B=T7@/?1W5\/19V7\8^34F4;AX5@6B=GB];AD9U8(Q M7M$8SE)HGBM179'(I)<<0Z),0 %35L_9,]W^I&"P$O7=#?ZV:(PGJ!XI*RGA MGEG(F#"*A]_JG; W@(U3B;?$_E Y\U887 \/1Z5DAV7=9=;2F!H%*,B0]_Y<3#RBPS2>4ZZU MI=G?W=:;3<;']%M6'C\]B_JH?N\,?_*@WM&;KLIE\;"]G?*7++\KTB^?9Y,G MMW\'=GX(LCF[G4W2Q;(.+A[EG,9X>_G[[&NV6&6E#VK$A<<687:/$UY,W^:+ MN_6Y>?/2%VV'3!R06$K*C:(:6+@L? N YY>GQ^NDN^F(1G%>DFFK[\ M73_HL(A_OD^+WT\:**KF\>4Y$+7,"$EKN &]7ZEXT51]*AX M#I8P]6+:]:1/NJ)/=4T$)1PP$2AU %87X!%;0VF"#3G28^OX##TI*5%P^S-( MS*A<:^,7E,L(R/IBB*WN_2U;GLR6VML^05(0S8#6F >\$*?6U: 9+ :]OJGA MUCP>NY[;.Q$ ZM-]ODD#VRVLAT^S7C9,'!2$00HYQ"K @S1EMJ:"&='^3I7! MHAP&L3*BH->G#%0)@#>WWTWQ:,S3P?:)H\I90KR#W#('F990;&FR7BHP3JNA M*X/R_J!Y'6P?U=(_"FZ?R^4#U8+5??JO?'%PE7[1)A%< X1ZS.0XW"DLO08:+B '5GD.H1"8 M!BHAA%H*X4=D8U[L%"P:>J.MER.5\51*;8R# %.'?0!DBXR -OR4KY9;L#>756]_61<1^C4M[F;58)M8)YV%?MF+6*Z+!>ULR=FH M]=GB[GTV"5R?<5<+@\V)W#_.[(K^=+:L0O4JBMAT_YH^ID]GT;8.8GIZ> MF%2RR0E4 $OJ. QFD \F$#(48L0<:)2CWE=@U);";5V/X_25WQ-X*NRG^^") ML"P Q# Q$@ODD3)4;9!#'AC?OJ!3Y-"?BTM.?F'H1U=;HLM9'*!A2: 6,T6L MQ]H1@=T6=2#1H(DM9[GYAN3Z\?.X\Q"\CH,9((0%EEO,G3828D)$Y06E81\: M3$RHQNG)Z\J@1B;VG+M8"J)1F1'@ ))".H$?LJ+J^>-SS.7C&\4L[M%ZO=(QJP1^K4+RV M,SEN(,-0> VUHH9;A*FO+2B'2/O(CXNA=$&[(UIR4*".0BDP MU\)J##3CCM>6%O)V2-_[%5L@73!]#>D>%A/DG&(*N)\YOY'%3YSYLD89+(:JN<-(!P[8RJ8APV9WYFM+="=X(_CPK% ME?!Q5$OT1=AWH56W+H:J5^5LD95UW,RA0^)&_<+6%Q,E 9%A36%$<@6UK6D- M%DU[;I]_7P/-$9EYTBKQ8?XFV%[4TNH:>:Z4 MJX,]PC_8_CJTWL+_QR8D[=$<2BK>9V46GO4YR+#-OF;S_$N%@_OV):SJQT.P MC_1+"(#,53F:@)M@L=-@R._> "%4^Q6JM^M/QR8Y,?$=SIB=5WB%*?^:%K]G M%5:G!>EPI\01!04B4BOIC7+5S59DMQ13W%Z*>KLH=6Q2% WB?=.//3_A/XO;]@^ MJ&?(WF9IF95^MDB#\*?SG4OSS?V7=+*\N573_$OU#JAR(@CJF^K-;-8_*V_$ M,(_[-5VNBMGRXC.-?N_HV#SCP^K+ETU6:3HW:?G9 MS_,_AJ&N9S'>!K)42OQNTSOHTZ!,)TN=SH-H]W_;RND9# Z!G97IW5V1W6W/ M*[&VID[P&0IEFU^A<(D<_#G?S^!#UF8W]PJI.YT>S ML0^V3PC4$JB D_&::RN)=K"FR1 \TDCY2'S*^T/H=7!_5!$58V)ZE #)2;X* MQM]#Q7!>_U+QFS_A]_;KY&\?]C#W\8\)0(%*1"A%1BHJ@19.UHLC4FQDN?H1 M@,\[0C"4(\W]ZM3)1(3'1HDDCJNP9B'JF3<":@!U344P?MI'J$N?UAF4]^_YS/PUM?NG^N!O ]OWQBO_+U\GE] M0[KZ5&;_7%6A1M6)RJ6=G\^FT\3I>:A+@B7@7H?E'!I7W>=."<("$8 M=Q:S M1GDT@U!Y\M+C/S[0S>YZ'.'5'8TAG M9F?A.%W7[$"/! ;JB;0,"VT$\PH3RVM0K%%#IG.?=\=0)PZ?$)=VX P64?ER MMJ=3A0[U28 #579D>)8AGA%@B(3U*^;@V(N!=.;<:4GHA-/KE(E1.3[')PJ1 M/"^5'?TU*Q[RVS?W582572V?["&>NU[VMTZ<)APB)TG8#%INC,':U7/EN$/0 M?7]I8;&,@7BP]+Q1?D9QS[N'/0MGGT^[OT^+AYO;)SM!-5F[I:NHP+[WQ MK]-R-JER*F;SU3*;_I8M-S&H[[+BP^>TR%K?3''@Q7Z\']'D]U]6RZTWY-DT M7%HLPB3+=U4!O/O[L)FNYG)LMQ-O\$0[YC$V7O'PP:SO/M$2>B.YML#I1G< M#8#&H5U1G($3A!"PTD"@JT(#&A"%U18%PP%O']@=:?]T"8;G%T2XQSW90!66 MD%*X M8Z91$784DSJ*;70=D^>[*G[=;0;#Y27>D\Z$92E<=Z0Y&QGBDEF-)* M:_+X6AE'Q[F[Z@3_H?(\[:"X$CZ.:D=T$?8-PK;NEQOZL)B%'9OD&'@*E*L^ MUV1X 8=";[!TOMIBKQ*,CG@\OFN7,(<)(4!HB:#1E@>[E-6T M6,G:BT+T6)(+BD(,Z(82@W]DL[O/ 0,5-OSI75;7,DTBGA9+!B.%!!R:I@Y_@M%@X+/:+HEA&(49_07E3,MKB]($1-_VM5 M+C>;D/,$[O2(B1::&HYP>.6P=H$)'.SP\=:TCY:)7E%CK*(7'>0+Z[I#])RO M[0Z-E%#"G8<42!+T/I2 :$YK/())V=X4CEZ 8ZQ"%PWPMJT%)WJQC1$(3@P(+R4>6VC.$)!MCT1*(R2' M!D)/D5#&&D9J^@AJ=G7Q,)4T1B@B[4 <2DC48CF;5C. G(>S^*;7)@:(ILNJEFTG]2?+,9K5,,JDCP_J-\FTUH)$>[[[-)-ONZ/N,> M!RY[@N(O'4Y;)PV^;1)(^Z)Q$BP186G8%&$HK9'*"J.V.0=*&M#(K.N9LI/! ML]\U3$156IYH0Q$6 DKG+#!;BB0D8LBK%(Z'S79@QJ'B^&T0&'6H[-_3^6I3 M3VD^S_]85Q$)*V-52;/XFI4-(F>;#9!8C:#T"$EDL=<(:8KJ_$JI"&EO.?0= M2-N2\_D * UEFQZ?_,E RB;=$\$H-V'+AC'Q$C,/F+,[RJWUXSP)[HN]9TE/ M)P3_3#(TJE/H:Q*=*")S7DF:#Y-LD1:SO$DYFJ=M$VT-<,!:JS'T6#&(=)WW M+;VDL+40]'P+?<>%)A8@O3)W.ZV_+06&0 M9@):5M,$G!GI:A&!1WE_Z+P.SH]*QX^%X9=9\G>4FWE:EF'C7R7F-KW6[7F? MA%(3:#+>(A!4HT3(ZII&I2QMGZS9\]W>D380L8 9BOE/IWGZ@N47C1,78*&* M5GF)7(! GB:[G3IA;.QY=]VY];QX,4E$@2#2ALO M!0F\L,B[L)A7]Q4!S8FGH%&8Y"!4MBJ1P(/<0L (#^L5<5A:).F6.L28'[+@ M4+L2"8W9TZ1$PGEHC-KO&Z]$@B3>!1/&:VXA]\P8#TP-"L1\M+5?NW&X88F$ M\\"YSG1X[:"CR#IO..1.^+"RV2V-&(3]R,A-M:Z<:YP7WPZGURD3X[3>1B,* MYXK @=SA3?FK&[EDXXUTCH!Z*AWO1? E95<,[-XD-:Q49M"*FN@]F$=!\S D[V M321 GE)OPQ(J/ %:&2 J+,-7GO!F]O# M^3&MAUC@S3&+=S1PAC7M8/C6%/ M)-.20TUL==TPD51A3!F'@=O7O8,C5"KC1757I4.02TZ0V%+'L%#CW\$U9D^C M(G=GH?$GV<$%TIU'G !*)*8!;AV>N 6%&3GD2AZAR%U3#C?"Q3^*,,3+L4JFF#O'*5+6V7GFIXX.*0$=3/I(1T1JRRN%V;M6/3VF9_>>__7]0 M2P,$% @ "9C^4.\9M.6XG0 VS@( !4 !I7>]VKS+]7J_1+X?OC+\6]=_(GZ=Z_Z'WM5_]$K%+P*T9^_5^L_>"K#7=7$U@C2__CW M)S__+6Q^&F59]DOS7X\_6FV>^T'U6/3+__SUS8;7;5?[E;Y'_[]OWA> M:T=9;//W^:U7__NO[U]?5)?]4O_$+[O\KO;[75YNBO6'_;+__B2_]L?JLW]EZVRYY<1^@T$[Y^* M=:6N,>$W$Y%#KCY^H&6]'U75S>TJ?OI(RYK;%TWLUB[>W\>/M:S=KF2G;T:Q M7VXMOQE/'GE1\[;^J3?J5]T/UD\?P&\3O(/JV8/S[_M\M\[7#30?/-K;K/_M M#^I7BT/UZFZY_++X2U&LOVVV6[);O]XITMYM/FUS4E7YON*;:K4MJD.9DT_5 MOERN]@LJXBQF:2PR@1,_"7G,6,#C#&$F8C\FBR;((M^]^NN'7E+S1RZ#_@'B MU=-2*/.J.)2KM@E3:NL6O$W@WWN=WG*W]DY*O5:J=]+J_=ZK_7__]9=3U@_L M+U;/O4^-QMME]:D1VAFD!*/LEWR[K_H_>57_R2L?=:WS?S5R\G&)%"O')=(: MO*W[*D79O>EZD/U?VE9KEXHR>XG?ED5JF/P9?_J0:'6?:E) M*=;!U7"S[GWI#+7?:;U89N_O>W5?%PJ%0N2)CX36,5, QP$L0P0/D93 M?[+8']NN%^NN:0Q(+=U?:$H'JFHORRMNO6.U_;V1=KE*VC51CWU3^ >CG)%U M3FAVP9L!;HUUX7K-A5Q7:S;@:CK_?Y?46^;ZI%(B5+ M9$@QES&B"0U81+I ,A&IT '.B,<[9LT#55XC2W4 E#!-THPQ;A@R$WD&XXN! M73IT4;F>D47][C%5+IOQ#% L.'==EMA(H+#V%HTA""_NEYO=@F#&")810BA0 M<)*8AJ(/19(T,6>(9H!K4*25-HHCNO:9D,2!IBI\FNO[.F%307/5X9.:0S2GNO7K.\I6& 9)S)+ D1)DR1,(SB M_MDRIK'NL$S_B:YGCI6)FVJ_62VWWJ_YLIZF;^H.=$8'8-'+0R\W[@#GA7-K,Q"!$&:I"FCF8@E5CT(A'@?!W'.(*,/^-,=D^"TQ%E+:N<0 M@8,, \?T!A9NS8(A >:3T]TM1SLT=K# K9O'.&&$_@L[44R=@')C@>*0,D0" M/T4J0.:'O@C[QZMQ!S?!Q8L/G8@29F!XV1(8#ZRZ88:!Z]1\C0JO[)%$7$F4))R8U MW2C01+7_QNO5>:T\K]5G1@4S2V&D<.ZF&3W 1KK=+?N,21JD&>7MO.@S+I5+ M6U_'^P.EE"S*?'.W8X>RS'>K'Q_+Y:[:-E.A?U'#UC=%52UXQGD4$$F8'V!? MC9ADRGH!*,6@I12+82=+29V 566O=.^QN!PZUSG4OF#%2VT7[.HVJ- M3^/Q'G<[OAA6FW8_/8XR4J^HQHB* "59@H.T#Q6F!(.^JS$)X'K1Y%'%,?R@ MQL@Z(]K8=VT<::[T&5F>5<]4\@@P7Z$ MLS!2PR:J2KJ+%K,,-,]B&F-JMM3"C+:E&IMHAA@7_HVDC(YUDY"F\P8 &ZB; M\^0-.(L7D&/FR@CJ=!O',*9J:)&@#&<\J 6C/X#)9;BGL^2021XO3"^;.J.] MH-VM^KS=?5C6![>(?QXV^Q^O=U_S:E_OQ*X63,11+%/,,IZE7&0\I6$6T2"* ML2_]C(+6L4='<[U\?5H@]8J=5ZNLCR=J=7IG0H&KUN-=UERLGM1@X!KU:&_= M+$V_9-G0BK0UN^?!,XOY/%Y_MNR4+M_>Y,LJ/RW2T3!"DI"(98C2 *=IF/EI MX,=4(33TN>YB,_"I[NI4*^1JZ\H/?1BH*(:&S:-6F(HOK+PTT/>]JO+\[9>\ M7.XWN[LFYIO-\M-FJZK;N^6/IJZ]S^NY%>7:VUNYJ5;+[?_*E^4"96&8Q#A+ M9!(P(1@14=H)D@E-M Y/FT"&XQY J_S&.VKW&O$WWE'^C=4'AY[2H'!'3U.A!NCHOO;F0V'VB3Z@]D;=6"<\/>2WA MX[=B(=,H%2P-.8[#+,4IE@'K5621#UK3MQU[5BQ7NAL@>$JY WY#BL0BM!V5 MADM2:Q7$]>A\69XN_H!+Z"0D,RV\, M@PV<=$%AJ2K# @64!IF?49[Z!'%",X1Z&7%&M0YR=A9\G@RNI;M#L%ZIV">P M]0*9!,"#97%U_M;J+.$75#P_'WUAZ8V KX&/3MB[^9HO,,:,QVD2A4FJ0M,L M"FDK(_8)"Z4S]NH$GRE[E72'[-4J%0?LM5T@T[!WJ"RNSUZESA9[(<7S$[(7 ME-X8]L)]M,U># JB\H7[A6W6?#<4?ME[N^"U:KMCULZ3K19P MJET(/Q=!]=,RA";0-RN<_.MNO:E6Q6&WS]?B^TK]*+FO?[<(_0AA%(GZTC^< M16E,$>FUR S;6UDS5C"#?NVY=J\5[[7J+>+4O(@LL'62TK$/6H."F9ZZE[PU M1?#HLOH)>#P^1PB<+3FJ2^H+*A:)]*E$&1&1+U.2IDD@LRX:8DD605AL&L,Q M;2]79AA)C2W48^44[L%H:&"<$])=<&: 96.]G >M1F=1V'W#K!"G/;5RO^ X M# .4^)SR3/BIC#/6=TA1R+ -\.B&JF.SQWXD[9L%-P8D$MGC6XP,GH\7Z;JZ#K[C\>OW8-0X2%R%C"F<]]YN,0!^VAXC+Q!=:M@59CNJN,G1+O3*>W MW*V]7JG7_\"U/MR&^#A029T4QSSJJYO4B@E>9Z-:_#\.Z[MZPO\8C0=8X%"& M">9<^B$2C/714DI@)^&9QG \N.IDW7B],)WJ:-=$$/6<^F<$.)AU+DGVV)N7 MH67LYJSX9)[%\R@:Z8HN=5BQ:Q[_]\W^,SM4^^(^+TE5Y7O%OV,/ICD!_70 MEI^R.)49P2@0(0]]BJ+N7A(J>$1!%RJYB.]Z*JB3['U3FKU>](W7R&YZ%T?A MW?'_GO&A>DZ*1X]UURX9& <=%8H34AHX.T!1E^4T#\(ZS;"8[JV'D;D^DFNG M;/_!-]5J6]0WLA_; DQ1?2:\'\:QC,*$)V%*FHBAB 06NK?+C@GAKBH?57DG M65?KU0Q8-% G;1@[C[IG)9/"_FMG6)?>+[_]NE1M_F:YK7[+]V]OW^=57G[- MJT7":1;'PD>ASP4C7 8D[0-G/ 9]I&HAG.,^S%'AC:D>1-YZ262]N]4)A MW14;/@/1-8W%A@0S=M@3DG-[M-]3E?U[=- M/HJ'TT@"1IQ"(NI.@C!SX#S2?9B#<=Z7J17J/2%NK&6 UDW40N&\/. MU&"WM+OLF@[N+'@^,][9R.@2\*RY!2:>"K:(4T81C<-$$"*8Y#3*DBY$'.#Z MUCS]#WE #P8Q#/ZQSE&+(:*TO &RR+8MQM!10JX$%A59AR 0IV:&"I#T2TR MYZ]]>\M>=:[J2?+ZM,_= M"%6^^O-=\?47E5W+ O6+QPAX)O-GZO\8?ZY;^4;65,_XEFLQA1Q%&4"H0#3Y!B(9:%13U__ M\=/U]M\8W\YL8!JPV^_&+^.NOXY5;OO_;W0N839W;V;C (,$+HT%3+W0)X#@E-,@22?N@$>>@\Q)' MAG),EJ,ZKZKEW7A5(]!;'A7"*#/66#WB3.@IC#XG.S^T=K;://*RG4Y(-&S4 M )4L.3P/0ME*IG#R%HXGU]O#OMHO=^O-[FZ19@QA1#*94)DJ/G(2!GU4+K+1 MZ(+$NA*[BI/$\? ">6M.+U>VVL'76PU')^/7F1@@P$Q,GB_!C++10)BY2_K? M^]S?%[LFY+ME^;9LNGWKORVWA_Q=7C8J%HE/0A+*E/(,ITQ$,I+'?A]#/NAH M/QOQ'+.LE=B#[,NR]+[6\J ?ZECP58]A4UL*XUCG9@39R4#G*3S#/G%HYAF-7'DL.6*3'+&-C9\EU5!Q6-,RK"D,11E@6,1"FBK-^/DZF.'^B.)M,8UV#2II$VDD>Z'AJRR(%] MXSETX[T>MFX:"+4B( "NCE3^$"S> D\1JX80^=\C.F+F*$,^TD6JFX8#WB< M'$-&,AW7(X($N@9^C.>JQEEJ"")7;MJ@T=7FJ(9<@G#)Q-R9PLDHE9<(9>Z/ M+J;$/P_U?J1^BS(*?/N] .>((MWE<>!3'6Z0:81<;1?^ M0Q\&:H:A8?.H"Z;B"RLO#70?C:I<[_,OZGWYO*SR=V5Q5R[O3T.0]AX!M%"# MCR#F"6.ASRB78?WE3!_=CT(&VUQC)Z;S'3=*IG?2Z75";\Z&WT:WJ%CS7 \^ MU[ ;1B4;3CO:Q:-EW>#6'KOFSX-PUK-ZL@G(A6N&3%R3W?I]OM^4^9H?2M7U M>)>7FV+=]D@6"1-HICED2U%)JPQBUZ9]=EC8K<@L< MLX1E.)8D)B**$(YXTBM075VMK[)PUCI!6; MG=!1R[D!+MIU?AY$M)Q3X?)=A5&P/LCKVV:[5?Q]O=NK-W2C@C8'(E>GTUM/ M(F3(L$ !$R0+!"=Q%)"V,XLC2AGA$!Q:#NV8B[W:&^_M_G->>B?)[1GD5=/) M:?];^P%I\>\V90; MC(X3%)D3HHZQ>X"]DY3B/"@]3:K%%6J)"_(O"$[3-$-I(VE',U7;_9^)GOI)&7$2Z)GVXH/"[]?E M?O,U?[U3G>Y#?3!/I8:J_SU?WVUV=V2E_M-FO\FK9ZY0BGV.XP '*..B/OV" M8M%=1\92'@K=6R=<2G X;WY4[9W);F:%.N'>2?D<+A@;8?/0)/L$A3,)^;30/YEGCS+= TJ8X?))KZ MJSW/WDY?U=MGB^UFI6*?AJ4!B<*8"\(#P:CT14R#+$#$]U.$N:^[[6!$!.=3 MN\VN\D[5U:9[+ALT-'T[WM5Y5$0;B3R>IK7EC6XEHLMJHSITC^+^:/]Y5H,E MPQSCC/M^A*,X4K\.^^!)*D ?;EL*Z;@CU*BL=RJ_4S^D8-?T8V$=&UO>ZL'J M"K;"P'5T]"3QID78#^_W[M]7ZY;HN3= -^=]CP>B M86"T;[T>(J_J.@R62NIEM^>#3:BC P!U5CCS0*F[](J)7G(87O]:Y6]O1;7? MW"_W>;7 3$B!X@QG-,813;!DJ \2$@2:7P,^VC$:E9JZ4W/4 T,AU"8]T#ET M"(:QQ^;,AUP/+1K@DJ&7\Z".J?C"ROMD^OG(<1WA--?T&%I!%/$XC4F(!:<) MXYRR?C0<)"0 +R8-@_V3A_EGLW^@FK6!.6@!ZRK%0$,9W;==_QET,M. M#E#/28',@XEN4KOXG9%U_W1Y^GKW-:_VS\432<8#E+ 8URNQ?AQ0DAU[?,P' M'91L'L4Q*4_"C#H=MBW5X^ T;L*@-])()Y2[Z-, TL9[.P]^6EG)#43VG&(H020N-4\#YJAGP?PJ>QL1Q3ZK=\7W_[5MSK MW"3EQDP],DWI(XQ/O;*3@?/AU NN#=#*EM_S8):U;!Z?;FW5I9?XM2D_[1>\ M6#6=N/[?R]VZO:G^]:[9"E>O$QX7;3$*>>(SB1 1J9]0Q4_:[GQ()>(9>:'R MV0_H<"]2)\\[T^FU0KTSI3I[%5R;ONZ?4O^UF9K_0.,U"N$1#VLW%.64P#A( M&L:!_7F&=NX\OB[W'.95N'X[]5BXSC?'\&?1FIV^"X9"29@?BB#Q><1B+J)C MJ" )M(ZS'A7 ]2[9OIH]J%.--$VJC;-ON-68S#G#!@)BVC.]LJKOEE7YZL]W MQ==?5+YMCTS]XG%';,B+9WADQ;KKHL=."H7%5TD?*$_@]6:SRU_O\_MJ004C MB0Q2GP8BC'U*6-3M(>:Z5J+_J=$.N6&'8\!MVPV=.H [W0NP!Y]"1V:[[:IE_QW?EE2 !=JVS"X($)+U#!S+#YX,%0_S.<&.,$!!C_]V%9JLJW M_?$^_U*4^P5-0A;P)(V3@*4I920,41]) 8@X]P #2/*Y:X][Z +)44@9!;SD&9^ MDK HQ.@X8A$\U=KL/"K 9,.+HS!CBL#- XP[7/IF.@;1MLSJ@.21$R\-3DR- MFP]*S%-X;M RS@_]J4^F@I7U5L%U_OW_RG\L.!8*4QA)DLHLDB*,4G;L]T0A M<-83^O1I)CP[55XCRU.ZH#.=8--T)SE=^F4TOZEOE;V)S4+A(_2Q'C//0YYXRQ%/'N5*4,19AI3V2"'SP- M)FI!7JL("@B(2;IL<.2/$19TK+$'A%/F@RPP,&@N&#"1_H0 QOGK5_[W^=VF MWMRQV_^VO,\7D0@XB3$*4A81%F.IGM^'$=@'=A: #Y\& B=17JT*"@*H8;HP M<.B5$1!T;;('A8<.#(+!T*RYP,%4_A- C/(!LIMB591JT-*LJC:'.++ZX_#R M!RO6^8*E09P&.,$\C6F0IFDB:!_5]R/MJ0H;L:;:7W&F\<9K5'KU?0BM4J^6 M"M]K,X8#( MV$Q=4DWAHQ&CX!;: ],%4P:1--;(N5V>;= M6(B$"4Y9)&,J62A$OW<%29EIC[)@3W4,F*,8KU:CCQ.@-2_CPYTK,%QH&F(# M#@]2O@ #,UNN7_D-=1=C7PAH[X*LU^IEJ+I_O=GL+4X[^T./ HR,E&W1^':/Z/>!-PZ>[V)9PP9 M[$F,,?#Z(+&0PY,>Q'A'P(!AZI=ORX_%M]V"2(Y2S*7(&";4CWP5IXL4I#(" MSM;"GS\Q7&IE]61 KX&&7 %["82+2QO'$4;?0>N8>62*#FM,?9P9<(S3N$2=<;Z T?.NJ/;+[?^S M^=+,]R+$$C\0-(IH$(0BS6*,^V T##,C\,!"3(R=5IRGU!FM%9FY"$2..P/' M 4?7.^NX>6"(#FS,')P9:@R3N 2:,9[H8*;N/I$R7S:/%](/?8S21 C?1RA5 MO:G^DQ\5%&F/CT /=8R2ID=?BP&2 V;,RZQPY@F,#IIVV(#!><87JK^1*=>O M\&:RBY$O@WZE?J.\V;[[7.SZW7!2\(!% F6J9\*BB,58^$=N1%F@6['!#W9< MN1L]7B,(O"P+-^GE2N[4'UA%!UACH[(_SOQ"A3$%T:_\'_+5 MH51\0<&GCYO]-E^$81QAFE)*)*8"UT=>]_.K018D6N?V&SW8<>5O1-177:#@ MCY_^Y/7R] D =^IE C@U"48 J#\V,/ X_0L8,';I^A@PEUY8>$OT,?"Q7*XW MN[L//^X_%=M%D&)&L]27(A'U/R0*C_,381)@70; GNH: *T8KU6C7^^!UKQ< MZ=VY JSQ>H;8J.@/4KY0R\ULN7X5-]1=C'TAX&V\^+[ZK%Z O-G-3@,44(QC MBI-(T 0'&"==F) H#=!V'O1PQU6]U^3UHH#?HI@9IM_<._,*!@"@339;_',' M7FCUCQR%G*01]*@,Z/,=H^)X[$.KRZN%>8TR^$D98.M>)L84KL&@86"8S7,R'AEQ M@1UC;;L^/D9G\,PA&>/<@$.D/2&LC163&.& HI#X?DR0'PB2]K%P*I 91B 1 M)@9)=Y#=*)2 #(3"Q)5WXW"B99M]H)R9H844$_/F!A6C'"YBQ=P1K87'0UD^ M(%A_[J"?Q4&0H(P%/N\N+2@.=:ZZR-E? J%Q5<)NF'JP^=\NV7%_9?E[L<"H\2/ M TQ)AA+$8B0))T=JX4Q[I&/PZ&DV2#62O$X3=%<4S*J7L>'8)1@P0 ;9V_IT MGOW@EB112R'>02.&0,VS!Y-G#1F$RC@+YP*7D5D\@8P-5P#'#++_+,CDL'>"6+E'<&64$$DV/ M[)Z:?LQ_D!IF3LT%%H;JGST^W=0%P$"HN+^O#S$M5O_X\'FI7INWAWVU7^[J M#;,++*(X"BE/N4]2+A(:H*@/&@09L%\R*M1$@Z)&HM=HO/%:E=Z93/#@:)2[ MVD.DJ8PU&RB9>FIQP#1@T/"PR8:S#J'L>?02MC;E)]5)^N=!157/ M7Q75_C[??RY4I*]Y_>O=OB*?ZA/E5_L%EW'&U M!,,-)$*8RB$D641&I/Y>! M?.DC<9NA'%:Q1J"G%'JU1*_5Z)V)]'[O95Z^ ]Z=Q^MN"U-S/.WLO'Z@;F+/ M'\&MMD#Q2VF+@Z2A%\"49Q#FPM+K M[ZTN35:-=&^X!9C..!CSX9X]TY'J^U&WR^I3HZ;+MNU,Y=M]U?_)XU[5H"W/ MD,B.C==ECZ4<"ILO%HPO+=RZ3YTV>?7WC>+;8?\^7ZXWVQ\\5W7W?K-;?MKF M'K9M_DFY M]ZV5[G7:O7/Q7JW>:^3?>&T",)XY+"T]YLVCH(SZP@[*R D_C2T>8*S[8IL' MAR?(LYBZ0L!X_CY73<8AE\H:5NR:GFDMB1VJ?7&?EQ_S[WNJ'/N':DX2GK+$ M#S%) H0P3M+N1!L1R" B$'Q;"^J8UIU.KWYQO%YI0P.OU^K]7JOU&KG SJ8] MZ_58?!778>BU9K@3TNH:. !6ZV4P#X[:3ZMP_.["*/EZ5W>LB_('WU2K;5$= MROPL9$*SA*0!27%]A*<@/.ZVEN&4"%_KRS8K@1S3\*@-AKEQWNFA;3+;8#@[ MRO).NJ[(KR&7!IAEQ=QY<,I.*H6#EP\XRY??W9_O-CM.*A(A49P%L41)%JA. M81CA[LHV&K,0O_1IQ^CG.YRM:B6=;9.$3XY;FK"Z8,[0G-58/^=1?<:G\7CF MRHXOVM5F]3E?'[;YV]O'@5_O;HOROEF_H3^Z_WBJQ))%@D6288H((EB2 /%> MC1 (U,*[TN!Z@KVK?F6G=E*DZ9K=J/YZM:_/I3S^P5_*HJJ\7Y?U=OQF MF:N^[_8^]S[EZAEY_[N/R^^YYF9QY^6H2<<9%"$0GIWBNGB>@O1,]8WWZ6^V]N\V5U^#/V^N:5^IVKW057PMU_R]O;Z:N%G?DPEPD2F-)9! MFJ#H*(!$(:B39#&LZP6]7NE9=\:KQ:KVM7Y3-MM-U["^R]43P MX%OW77+&[ MCO7 )3IKKKM9DM/V<&@-SGY!S(.,+A)[O,KFRCO QM+JN,97YJM<::DO?MJ7 MF]4^7R^B!%-)(Y9QF@:ATN!+E$7"#Q@*9<2U5M-LQ9IFR\-)HM=KO/%.*L%[ M2L?9.\S":SAKM$=A7J:"-^E.9NZH#;JF)D-VY@XY,;PKUXJ'L]F1:R>;I[MQ M+;JDU03T0^+BEN?EYNNR;8M4Q,/#3<#UB!=GV$]QI'Z1!)E,^^4!@Q31=N80RVZ;.@&?64RH"%C%*L8+$[B&/,@(*',^BB2<]#('_ILQYW7LWK3SH8#]WB!K=(; MI+MT"89V@$%.AMJ/G!@83YMZ-H]!L['ZPLZ;HT>(JE0=KEU>WOT@WS?5(B X M2%,62!9C-9@F281D_W#*::@#!N C70]F&R6JW51:-%$ ]628 [M (Y M9S0 MJ?,JI;/ZKG[WN*X_S/F9*FYHRG5KMJGH8M2+ *W'O+A?;G8+Q @7/&;U"9T\ MS7"$.>H?G_!$ZZ@7\$,GJLNM&G!MUG5&MSX[,,6L1K_DA^4ZW88;K-5 :^92 MKZ&RG]1LH[QU>_%_6Y:;N@M0SXPW"(F0[V.& I(DR(^C-/6/861$(]!'PN"' M.Z[KO9YVD0C2?)O;I=>5=^H4# @DYSTYA^;,="=-_9M'OUY<_F%I??'G!8] MEE+$$R)B*D6$ Q1*E+(^D"\R8UYH/GY:8H Z"6-,@U/#@5^CN&&C_S"*'!=[ M%!;J#*;,FMVVORWW[3X]>)]DG*70J4;'7AK/.YYT7:7/,F20 MUG3D"%_G02,[J5RF']7?[Z 8D9C)2(1($(PYEBSI[V#%DDBA M=<60E4#3K7@4BG4;[ MHTNG=T6UJ=?_&P!F$4F#($XQ3G E.8V8!%__D3[LRJ17F-*N,A M"L WZ,C$C67& Q(MMQR/18Z6: U!X ;.@R"C,K@XX#!U WY(!EM6G^6V^/;? M\_5=7KW>K;:'=;Y^O2.KU>'^L%WN\_7;_>>\K.]8+///^:XZ?G'UIJBJ9H/9 MZ6OOB,>4B2R1(HEBFN!,4'Y4RXGA(1K3:G3,M/,=VW5B7IV9UZ;F];EYFYUW MEIW7I.<]R*__*O*/=8I_@ISC,*\W0H^T/\/+ */U]=\#Q^=Y6"VH@3;DVJ_& M/-JAJ[MP\;R0:Y8*O#U\]EN+4_@@Y3R*8S\0$68X\W$B9!^>QR@R:^!&!IVP MQ;KTC9&UUF>L_]#F9$+KS=N'\:X[9OVPBUKPME00S6[9D+=_ENM Z5S.+8)9.1 Y753(/.HP8YR*Z9XI0'?L)]%J<]2V>Q_O,^;+MG' MXN_+LESN]C]4/ZT\++='%2Q-"46AST@89CA!:4;]7D7@LY<^;G(5UN&\VJG& M]FJ]3J[WL?!ZP5ZGV.PS=Q<% ?CB_W\#+Z0=YE=,LW^?7N0WVMZ;)[>M%>I_J9*EPK]SKI MP&&FD\+1Z[Q>NUQ@39Z3(G'2ES7P=:!'Z[*4YM&O=9IA,=T[#YS?&XR_X'&: MQ9R(*&:"9TF 1=(W!6$@:;CXH@;9Q5H]I=QKSNV-"PBIV8^U:5=RNE2_7>7> M!DW4O,7+BB;E!GX:FX^P8/ _4 MV4KF\=2;38_L *S[[2:O7E?5(5\O1*S^)T1$?<(D38E,_:P7@3GL(C_+H5UO M*BR+KYM*C2)M\@ONKPV>.;76,M]NZF7H,E]6N7=;E-Y)NM=JGQ/_'OMJS$/C M OH9^&B>'(B7(SVTP\]WRQ_-'.S"%X*D/HD"0OR $L9XPH[P)HE8[/*[>E;! M!CFU@VI5ZZRMUN?ZM&OWL3(?JN5=;A.<^L;: *9=1UV!DN=GH.PESXF/O29C M+H++X6?@(3PI$ <-/;,T ZIS"A/" ZQX#CAOI\>H9NJD757G>W3VQNWM3D_YL M.T9&TX@@$D>ACRGE@ODB;()&2"9*#61@-C*4XX%8J^[&.^KS6H$C+E,?ZZU> M'V-"6V%]BW&..N'7L%<#_+)D\CSX92N9PLF+".-70T5?;M?6B M80/5S9[9\ZAQ%O,I7+V6X'I7'%3_7XT#ZDV]9+=^JN2YN\=]%$0I$EE >:QZ M+A&C*#VJ87$,Z5"XTN"XI]'75O']2[ZKH/<,.S->&X-7]QP,QT:QUTEN]K@^ M0\P'.UVOUD,Q]'>8I4Y+;#:$=9OE4^Y.X"IP3RQ=5IN5DL(WV\,^7_^6[]OO MDM[EY8?/R[.=N7Y2=\*2Q(^D((AG,8EPAB3+$IJ($''8GEAK82?9$]NH]91< MK]/K*<']5XE*LM=H'KLKUEY1&.V*O4J16-@5VQ;.TD+A0/?%ZCKV\KY8Z][/ M:E^L_>R>WQ?KR$7037EO;^N// _M"_WV]I$DL2SK+4C5N^9;T/MBU^AJK[ ) M@L#G&4,^30,94+_>%M:)8HFOMT5V(BF.>[O'[P+?WGIG*=2_?4KB/H^FJK>9 M]#4>13AR'L7W18E[&)&8T,OM<'3E=0, MFN0)DWWNFL>I/';>8+\YG5TD8AF&3))$_8(%7/4I:">,^X+ZDS3:^G)^DH;[ M#?0@M"E+U'$+[J8PK].*S[H<)VK.W93G=9MTG7)UWZZ_&3A][PK%]I.W[P8) MVVKC3;W677@Z3@34ARTM8A%BC/V49@%BE"?JC8S[&#R+09^BPI[LN/6MI[TV MC1K8\A#0'KU%'W?.P)JRL[G [O@XLM^7FT_J#:T7=O:%]VY9KWU.NV3SP)V! MA1@S%^>QO&*HO;#Q'L'X\/=\<_=9T8E\SJ=B;UI^W#3@@SDY #HW)3( M/$#H*+=BBG?: DB[KM\3(63]OP]57^(?U4C.0&,67NDO=GK>F'J0Z,:L: M#2V +4#71CF-P._$160'Q/U8^2F-O9/N&1#Y97.A;+987#.FM,TL=7AMW=61 M7>!+>A91?<@FBOP,JTXXRNK5]*A7$63U(<'%?KD=U04VC@TB]5$FC-2JSG^; MJ"ML7@:C.L.3V.^T.]QE, /\7G83WB4>72XSQJV-[/2ZQ99,L[GZD.^.I3-)RSB>WO]C539/E@+?BR.W->?PRRHGQ%$ MTAAC(A)<7S4;AJ'T:7OT>/=B_H09 SU7E-AW@ MMX+3E*D>,>=7G#"^3E62;CXKM&'^ ,&G+=QY\'[BG!]_@'@%QW7;DO?YUWQW MR-_G]?7"*JH*>EN4]_4!1F\_;3=W[2Z]6*8\PC0B 6)I(!@B_8'VD@0QSR!M MA9V(CMN"3N2-=Y3IG>GT3D+-:&_)=3V:3V\XC-;VO';"8RW[!GAKU_YY\-1R M3H7+%Q;P;<+[_/:P6V^[S\)_?&E/]RKS_:'<50LDN>K)IX$D,N%4RHRGW>D< MDHH4,^UO#L:%<4Z^6IQW5'?C=?J\3B!@1_E(/X?Q-K&54*;-QD7 ?OOIW#3; M1V_NJMZN^,'\GT&\1=-FL(O=4B*%]1?*G.!%??OOJLS7FWW5+#2MU#NG>N'5 M(J51??AI$OI)0H(,RR3D?>P A?H?D%F+.#G7&ZE>I[79WG12:XZG$9;#>3^- MVV/1/SNCS9N$:0RWU3H8&6_45%ST1;/5&._K_!H0"SD-M"6V'(.>HO<^7^6; MK_5'++_E^^X OT4@<48E#P*1^CS ]:^"#"62$A_Y"0YARWVC0CE?\SL>TG:2 M=^,M;U63Y)'MMOC6#-KK ^A94SA>_0')\8A+LP/TS#S7G.N>RFS@%+83EYV> M@_><@T/ST#:,G\=TB)U4+AQ;9\$?_;O7=\U!37_?[#^S0[4O[O.R/R3OQW%6 M9E7<[3;_D:\7DODIP0E/L1]0B?U(T*07$3,606:%+8=VW)GNU7K?E%ROUWMS M/*/R1SV9V6CV3J)A[+-=%GHTO&(QP/AHMP2<_NA_A;R<[%5WE7BGP<5\WBJ)U8>Q:&O M@*EZH4Q*%-2LE$1P3I'/7UK'L1O,74T[ZFN^>SE3^']ZK<:K7=^@Y=Q Y;/K M_#PJH>68V9DT3"=7+L#75O0-D:'-"JY,\JHWSTFS#/9/\.1 M,1Y=EQ:CE!?CWQ"CFL^+>E_,(B1)$"&?21;1!&=9$HJ>+BQA/C6H^YI/GK+V MMY+,ZK^N42 "./!H! ->LL<%!=J8+W, Z-2L2 #5_CP+C!P =\[;7D>]A;C8 MU?>\-@2B2:#"X@RCD.*,21'QJ(\IPA"T8W=<),>TZ/K>)U&@'H,E,X$C'.<^ MPH@"MM#M*.8Y=W1&+Z-A ++C 5AE%*A^D7J MGS3M8]$L!-U1:Q9A8AH!.S CW=/#D'OCQN''3J\&_BWL<[8,<&>O+EU[P^6V21I!FAF/@R$%F44I=?/@QPC]3Y8W MQCFAO8UOO=[4NTJ7VW?+S?KUCBV_;/;+;1>312'/2!1@FLD@"C/*&.EB]61.MWBT 6C$18^(B(DTJ=1D 41"_I@ 0F 'V4;A7 ^ M$]RJ.IW-8 8G4P/UJ#2!=] 98K!MCKZW!F;Q)./H2UX OC( MX7!_V"[W^?IM_7U%/98K\\_YKMI\S=O[(+KX,I-^S/T@CB(4)#A6 SO6QT>^ MWL?0]J.Z[C6]9:\OW&-BVFVR9[AF%^HJ7@.[4V-L=O6)@YYK0WTKZ\[/@W<. M\GKZ)803Y\ K;6R[K*INRT\S=TXP(A0E(<%A(C/JAR@.^WA8A39:90-'<3WW M5.LY;GH;M[P&=Q"XM.;4/.!<%,@WMVMJCVW164\SMG(>7+*0QZ5UM)'.:,]Q MGX7I)M-C03#UJ4\H)R1,$!.QZ ()E/HA:)(;_OB)26.T=F;BFN9$MUO#QM'E M*FMF3QT9FNPVMV\>1!F3P./I[K%>Z,]W]S>85+(H?\N_=9^5UL=JE<5._7+5 M(*W="\"35 0XY(+% 9$TX)+QHX8X$K#Y;YN1G<^''\4V7U4KN=Y)K_=0L%$7 MR')!Z$Z87ZL,H!/H%NUW-*,.<')PAMU%BS(#[\Y!7:I^5#_]]I:L MV[OANL%GEI 0LZC^RD.B-/6ID%D?*HTRT)2840#'C*PUU1V.7I5A_\S,.SW> M.;<-AC6X8T[8]9PK X@:9>(\2#0NA<+B2S6FM\8^JY;M MSDV)>!)D?I(FK%X+(+$D1PT4Q>:]M;&1)^ZMM7*]S>YAIZ%3;*&[-KHD3+IK M4Q;"N.[:./\GZ*^]8*5V?\U6DR;MDO,XLWDL&#DWJ63-_ M'DRTF,_C*3_+3FE_B5.6"KM%6>:KYB)SLENKP$7Y+E?_7)^]H&,/K*Y?'F8S&8^$=RM>OFK? M"(H(PNI7O@A3$F=]9 ;L<]N(=^4VP;"?;<5ID_D)]R;;1?:5>M<:IFG//XRS M?!Y$M9K1X%R##;<,OD=M+[=_756'?+U@"8M")%*4AAG- E_@^B3Z-EHDD@1V M,KQI%$BE,[MM/K_;[)JKV^AR6Y]-?M->H:E]S8+U;R_/_1D:OXYT=!YU:G06 ME[_&'.&*_O[:QT?H+7P:L%2B4/@,$^''E";=1^,B"AAL?&GP>,<]@5-M^=36 M%NAN6KA?>@V\8ZM@[?FS9VP^_UG U+MJ'[LTN)W6V-)YL&5, D\VT([T D24 MEEG\4+972*J!3\NRYC^^;19S*_$]+U>;2J%-Q+Y(*%=@BW#J4T95KZ 7HGX! M6DQU$-XQD6JQS94BQ:VW:L]0J)I]I8>=*BPOO_^R+7[D>?>'7]3?K;P_;M0/ M-2G]R8!?EDL'P+?K%0R0?[6J5Y^62D5S.$Z^J]K+RDE9UE/)S0F GWYXYS_W M;OFC^6/R;5FN;[PNFQNOSZ>JEQ[:I*_ 3)#S+S'533'.B+F.$GR.R2Z]',GL MORVWA_QY'4%,1)#X%)-$!@D/PA237DQ;[Q& M]4WW94 G_(@ X#TT#HIE%*LG*A&#KJK=PIB2PI<]A4/80OG,FL$V\M-#L#4G MK?2:ZU6$Z@_%;OG][*XOR-M_L#^IG%JB^>#&C,4U])52]T5/\O&47?;3K%:Z'U/7J+V" \O MS%E07]]WTZZXU3*==:O@(E](1]V!TS;Z[5JR(BJP1 EB]79/[L=^=ER0B0AF MH&^:G8NY?J_> F6N5([C^_V3%Z'U89M/=TMG_0--:@N"LR#. M0I$Q3DD:^4227G:@_3N-;MY?L;X-*E\X[W>K=VSWI1 M[;VS1(RW)UVI^,%[F^9?\L"-42X+W?6>*2>%H;?AZKKOP3Q:L_G8<7FKUQS* M27NTU S7:I6JY?VX_%Y?YUJOB*OF6OU!\U_I8\$+C#,6F>[FSYJ?\>C3U5+S>3,G1:4Y"+IV*9DO M53_;MG0EV*21;Y\OQ;>?MIN[Y?2-C8G70\,=ET4WCT;!;8J/AS7N_7P)WIOR MT[X=7O4O\,>"%5_S1W*:AJ5L#Y_YZQ?5CJA!E_KCC\6CT==?53-3M5]@+$+$ M,AFP-$.(793U[\#Y(!O@;?GKP& M>_4:?#M[#M\LQ!P.* MV=0UV%CSTF'I;XJJ:B9_E?!W15G7R?-M]1^+=E/](LEP'&0XC 4+?.K'$:7] M>F&,HP!!AIVNM3CNB#3RO0?ZO38![X]U"G\ZKN"H/&Z\+A/HUPK7*46]$>F< M"A#6FYBF[)P,34>:/C!*G:HXYS%@G2S;XCJ5!C",U9DWY9OZD]FBK'A^FY?E MH[$U#7E(XR#E3#*E"..8]9_LQ%2$6'O(ZEZ*Z]6TLR_.%2$>70/HG5T#>$S# MZ_-X,$D)&(Y,4'X:(\YY%1UP.>P_9ZD!!HSS*CVSP>&C4ER>2O%+5XJKKA37 MQU)<]Z6X.LME[%!PM)F7AGW3E=(,AG@3)EMG*;[-;O M\[T2\LS>ST624)PD2*1J!!GR+(YYDO02""'A8I??U9=G?03NH[057PL&60N# M)U*!LT5GFKWE;NUUJI_?LGV%+7::GKZTG>VR;GQSV[M;KN2B7'ZFB@W,S*A> MF[BG?094>TNE&N6+VUO597A[^^AVDNZXU]>[5LOI4H$%14&*I"^RT!$)4B !T_[4Z&X_'T2;G72J\GY9[#\B@W@&=4.2TQO6G4F MA04;0;LL)S?G@AF[/(#K"8IN'O2>(M''!Y!-Y:WV6MJ7O%S6H=_46Z3_GF_N M/JNN#/FJ_O0NYYNJ4?9>=6^4GE4S=M%>K?K&ZW0#%\:L%XGF2M@U2P.X]&6[(-RL M<@$-'5K6+URY]=&,NO4W*0L5)DB#-&0X2R16'LHLZP,%F0 = M^F/P^*G)68L:@T4]STS 9]VND6@;=&H";M7QML=@E'C]'R28M6AP2&G#,=A1&@:Q/WS<9K1 MQ;[8+[=ZM-!_*H@21P':K[\Q' "^Z$'!C24P&%R- 3IU'V[0/.J\@>YB[*MA M<3[G?5[?%-'_QX]Y>8\6'&>8!+_Z?,Y1=/L3 M7BW;XFR.48%8F,UQ71:V9W- Q3#]7,XS=IK.Y8PIF7DPTEUZD+F<\3YJ;WI8 M?<[7AVW^]O;U[FN^4];_8(>RWN;\L=GSG'_?4^7//Q8!B>,XE1S%(>,LHY@& M,JCO&<%1D*4![#PX6T%=KWP6]U^*7;.9L;CUCEJ!!Q98+N+&-ZUO,-X>]M5^ MN:N_%GSWMB*?JGVY7.T7G*N'9VF$$/)%)--8QGX;2?TAS;0^!3=\M,-.RTF0 MIQ1YO_>:-*\Y'&488$_\!,:9;70W,%!OX_KS&3^#&AO^S&"+^=@,"GMO"_1N MP5WS^,-R>SHC9^&'*(U(DOEIQ",:BE"U,<=8&?5!6\:,(CCO$QU%Z9P-9-,Z MO?Z/>]=@J 4:YN@&QF<\&=I$-?151N;PY.[%\8[HDD4N-V6S([9>TM\6 M57T,[!%FF":8\)@PE(4!JX^\8RP-ICQ=QYU"([J10.7C[#.D6J*M_7=[2_V2P_;;:;_2:O?LV7M8;U MV]W[?*6&&ZK_H'[@MV)7]K^ERVI3-4.01<9Q$$9!&M,H(?7ADQ&-.WU9$C,& M:>&G4^6X5W"JM_5AZIV\YG.0<[W=R!YXE?J$10=DYZQ*S12THPK,+77'^JN# MZ,G*<&8\GR[O2_"?V'EP2T%_=&KJV0%9'V>6[U8_R/=-M0@DBV6]ES)F",5Q M1G":]9%]&0NC-F!$/,=T/]/E'86I3IF29LKR,>8"*3V1KS#^&EGJEK:7?=+A MJ 679T9(&QE=8I\UM\!4>RXN+^KEQD4L,R$3E"&),8\DQ6F,^\@IS\QZMB/B M78=JK3A3KHVQ%\BUB9RUPK673'5+MLM.Z9#-@L\S(YN-C"Z1S9I;8\A6'7N/ MO^;WG_)R$<9,9($D?AA%$<.)],DQ-,(2M,'<2L"KC,=_;\598!O<8'.X.?76 MQJCY15LGH]MCJX!X,W9ZOGPS3TD#<"/],AB1'G_YWS=YJ?[^YQ]O\J_*WKKC M2&(4881Q(*D03#(_#OO@),)!;#@H'1-R,LIY1W'M'!;YV]CAZ2BGP2/4J4PV M7HT!^^MZK#K@F-YPU8;E,^.>I:0N#UKM>3:J=_=41M?#C#AA(4EE0E)$_$RI M(+37$! !NI++;N2KDM#:D':$\R/Z?Y.8;I.,LQGM7K0.VC$<700S(Z7=W'2Z MBI8[+85\UF$9=+U5*'$8B2HE$)$UC@G@4]A'C$)EU% WB3#@&;M7= M>(T^#XT="9N8"@2@8S_-Q[U@*]W2[JE/.FP;X>[,2#8FDTO<&NW.&$H%?<0H MD1%-*(\CGDD2J5%UO[I+4I& CI09$^=JE HL4DK;5'-*N?#3%J4TK)R,4H$1 MI:#NSI=2X$PT*&7FSAA*A5W$0-8S?E'HHU@&*0K#2/:]-TI) OHL7"3UN4TK!R,DJ%1I2"NCM?2H$ST:"4F3M3[G!^L]GEK_?Y?;6( M28 DC7F0$"D0S02-HUXC%R&9>I>SOK()2=CFT\S[G&7D]2EYQ6YH;VV3E_=[ MG9G7I':%?=& @U^KS&H$WWG+O]1I?N#'%C;MZD)_26!BVQWGJA+\OF#5 5%LV MSX.1UK(IW+R,X]>EZ^O&_[HK/E5Y^;7^0*7M^BO<*H,4A9M/AM\_H&T#ZE9F MPHG,4AQF)$D$#^,XY?VV;TKB>/0.1:?B)NQSGV\P_J9R\LZ3Z@;4WL.TSO?J M-9EU73H3PDY?[N8+Y[,I$+ 2*J" TE@'*N!\@B5$_;\ZP\"GP;*W1\1P3 MZDRB5VN\\#2#-IN/S8)O5C)Z> MZ679K2O,'KSK;M:M%H0RDL1(U+U%H?J*68#ZS0_,QP$(CU<1Z)BGJZ:X*Z6R M/G=XK4K\:D-_0*%-/OQW4UZSF *X\8[)_;3S ,<,IID+@+\-\V@WKFN!NSD! MT_+0;9EX7FZ^-E?\MHN("X+"+ V(]%',?4&$'XIC ^A+#+IA!?QPQRW"24_+ M!UA[ +=*C^5.78)Q6-L@)]1\;,0 \8P]FP>MS.47EMX=X.QA\_!G.LR+6,29 MZC#+) XRED08I=3OXTD1(M#DH7$4UW.'C; + T;@W*&YDYI3AY.8")PY-/+/ MS6;U7T8 M(L\OC>S$GDP_RIW1Y9%ZC@X TUGAS .A[M*[>*FD$Q]U,?L^7^6;9J[_=-F- M5!@GE+)04AD2&OLAE5F ,HEBF4BN^Z6SR:/=U=0S-5>[N>D91P9JVAC_YE&9 M1F50V'N;P%6B^)J7/][>\DV9K_:LJ/;5(@UB'&4I$AF)N0K+44#Z6,@7H-LU MS"(X[D/THNJFK)7E-;I@?09#\[2)XM@W,%-@EKFBRE-7AKDRPL79D&5,#D_9 M,MH1K=N<^T#%[>O[+T6YYX=N]RI"*69(I!%.&8X4T.(V4N*G<:HU>3/F^1.2 MI=7EM<( USJ;.C<,EJE,,\?*U'X!KL&>P#>S:[#A_NG=@OU\PL^0UH8],[@% M>VP&A;V7Q710(XOR!/?SR+_E^T62B*!>[XLB6F]$"!,2!GUP03#H6FQ+(=V3 MN%/IW1:E=[&BW'B_03<>V?(<.K:88IQV/0H>\TQJ86C%_-CU*JTE= M'+Y:]$R7AZ]WJ^(^_Z":T6:7YW'\C&22$JFB<.2C1";UD?BI:O=0Q&,N4JY9 M&4T?[Z[VM8J\HZ2KS?A*:UYV]A#!NV'.I^3:'1 9QMT'=&=3W!@!G3&H)4P]61 &W5PN _T9AY#$+CL)T-V MH[RU%H+J%:;B]DO+D;(-M$@8Y2D2B$<102G& 9?R&":2P .;<+!H)K.058^G'NF-G"#]0YO66?YY*]M.@SRI@9+/F, MTU_8>D6@QS15^[>W?RF*]7F/[$.Q79/[HMQO_J-]HW%&?(S"D DN<"QE%L9) M%UQUU5*M21S+(1TS]UQ+72^6JW\>-O7A\!M5LW9WS2E#R^;K..AQ378,U^N; M7<%K.+!OO',Q4Q_/I&/00 _/LL/SZ/_93NK).4T./!M/O$7,8A^G2;URE&81 M226*21=09(3+Q;[8+[=C*?=B&!#9CHJTJ]S'^J]XJZZ]!_60;'@X%EQ6[3/K M73:RSF>@*J]6-A=R&=%*V]:Y$TH_$6TJ ;W1)=%?RJ*JWI7%[6:_H"AC:8*% M&BC[?D82)B*_CR D$1#T0)[KF#6-E'I,H;3 $ ,R1X\IKGR!0:2UY-VP)4Z( M<9;_ "),7)H'$XR4%^/?$>B$=)77UX4KQO#Z$KGB2SU8%]^_Y+LJ7Y" I@F3 MH8]$EB$_H 3U?1X1,P(ZJWM<).=3UZVXIAE=G^1!Y[)'F:D[P3V5C]!9[S,+ MSY1YG;2I9\,'7!J<(K?A[CP(9"F7)Y/I]AS2_H0\WV[;&\7:FWC4K_N 62*S M)$DQ\T,1IPGW?=Q/1 F.,>QC-;"3R^,MK6]YHCY'R75XNMRH@6=]O=IMZ[V)]:% ? ME6-*H@1%-)&(9G[,99KV425!H&MMQ\9R3*1.7E.OE@\$ D=68RW5'&U-Z"9P M!'9FY$-MUZ'4"TX-C=4L>3P/7EG+YO&8SJI+6GL4SN>QB]O7QR6C]CS%WXI= MM[A73W.S((HBCE+$<9H%$B&#'0K37W;1X=V1'Z"UMOD"$WVH\%WQ15M0@# MQN*0H)AFJ42!&M7+?OE#2AR 3FTR>;[C+NBI0FP:38;,@!@&I(8CKTRYT7T8 M_,=:T)^N!(^3)3KX,#!P9@ QR> 20HS=T(6(ZN 4#X/U(^P HS#"@>KGL)@* MB@47QW@^#D%W#IE'<0V4_>>\]/[8]4'^U&'EQMM!CP,9X:,>8::Q$,:9TGF0QT(>A>V7S>3 CAIS4F7'BIT*?%"Q.PX6NXKFMT69 MMS_WLULUEDZ7I_/-4Z/<5(P \W '%Z'>30DLW#BV9-P MYE ZL,9,*>G:3)KO\GIK8AC$]96@*0M$)GF*XRR-^FB89Z#OL4QC..Y.OSXV M&_VTGO?'3ZVTR_U!NR9"F@"W_AGA6TGJ)_N\/]*7K'-(X2?>O$A0.PXP@'=EUTLRYUJR*MW>?GA\[+,ZZNY5PL?IS*2 M2/HA35B2IA%*NEC"KR_HAC2P9A$<-Z^-B&G?^V=]&'C_Q_DVCWHP,H?"YILT MKE[PS?:PS]>+-&8T454O%4E*PRS":4CZ:%SS8+:Q,1S7C4[&=6M')P)0/Z#N MS;.&@+-XH8Z8N:);2_Z>;^X^J\>3KVH(>9?_=KC_E)=O;YO(U=O#OMHO=VKP M>-?65"%#2C,L$DJ3Q!89"U(B41W< M3Y",0BIQ"_A2 $.OAO$VC4U @&DZ9.T$[V<->(8^X\VZ_LG=(_47MEX; ".Z MQ_]U5WW)5YO;3;[N3@>/*4]%%$J4(D)P*&2"^UAA%'*M#WW'19B,%>!+ $:X MID&,20PSI<9D)_]?M.$2.T;;-@-^C,^AL/DB ;]IJ/?C/M/%J=>2?LM5/^CC M\ON[7 E:JS\O\V65\[S]][$3Y$<)YC@.@LA/9?5@E-%M[OOCMMXI]B_ ;R@F*""] =_,R@8&P[98GAW\M1OXFGL2ZP%B MO2'D6N/!\18/#!$G++]YC!JG3/CQ]R13>SV6][(H\\W=CAW*,M^M?GPLE[MJ MV7R$JX; S>^VS>8_LO[?AVI?=W+;78!U'O7WO.J_[/?EYM-A7U]!^;%XMU3/ MV2]8F!)&@PCYJJ>;<2:BM!\@8U\(T$E],Y/NN!VI:73;9N:MNM2\_2D;;WE, M!_HE[[Q\'-GZ_ 2E;[VEZG+V^J2]LZR; WO.\O9.B=_T.]%5[C=>E[UWGKZW M+[S6@'FT>VX*UZ"-O/);-N_V]-KF:+:]UY9II9W^ZT[U$K:;_\C7?U&#PIH' M;W=<=22^-H1.TMX>C^G:LEE=_\NY4'I6G.+E:5I^]VVWQS?NC-X4!F@W;9&5A8U+Q?;[:+JMJ<[M9/6IMZ\_-R%OV^H'XHU(J4QZ) MA"#A)QA+U;;&HE?*(ADO=OG=CQFY^ MS=J(XC&<#'7],LR[89O$ [C>J M^3WJ/4[\#HPFDRC+*&>H7M.+XDPV-U>VJB,<$&9CD#:5UFE';,>!6GL103.= M51TSL]^B35;BXUJW.1:V]9;NF.0KE>6K.DWOE.>#&=!3Z_9SS(!:*CZ#EG#J M%V?>K>+D;FBVD-C9M98'S P@$$VS!^'OBTDLF3*T=M MN:-U*P7?5*MM41U*Q=*[&I^O=XJM]^W8XU-QV+]O+P-N;T+M?M/'G_?WAW:9NFI-'MFT*?'L.EL])KG&P*X"&(&P/?#"-13NB^:95F=N M+\4,+KV8DQO%/*LN]/[>VO;-=M-(?7M[/%^[O36X/UVPRZKZ6+!B5Q7;S;I9 M\*A[<(N4Q['PXQ"S+$P#J<8@$>F%^4R"CE"90([CR:Z'&=3D.ITYWR;QX"#2 M/I.Z'WR>B_=[DXUF:S=E:>H-4696D+!>S51EZ.CFXK'.#PR )BS6>8R3IDSX MR47)$WNM\TGCK\O_793L4.U5^U16S7>3?A2H_U,#/(*Y#*G :2C:(*&?!;[6 M=C7#1SMF>2\&_,&SB4O#7)W (.!LCZ8WUCY9?)K]A6\51]AT_8\4QX@OK+PJ M^BSX;7F?O[U]$*K[!-)/4^[SA(>)H"Q#(<9ID@6JOYIP)I#>/<;C(DQ&!O#G MS2-<>QD1TQAF2HK)/F^^:,,%9(RW[?KDL)!#8?-% MTOO/R/8O=K7I_*M A4 M#\7/J._C* AII#HO&>TXA;)(4, %PH"G.N9%J\7[O54#F<.$>:,Q'^W,%A@5 MIG($=!&O(V=,;]K5LT-6,GFRBF[+'6,RU?&ZWA[G M/B*$QCB5OI_YF<#!:08I(J"[+L?$N1:90,,[*X8:LLF1EY;89&/D-YY.)X\@ M=#)P=J9T,LGD)3H9NZ--IV[X^21RUUM+&(I#E$J**(E8PH,PDOV\E@AP!"+4 MR%A3S3H]4\]@ REKYFK2:D)?#2>G3"QU0ZUAKX;(9UM'?;8&@T!W MC4>$[HP=W?72]G2JL>$#KV #1#.;9T(R:^F\/%0*9H=%SY9EI M.B_R;)1/VO>R++=YU>W)_2W?=_W ,(MEI,B)Z@LZ41@&,F5'=J:!@$#,+()C MHQR[QP,3 :FN;F0YCE?!A TSL=Y<&=D#H^OD+'@"/CF M)WJH-KN\JOI-F^W%$RS$)/-QID+$.$L(HKR+&:C.6P@BS:A(CHG3:SKMF#89 M[(TT4Y,[D_D(XX^N9&K*AA'/9]ZB"6/BP<=25-$Z$J&->S9& ?69>K;&^8D#K*[2G M'Z'5:3;/ '>TKO5&@"@ZZY?!B,=7? ]<4-G.W$Z]!GC)G,'5O]&.SJ,6V4CDR8J?)6]T:U%SYD[;NUA(]62& M61;Q*,%")H2(_CL?]3\40*H-Y+F.ZTE[0-:71LNTU>/,A('Z8&+5/"J D?)B M_(L"/=*IRM7/?E85BBM(;HLO=;,DOG_)=U6^P#Z*19J1U$\8R8(HY?&Q6J4I MB1=?\_)3H7]>TYA8D(IP+@NP6MO*:\Z)6Y\$3GTBSX!) Q7%CKGSJ#J6J^5S?UK-(E>P8GAD9[.H_Z9".1)],SEKS1[HOEN[Q<;E5 LK[?[#95 ML_/K:]Y'E5+0) YB$7 L B*99$$7%8N8I[#J-#::\SK5"6SJU/*!Q(E[<<-& M#?7L+%D\CRIF+9O'/4"K+FE/9Q:[HI]=;8\7[>.%+$Q9&&2AX#3%C*OJW>\N MP F3P&IF'L=Y!6OO)VG/]&^NF9EX"NZ2,T,S<*/=G$==LI#'X_DW2\X8?_3P M+B_K/UC>Y6@1)RQ)19+&,8U#*4(:'$\,48UF"-H\,RJ0XZF%I]OR;[R3O)%? M.8 ,U5L5F,Q+V+J H8W3?-9P9M'@I*8%9^?!)CNIO/0I@[D_NH0ZW:WW>J?Z M%,V)4]7_U]VY_[B18_?^]_P5!>0BF0':N23K129 +YJ8URO[6M[$@3[@R!+ MU;:R:E6OI/:X]Z^_Q7I(ZFYUB<]2S0V"63]F^ISS9=6G#LG#P_ZB6?;X'^7R M6[/IVEZ>OON^NF>/+3D/U8?OJO;J/O9X[H;)C=96;;\G)*$FF"?D<3C,^QCO(,P? M3_V!+\@$'X%I?(^F*$PU^=?7_5NI;#;E]JBV(G(I 8-8@EP@+G!G,H4 &%UH MX63H&M^CJQPL&5+)$"'&XD[WI3,UM=1']\4JJFVY^K:1/Q??ZT>MK'_[ M^WR[[ [7)1QB#$F1Y""7&<2Q8$EG,J-<&K6Y=#(4^,7J?(MZYZ+..\L#MFZ: MZB5DH\EIED+9*QF$4T,J#7#*B[C3X)2?4*H #Y_%F?_. DAR#@F'A4P1!C@F MA&:-!5SD2*9&WWN3GQN80HTK+F?Z=>71(TPH9B?U#76:!ANL M/#]W*M\J>MTWO]D%>G7WH#/-L90(9P7+4DKR@DG5$;R%CN"<&I4&>C$8F!7M MUMBIDX<+G#L_?[4DB1^Y]1 SNM)F[/$BRU-!*9=YU5T MXI95;F"D88 MYO7$5@A":-Z;XY@9%,B>ZQT"5<4VZ"08:%.9$-!DR2G2"">],[4A,P#%[AJN3 2N4[]LDJ40HV M'M8F(+X=]$QTGTB1J$6UEL>AF 8O0P?I7(AIH:EAIG=JK6,[@XPS B7.J<0R MSV#.:&\OJ__4(M6SL'(58KHD>S9*&F5[@47T0;YKYGLOY;F<\#E(.@V">8CC M?,KGK(SV422R12)AC"$!:]+9X0LS.:5A8"\T4Z7 =JXZ3@-TCC&\/S$I0=%O,PJ MWQT:TXJ"YBGE25RP(D%Y7(!^02T&*>)&?1D]F0S,(*TC;^]L&Y+[DMW#U#&, MXF;L\B;V^//'=QI-O#WK/PWF^0[*9#YHJYEKA<5OFVTY7Z_^7BY[3SYLCH[N MZ':U4RN"#UO5^+O^\VK)RMMJ6WZ9_YP)5DA:D&:"*B%)"TQ9YRD$.18^RC%" M^G>]VHT6 #?1,;HG8*@VT4F,41=DU$89M6'>1%^;0*,Z4C^5'T$?!;B6E\EZZJ@&9AS'BCX64>\*E[W>IV52[5 M+19TL7BX>UBKNRL^\+=O-_NJ*_N^O2T7ZF=\5-=B5)OWY7X6)XD0*CW,28%1'&*WJ$#MBWD2'**,NS)OH_4"; MN(D]$QZF-5-Y'/Q/A,(^">//H!Q&RG;.-<;#,8VOX?5E,)G7C3KKZNR]J_G6+)D,@(3!) DESKNL 1W C\;6N=?]-X'QW=CUK_;Z(^ M G43RFD,41>$61^Q,89M^.,TL1$S^_S\_S=8RVK1(*;Y3_\H@_;$Z>D,WK/4 M0(E6?_!KMS.4-Y][=QG/?-!'')OK?K+'#+0:_;FWN2+L20N%' @LBH0ADA69 MP( BW-F!]2>>F_7V-O_Y)N^O54]OKGD=F"^]-'>Y@PIEN,/=*73-SB*TH#G.!.R-@<*L#:*E MB="[)X<^'++_F-OU.+$44'/#(KQVAGL.YK*%V2,X*\S0,K^;DM/@BVL0SQ?; M?6@2=%W@N&U=NR,$+I D"2*<%1DIDMXI"3,0?&U WY7)KP_HU(5<90P#+A2$ M&;ZQ%PLF.W(CK!J$&4&[E8/3@8ANJVWT!U]*>#=0DS7RH/V!EQ0L@O6QK&"K ML79?Y\:O=\JOMP>_:.,7/?&F2R(^E:J\?ZGN1R]6N\5\_=_E?#N3>?U_:9I0 M#H&422QRPGO/XDP:M14;PY_ W_"#4XH'ZC4V[ H]QHCHS5"F-AA67^3&_>CH M?T0[;)^&T,]X;J(GH]?&$:E 1FY([:[\P'QIS'&=QN1JU(B?=\$>7>TP\%>. M?/F]FC&4X1SF "'*4DER K X^ (D#H=[70\" [YF.@S)=&VA0U \A,9C<%OY M'=6.3YG3G;;>R&PZ5G]$%AO'Z$1?.T4#\K9^6,N9S"@ $M Z_Z_3?TDSEJ6= M-RA/L=G]*H%\",]<%)RY>F('HZYWGH/0$Q)<7"&8&+4/#B0"^'Y&X?FKY[4H?#K7>71 MZ*L\GSI\E8]>V6LT7']4])H%Z4Q>"TT#@K?^=V>L2+CD6&14K7-@*G+8;U+6D#@9>WRJ/!][ZOYD\>.M_UR]X38;K#PM>HR#=P6NN M:1CPTML:40>/BD2B K",I$6:(T)8D=+>(YD!%HZ^9GX$1O"7[^6VG"N/0H+8 M4/H0- ZG^AA(;D;HCP'F)T)[H[/=\/T1$6T9J1.G7=1UK:.\?=@_U @Z<6I? M[>?K62&3+(V!A(((S).L=B?NO0 XTVIG'( (S&0,:%U(8=;OQ9#+P5^GSP]W=?/O8G,L[.AP=/8YZEPWO;?CGT7O)9T RF_9^VGD=W[#NKYY?(A---EX6^;A]W# M?/UA^W9SNRW_]E!_W9N";;':+=;5KJ;RT0/!)8%2\A3',J$TE2*%C0ZONVB^64:_U8_-=C^OOV+MZZK.1T0Z+VWX(=!#Y+74 M-^-D+WRUC8Y^MD=;;M0?LFK__28Z^GQ%UTM;UK"_.0S_S:OC/W\^_F\'U:YQ9,<>3W[7 M=H+*!861:PZ'X4*)]Y$(LVIBJ.C0^DFHP9G&-"!<>,_75,+JJ,O=,\:;FRY% MP5("(,A)@3#"(N-=H[T49&DNC H#;6T$INBY]]7JIEYK#?5P.(9\9M2S42X( MUUZ19@!?KF).@U+.451^'S%WYJA?;LNRN]]2I&EA\M;\+UH+$]G<+)Z\XI$V5'8]83P0SI92?V=#EF&8\&T5R4 M3T MD6GI*#D6NPXJF6'+7-S)$LLBE,NPLM5'EU.G!;@?;I^O!\[2>IH))4Y3""1, M63WG[!HFUT8Y1:D)J1Q-!6;5DUKWZK;/#L[4Q9M!RU5@/6R-J*T9N)[+JJ]F M$' -ZS2 +D\"3P->OH*I@CR$AAL&Y3>U0?>IO%?&-]_.[:&C3#7Q@C#/29XF M64U/VG>985G-3J,] @_V J/L[6;YL-MO'Z/.UYOH3V7U;3N__[Y:/-E.5!N/ MIR5^O/[/JKO:H.'^@(\AT-P2&%E]PUV UKOHX-XT2GXT1!M:Z/Z-)N&L0Q!SFB4L@B92S&.^J82C\\YNY]--4SVDC2:G& 2@/P\B+N-*CE)Y3G M]V+ZT^<2IW;;_>SS?E[/96L^'A.2^;K988@!)SB-(8\1P@43JAE@;XOR3&M) MS,U"8#*=^F.TN^BHVS"$QI/,C#XF:NGPIH[SA#7U[YYS9E"(,X#Q(]QUR>(I MALKGHV3 DC;3.K74K>@GD!% :WKQ@N5,D(1)V-OB29QKL\3:PJ@L,=H7=%1. M@R:CB.9"$Q^[?7H\>4V*UWCB+-T$>.(>0^7S8=+C27.6;?LX^^WS#*":1RA) M4\0)30E@6)+N!Z>(9EJ]> Q^7&!2_/;^[10S[SC%GI<]X6V<;BR M'GNSY0[Y9TF[N_9((G-:3U106F0%QY !R'H#)(9&FU0&/S;PJZL\L;Q/TT0; MO46*0+*8O%&\Q7E M,CCO&%XVNR.+%O+IG30\&_ 9B'I09P+G_1P#J+P]*5[VCMX=BH\(IEE'M([V])%=X&=-I/":.MM0TE'UC%WE=YIU#)Z M4WH:*:"_^PD7^7*P?EJO--U6;5/__ M\LO\YTPP6$@D!10X9AR!7";QP1,DC4Z;A+ ?F'O]ZZ@>CJAW.OJ]]OI0&'03 M'1R/>L^CVG4S& 89&ST^7GM8S) 98D2"<-1"U@&TAARD:= V:(35>(^\;6^' MO@G%2<\X">.4$PZPS)@40%+1W;K-" 50:\_.AYW C#WM$W#H"^3:ELU)5SUN MCB6I&1]=U0S<8^&%5 /,\R'P--CF)9)7FR2XJF/.JH'N]D]X3PVZI40PGY@MKW2WLJ691YU-V7<=22W9]_P/1X3(J*VL%JD M]#],4R-H@ A?)6LH-4V)6PUY4C3MU\_<&O+,10BEB.,<%3FALB ) 6G>NYA@ M;G21Z*B.A=Y4WNU7=_-]C8G6X;-7_$2?RG7S[^RK>IZYW3:];/U@?9S!->/] MY,8UU(?@9G#0I_*5\#$<&I^/44=]6M^5<4-_Y8-S!?VUOT1]%?.'6S[??2_6 MU>^[0]O+/,=IDF<)*.I_QK(HA& 82BQ2E@G)=!D10CH_ET /.!4[7F[;MM MWKYF_;_J78WF!U__U2P+"S$&>KB[LOQF$*R=;=G7NZMZM_ZB/(Y6FU^C@]/1 MT>NK =)?Y?\\[/8*]KLOU:=2*;5:E[5[;S>+ MZJY\5^WJ/S=U%:,$"R901NJD"V*6$-R[2B3-A%%?H&LX&+IX\QB3FD5O^ZBB M3-WNZ_GAH5[>6]S6 5\TZ0OWK==ET =TL3]<79@ ((9#,&!"4D#@&."DZ MT[0H,J,[-+T8#%WE>N)CTPCJ]$Y3P^)6+_KJ?1I&E]8,]:?NW40'!QN!J8[ M8F=$K.",93A7""< M8A)#D6<<]N9B(8@)WJR-!$::\JM/I.IW3JQV]U77*O?D6A8SMMD+JL>S4;0T M8YBCC$$(]II, ]1R5G8:I'(/H_+\Q)D1Z9@.J@I464]7]X]_+O??JSH5_%%V M&>1,J'Y2)!4@R0@7":@= ;UMAIE1]N7'8F!6/9WV-0N\K:=1ZVITXJL9L3P) MKH>O\;4V8YD7F8,034NY ;SY57X:K/,<4Q7R637<4OX^WY9L7D^ >76G=K+; M)#"510%@G.8RSU"6I"AA_58;I5ELM(QJ:2(PYS[OJ\5?WWQ5;D6+$[\,RX4;\V^ MBW'^Y4-L[?QK+(%M\Z_&K^B7WL-?:WVC@]9=?M:X.7K^=5FYX?S+H_+38)SG MF%[F7]X5TR5@^GS34! M.^R"\OG]:C]?'ZLO<2XQE05&$D"4 "Y!/_]D*2^XX4J8+[.ABQV_J\G-3N4& M)^4O[?$UM7>V7LV_KM9MP<,__2-&$/U;],N#RB;:'^F:HMD/AVV>-LI(>$G6 MCE4GG:M7*SG15]$H<7,>BFE@,D1@%U,X3]K9@Y0NFE:SNT_EHES]:.ZM*-($ MYB*O^)#X MTV6)1P+A2]F,$.B@^E3AYQ+21>PYZV4//+59L:FEKE.A69(73,99HKI!DCPG M219GO**$;%L M])TJJJQBN<@H>X4"X:E>/%EW_A+E%TP1?\EI/48/IZG5ZVNA\&VIV(JDDW M3O8CO.1T-I([I76!U?:8V?6C\$Y#\C&3NY<*FN=W#J,P528ZQZ67Y3DKY[]O MS0P+P7* "H8%@KR(!:7]D2Z>Y"2?[:O]?*T'28]FC2AY\%#[Y7VOV\,@5*^: MR[KKD?)*DINATJ(WS50;T@S@,L!03(.7(0*S;CQCJ)TC,=M#%N?/_=,8%@5& M@LA<9#*6J8!Y[PA+I8].7R[F0Q>_/.OTM>I=]=[IRVD,G"@ZEOQ>:7IP>@K] M5LR%-0>LCU&:-&B]!*@'7']:ZH*W.RJT^U)1U19J6]8NU=3?/WZL'_H]W2S5 MF;=[]:_,(,*,(JQ6$D0B"8]C('H'$"2%18F,1^LC%R=5Q'UM(P>$ M @=Z^G)A'(2V9=M-U7:S5F>SR^U=?#-TCBJX&S]OJVWT2^]L,U7X->HOW7F9 MJ%X'HIIR:I#4]\!,"Z?>HWN%J6%4M,Y(^V8SY:[.FMOFX]W?+&" M$!E3G!<'M@LJ*?61D[K8'PFIS5+J?+5L7O>OG;^GC5X/O6";5==YY[YCJNHT M,);):O#!\):N'CV]:9JV]ILBFI#2 MPU!,%)0^(KO$26_J:6/R) -NFQZV-03-;/5<-HRQ@!2B&.20RE1@S##NW<@) MPT:L]&T\-#!/)YB1\EB1LZO%Z>Z1,YIOCC0DFE2]YF@8HM7W0(0AK*&@0Y@- M-38386VP\)X#-ZR.MM2EF^6?YWM%^LE=Z^W*-7\--19VU+W&,#C#5PU'[[4:#%%^W9\DMC=G M\M[KHEA390,B^QZW:8+9>Y07^!Q&5?_E6C-*4R%(FN9)P5$AZT\#Z4^1BC2G MU$.!JXW9L0I<']JZH+/U6:'*LRYKKD?@*\EM!EV+ZD((E$/&XIC30W8M0!)[*&YU,3]R<>MM M[ZKWXE:G,7"BZ%CR>Z7IP>D)%[<."&L.6!^C-&G0>@E0#[C^M+1:35"7"JCB M,+5@+"".H6!$X%@BDL4I/1BCN=&]5I8F1EV/+>_NU]5C648[Y6!TKSQT6 HP M$-)BIA]&0Z>)?*/:QT'5PL_-#[KH3KW-A9P&J%R#&)HXVVIBNK?^J5PWI3S5 ME_G/_UKMOW^OULL:?&IZ?OX.!T*9("3C!<0YXYQF%/5G]66>IK%#'9-W7\:I M:7I[N%$A^OWHM>H5V M?W^=,7/9S+]1]S%$)[[>1!=NI+G.IKZILAH[_,$&:R(\#A[F*WO_@76U*/3_ M5-YWE4$?;FO+=]6F^:+,"B$E2 4&"'.2$I8415^H)2'-K,JD',R%WFAJ^+H] M.&=?NV^MIQE-1Y+2BIMMA?[1O:9,M'&PS3NO5I'_BF)Z1?BNKW4 MWH]6_MI4[^%KC5!<8O2PL:@_%-.@8(C#KA41#[71I*6]OR\7^PZW\N6A.+7ZJ$](/ MFZ9(?[-4_Z-.F?Z8KYM;8.N,DT.

+S7OSF%U)#_" T-1%R@*=!QF,:1 T36C7"\VQ&567EF:5/A^6[SI.G?W#R M;WXLMRMU^_;S#G^+]8-:'3@-JPUUQK$$#"<@15(0FLI4<-0'@:@TJD":F.LC MY,*_+$_::W8M-U?>B#XQ/36_"1/S.MQ71;E^\^*[<1,=@SM^79[_V9/_H TZ M.M.T59U'Z$)_]NEJHQ_W(S7NR Y\YB;ZB$WC0SE5<:H_!";,/]8O,X/SWLTR MFJ9<9 CS+"YDG$,L^AYE!<=FQS"\&AZC8.U1HV;4T#F,^6,66FK_)0A:1V3 M%AW=%/.+Q1AA)F. 8HXQ2F*DNU8[)Z2\T4TWU+_U15R]]7ZW5M_^UF7S^@JZ_KLND1\/;N M?K[:-OU6,2GJ3 GDLL@3QA#@:9X<\R:1F$P"O1@,//GK?6S>SZ.7;;^-Z.BG M69;B1VJ])&5TE!@Y!/1[0!\'G5?!K<\QM2%? 9U:/>:OMU/SO<@?). M30IYM=L?#BVAC, D%0P0 3-")5,(J'^,$8R99>Z"KO^^' OW/%&H,:K2+FE M<\S/KWK+:O&@1K4M[IV"BD\\"J[F,VJI0&L6U=YD*&](="'T,_#Q)=9U>>,M MBLKO(V262QWL?%&=.[Z4/_=LK>H^89Y0E,&"R"2!.949S-+>&I48FJ1/MC8" M9TR-6S?=B]"X%BG?HL8Y3;PXRZB7&HVAH!F<+<4+D@.]HLY VN.JYS0R'>:7U^28Z];I=-E5^6X,LV*AH9)]7'A S M\/V1Q\(@E[WRF-CEN&'&1B\#-A?LM-\P";9MB[75D^3>S[ MRY\?^^YYSSQ!D'.4I2#)XP01(E&6@-X3P6*M;UU(^\$S<^7R3?1LSGISN$G] M\>;8S](]=0\P/KII_76'QC3E#S,J@>8$QM(.SA?"#=14YA(!(WPQSPBMIBZ; MG_KP:?7M^_[#[6^[=D5W1B@1A#,)8QE+G(@\YZBUF60D$7+VH]Q^K70Y[&;+ MY+4^=0,?3U&GI^B;ZU*M9.]?N M&(V+PT&A!L#G1^!I(,Y3+%6(1] ,6WUN^^&6+A;;AW+9TW-5[IYQDQ9I@5$N M*&*X!,_KYX ZHLX@+\ (S$-%H8(K K^%!L6\U5W=ZOVR@E5J51M M%*7+S:*V+U:[Q;K:/6Q/G(@9)9S662:1)*]L6X9[Z:UC5[%ES/6!>46XS: XJ'1U]K>EY+6Z::3E44QEF4*;!SU#!/:^R M#*FAUD9=,5]MFUK.HJKVFVI?'NH12$)!Q@FCF"0DB64"!>QFY"E(B=;.C_U/ M#_>.*I_:DP91[Y5=U9&#= 8;->-(:+C!/W]+[Z M(7352[/&D]2:V,9J!LFA!H4:2)G\"#R-#,E3+%6(1]!T'KGY46[WJM);79SW M?.Z*$, PX31.TICF-"60'VP28-9LP,E2\%GBP;GV D'7C5='776GAF-):CH3 MM%KC>J.VW>&*JKM*X4>LRQ/?=7B\-"-3G7H?WZ(ZQ"$&=V"CIH> J,<8OFG0>91(J_%?#L,+&ZK-LMRMOFW473A_+N^^EMM9 M"F&2PSB3&! A$IX+00@L9)(4%,:)TLLX-KM(U8>]P%P*Q"0O M2NLQ:FR1S9@U45YIB#; +Y^23X-G7B.JPCV@9KQC\_I97)2?OY?E_IU2>%5M MZ,_5;I9EF''*$*KG[P6G *8$=N8XS8$1Y*R-!"9;YU?4.!;UGD5_4;X9TLQ> M1SV$C2*A&;?LU O"JM?4&0"4LZ#3H))[&)7G!\V=/Z*ZJZ>?L[QH"D&@8))F MN6""X[PW* @R:JCG8.9*#&J]\T A737M.11 2#\DNJ3A:"QJ'3&DD:<^61 M:2 :1++21I=)+X\/="D8A(!A'!,D"2I8!M."R]XG3U:8S7! MLY=1#T6C*&@&(BOQ@E#H-7$&&.2LYS0(Y!Y&Y?DY,ZRDV'\OM^_K6!^VVWKV M]](LS@J,65'P))64JO(SVD\$!2+"J%.>L['0U17*O^CHH NK67,QIK2& MU1=.JH:IQ+B@UE!-AB^AI\$O?^$\K]/PJY,1SWAKL]E=[,WQ',>8R33G B=Q M!A@5M#='.#*Z.-C:R"C\ZAQK-_"=N&6EHP&O0DMHPRE3]<+QZ8PZE[CD(NB$ M>.04QCD.N>MBF4\]M<@*A% B <$)@%0U&14'BQ!F#JF4D9VQLRAW$-D*:I4[ M!=/2,6VZ/I'.:Z2?+%DI.R$NN48RG"(YJ*-?;[!=_9CO5S_*XX;?[GVU']P1 MW/UIOMJ\JW:[]^5^)I(,0TPR)#F*)>3U;+2EIKJBBL6Q635":&^"URKT 9QL MH.\BG;*@W4VD HE^4:'\>A.]-VU -L)0ZI8[3&D438LA1AG 0!43CKH/UE., M-:;3H/N(\;ZHQ1A7:;-Y='5WORV_EYM=X]^BNBM_VVS+^7KU]W+9^_!AK7>VJ>-C6_VRO?&7E;;4MO\Q_SE*24X!Q4J $\"R7)!;LX&D1IX8-)Z_@ MH0F)K-I4G@=2AYI/Y:+ZME&1J6K\;KIZ*D#4*G!@4GMGN?J+C]56;61=8Q;K M=80N3H"O\SQ,@V)75>#LM/N:HV%$NA,7+L*7[@_']!5_I^J MS;=WM5O+=MVXZ;LRDS0E,DZ*.$\!EQP#"G*",E#0C#$FC;:8 KL2F&.G#;Q[ M_R/UO$1]!-$AA*99K0KB31/%8:>E"<1PORKT .K!<4)C9X;0$88M<#]V&\$' MN#S22$Z#WF,%^VHO]Q$TUNX]8^;*N]6F?+LO[W8S"4A,2)ISFC(D\AR0-.G< MD928M1D-YD1@^MNB0P40-1$88C_<:.D!?Q(#98;ZD&,4IM>,I<8#= \^;-/@ M>O@PG[>8&4=7[:Q^7RW^^KU:US+OY-\>5OO'>C)1GNMQGV$$$UG47Y28%Y+! MG.&D[9=(,DFX4;F]/ZNA<_431_\Y:EU5$^C2^,Z(T.IK9M]7$=XPT?:F>9A\ M6E?"H=39^S!,@Z8!XGJ>$ =2SGP5Y&Q]1+]U^';S>3_?-[<>?[@M5IOY9K&: MKS^6V]MJ>Z=.<9YLZT/+90&-CG>/[]U5ZMB>%#@Y MM\.^PI":+I5,<31]U+-9#V3@E1)/>FLMGHP]MA/Y4EPO_E>76*XS$@:G\=7J M_N[C_%&])OW!D?[:&,IAQF*,8280I)QAB"E&<08!%%PPHZ:^CJ8"?Q-Z[Z+. MO9O#R2C3VZ)\2:N'\Q%5-6.SDZ"A3NT/2#6 54\:3X.1OH)Y>8[?GT:&O43D MW?VZ>BQ+5F[*V]5^UQO?+(^G3=1*!\AP1DC. ."L@/6O.@\DPK%->Q$O=L-S MK6F:434E3XOJ3EV:/!\LC@TOM3;:KJ*R,>?:ZZ@[-Z/>SZNT)-$1:YATWB6? M#/;\1W:^ETD ]?077N>;Y7R[_+BME@^+_7_-M]OY9O_8.*96A%O;*8[C) %< M9H"GC,9Q1DEO6Z;2Z&YD/Q9'@N#OG7>FZZE>1-5=2QU;3]-UU-:_J',PZCV, M.A=[8"Z@:N@TNGOK4?1K,\QS3BT53_XH9)GZLVCSLRE< FU(:8PX8R8A@ ML>#U;WK#E!I/75W-C42XK\I%J\S.24NCA&XL&>WRN,Z[JV1O \I<3MI\R#H- M;OD,Z'R*YD\KK6O7.ZMBM2T7^^)A?;M:K]6:'Z]V^]TL31G/$8(DC2$5@H " M@,Y@P8C02L<\F!F)4,O&N^CVZ%X]*]WIWNCG0\YA6(VLI!VD6L>B$\\B/JZ( M!G?:CR>FW;WVEY[,?W&\VGXP_C-<]RC:!*ZX]Q1(Y?V!,N?WY_FZW*F3N:IY M'ZH_$3F,)9=Q_?-ST9O(YZV> M:1F_X:2\;7SP19%B)M)$RD1(24%"4D;B O2Y="$39G1#M<6/'PF7MV7]!,S7 M#3!W:C^_!F;3F*3!I=5LW$A$H]EW*/WLD-EU)')>GV#;:36I* M;17 ^2FTO19&G4I>]H?O5Q9Y2@%-"4B;'>6"U]E>W!L%&)MW.+8W->8>KD6K M$ <-]= RHGQFF&D;?9RY..)*NQ3#0@T R)/"TX"1KV#.==?PI9']=3:]/91Q MCNMT*B6YH 4%($^3WAZ2$,_VU7Z^-LI]+*P8H>G@D#&:RI^JKL0RV;$1SRCG M":R;7>IS?1K9@,A=T6DPR$,<%V^RL5-&.SW:?IMO5G]O)N"\VNRJ]6K97BBX M67ZLG[]^ 9"BN9]E-67']?QQI]P(;Q9F MB<*)__7;>!I!,ZT[C4'U:CA$$1W#N%IAJQ?QAY*/40=W&GP8.>;GJ+ M[>J^?_79PVZU*7>&J8Z-:GKH#2R8&4=;9Y1,1W>N>*SVI38#F',0EMG7]MOJV^ MKLNVH^U%=;V-=4Y77-MQ]BSJ!C7CO(54!'T+;]B/U;'*U M+YM.4<]]:'O_T9B20E*94!13A#,I"]$[D./$:-/-H]G ^=EIE\[6UZY'VYDW MT*V)JOL Z&5O5]+>[#/C4?; K3TNB3B0Z048B6GD?2$">[7+AF?M=,DY8)8] M_GG^/]66K^>['?VYVM4>Q""C-!$92--Z]@R+N.@\0 5!S 2=/NT&9N>%%_?K M8]3X&S4.UPE,[;(A/;T.@AX^KZ6_&3^]2A^$H 8Z#B TQ&A,@Z%!(JO"/\O> M*'JT_WY^5XKJ;K[:S!A-,YC$*4I(7N?!@D"$.B]B'!.C2UE]V[XJ36^>O-#* MZ^@OK=_^D&HW(LY8#3X8/M%J,PYC\_6W'^?[ M M5)T&C7P$\OQH@"]M/&P/OCM<9)AQ(#G*&262,(!XTT>[,TTDPI[V!/4-7K>L MPOYF5S]J.^_WA1'::_W$]6YFU='-;B_/7/9I<,YO2/J[=K9Z>6#?G[;5;C>+ M69)C7">!#- $@2)-8-:;!8G,/'%/S]B5BQ\:)[W13E-?9]+YE]9O*<.PJF/S MK?'&CFUF0D^>:X;AZ#/-1B2P&<]$,XH'&,,_,+QQ..( MZ@S&V+Q\15([@KJ.S^29ZAR@/F7]:.F!N^_+_2S+)2)QQFE"$L9$S"2/>Z.H M2%.37F6.IHQX:MZP[,P[7'OEC9U:8CISTK>.?IDXI.?8^*M]L4.=B<23QYI1 M,/H(,]=(NZOBTV.OL,"DR&LBXA3@F/ 4)P"C!"$J$,4X-VHC;?:C Z=W]/-G M^>6S8==$0W'T?]SQTT< ,!L]O%,X9 MHD@4M!"IX"E2=V;&O2U9(+/[?*TL!*_Y:J_+;J=]_VK#"&/-3% 14BX;8DS@ M@O%SNEPDB*V.4P*)=0QG>>*FB':IZ7SWG6Z6ZG_DWQY6/^;KIGGBGL^WV\?5 MYMM_SMMN$(*/5)S\60V.G]JYI>;I0ORB/?HY< M\JBCU5#)HU>MI_&N>8[I> MQ00RF5(!XY@)W#,@II(8'19QMQ;X'?S\O=KNH_H_O(M6FQ_E;G\W^ *&DE0S M&QA53%AQ2:.@=\R'L1%XO+Z&\O.? ES[Z38)_U#^\VCZJ%4<@6"&(0!F! MDF:4P@0?3.",&!U2-_K!P7=Z.U_&;E![E&#@K;!2:AIO@9WK+QK.6L=O=M_9 MZ0QX5H^9:K*3%(!D&8WC/">';Q1FB5'/,(L?'_B);[N8+IZL<]E<;V8FF5Y6 M&U@MLS2VN\;LZ3+7-6XN.]5C !8.XDT#&2X!G+V5S$$+JV7R&4@$!BA+),H! M89DH).J7XA,60Z,=?;.?''@#_XOZ3YR@82B4Q9JX5XVMM5]N=T_?JP?D#W=+-6JWKU:25(I3"(9P8)"S!,"$L1B MB6EOLD[AC5HH.!D*G&/TOC5+VF7OV/!L-(":>A 934@SIO1NW42-8XV4\BCE MZ/4^0S(-4,>+NM. D)]0GO>#\J>/]I2GO5YH\^U=.=^5S>GF#[>_[=KZHAGC M*6:$)"GFJIPHBS.&>ILIAX71[,?)4NB)4.]15OEWIOJ]LW#KKR4XH3) M]H?4&DK\O:@\C7?,4RS/IP,>%=)N*%+>EG6B<;RR_5B^E^"V8?_H-O)K5I7J_)]7:$! M('F0=1HT\A'(\\8BOK3Q= @!%6DFH>24I(5JI"3C0AS@QV(^^U%NOU8>CGKI M&#-YJ4[],ECN?W:PZPH[9*$*YW7%G<:KY2L8L\)Y,XTL]A!4GXYN?0'#7&() M!6*4\Q2E@@/TLC+*3X+B#8"*8\29"(*U<]A&.+EUM*^'H@MYN M@H6*TV",8PRO[RE8*V*VK3#+%)\2D,(LC5E1 %G ?L\B121+S/<3+O[(4382 M[#<0+DMBLG/@50V;+8-K[!1B[[M?_<>'=T)^^OS/D?R_O[W]\M]F+/$W+'JTNG05&X"9=]&G@3O_856!'U9K9#X_DI06289I# 3""2IH*B6-C[D6,[J"S,%, M8"SV!^K61P\-SR&Z2&@,M)#J62/L^L<27U=(#UFVLDX.4M:!O(XE-VU,#Q5\ MG#^J>NN^;"3-$DHPR[(\K@$()2ID/^%C*4JLCA,8F@@,H,-!@OO6+<-YFJ5L MFO.V\(H9SN-ZL3J/KE4$=E:7H:F>FY#3P(QK$*\("% P2E(.U1T,,"/U=[^S(G%AU(;<]&>/ M542Q;?UIFP1T]^1$\^6/>3WFEG45VO+I?9I#*F?V33Z(UKERG9*)SKA&G82I M8M/@B+7WKU1$V*E@OZPP$ZKV&R:8P)3A7!"(#YO!+(,P-ME=L?CQH^RT+%XN M)KBN)5S6S78-P:MD[FL'UUXP,%HHT-9N&O!P">#BPH"A%G9UT[W9QY/-X#@! M"428@@3'.4A36?^SL\LIIPZUTS;60I=_/*N?UD',"'739Y0:*G/PIO(TWBN/ M\0S64+LK95U'??*^JY(NH38A4BI2DF1IP4'!TWZ*P65NMBG@:FNLR8"JJ+;^ MHCL+:C8=&$-+R^G!28'UD^__]:NLGVJE,85P57D:]/(6S:6B:R>5C,I"3RT= M49DPD@)*9"JRK!:JMBZSWF!*,FE<&VIG)G2&T%0^KJO-MS=-6S5K9+DHJ4>K MD40T U6KWU,T7;-\]*P^0\F5NZC3X)*/0,Y5D_K0QF(!Y,06SV <)[F4,A$H MC1.:X_[,">>B$)9K( 861ED&\< @2_V,UT("2>>P''(MYICBQDW$:9#&,8;7 MET:L%;'@RRS+,!1Y$F.!0 8Q0!SPWH*H#5M2Y>+/'8T19H<#?0]?YT!AM%K]W2O[NY6;;=DU(L9D MS&""*$=IOQ(K6)H8371<[ 2>Z9RXUN[0GCH7_?*^VI<1A+^:\<))5SU^C"6I M&4^>J_G$KY$[XK\NT !Q?,@Z#0)YB>1YSWMOZN@WY>H6@)IJ]K:G?HHS1H2Z M0HOGF-*"$GRT)!-HUHO+_.<')M+!I6BG?+J)TAL 0+3[/M^J$QX/^^_5=O5W M=9MI_8)MJDT950_[W;[^73T8IDVZ+-35XU-H8RB7 M8[?C>J', )!<=)P&B)PB>-%SRU4-D]2HVIR8P2F$4N , X8PCX6ZM^]@!F=& M'0"-?_@(25"UZ7GSO\"_ !C=S[?1C_8M@0"<1]"_12B_(00W*$+X)DY1_R^M MFC>K^8L3/-U$]=_=EXO]ZD>Y?KUSMZ<1T<^D@@V&>?I4C\/U&?5+[^.%\MWV[X_'ZUGZ]/K->9&".4"R'J*6*< MR"0#^<$P)XD1J3R8"\RNHX",K*D9@D[D5-Y% MM9R=?S?1*9Y&KOJ_*-D H3SJ/0UF^0SH^8$ WUKI;.E$X MO>]=E+>KQ6H_XX(00($@A>028QK#PPU$ A33>,C@KVA MIER@YN?]MOQ>;G;UQ*>M97I7[50%TX?;+_.?,TDY9@DAN60)PZ* LO:C]4)B M1$R/)GNU'3I_.WD=J_:&FU.'ZP1$>6Q\DMFO_)J)W165-\SR3D1O:Y6>^-K7 M5_ZBW/VU*:N,JEM5;CGZ84\308=RP$!#,PV$!HONY7'1@"KJPO5E8YL9DQE1 M76R Q&F<4PE(WI>!2I$@:%*V8/'C1ZE>V)WX]4__B!',_ZVYH6,_\@UX+_49 M>.\?T:HS[7[H'Y7DL:!$P P3(2EC7"*,1$9@3'&2Q9?N9/=C M).CJA7(MZGR+CL[I=$<+H>>RJC/ ^K^8JT7"">GZQ*^1]'U&,A5TS:?:IPSE M#9VT9#B#)K_R79=+GF.I0CQ@9MF5VMUK'C.Z7E>_-UU<:B!^:KW8?:E_%OVY MVLT$0Y 4"!$DXH(AQ%+UR\8XH4D"3)9T/)D,O)+S6?+H\^)[N7Q0S=0@>@-( MNXG=N!X=?6_2A-[[2+E?OVYU )HH\ST0>AG8%<; [&,14/X@.9N>H .9F^<1 MF4;^YCNH*NA3[).W^^E/7[/Y(B]F?_\9_@W\_%,V&Q>3?';W]Y__^/"+^F#>O/GY M?_SW__+?_J]??OG?^OW;GVPQ?KC/9LN?S#P;+;/)3W_ER\\__7.2+?[\Z79> MW/_TSV+^9_YU],LOZTH_K7Z8YK,__ZW\X]-HD?WT;9'_VV+\.;L?O2W&H^7J MNS\OEU_^[==?__KKK[]]^S2?_JV8W_V* ,"_;FOM+5'^]DM5[)?RHU\@^@7# MOWU;3'[^*4HX6ZR^N\:75,6_O2K_%UZ5AE+*7U?_NBVZR'<5C,W"7__W;V\_ MK.3\)9\MEJ/9./OYO_^7GWY:PS$OIMG[[/:G\N\_WK_YKI%\7GPJEG\;%_>_ MEO_\JQJ/YP_9Q'W[DLT6V2)^]ZJ)S_/L]N\_Y_-/RRAV_$:&>"GT?]U3?/GX M)?O[SXO\_LLT2OIK(UVQV7*43T_MT8M:;73LX^C3]&2DOJ_42+=,<7^?+\LA MLU"SB2EFRSBXXB#+CW>N1M6VNZC&R_QKOGQ\GTW+T?ZQ^.=H/A_-EH\KX$;3 MM2(3!#GM"UH7=S+)2WLTFKZ9W1;S^Y5Q2I?Q>*MM"_;AX?Y^-'^\N?4/RX=Y M]EL^R^\?[M_'HJ/IN]'CJLX?LTDVO_F2S4=EO;?9:#M0$V1OYHO;AJ>>L:C= M0$/=G2V*:3XIAX4>3I])O;#Y_C-WXNII&N"_2^T*4-Q_B0C&V3O_FKV)ONM]EBY*C39;%6K]G6G)B/,^_E&[GS:U^6.2S;%&CQ]-GZ8SZ,CJ$>+O.[@ M3&JT/;%JF<;C-1OIX#^*8O)7/IW>1 =O_B8N%V9W>1P8:K'(5N[WZO/U;\=Z M?$9378N0L/!L]ENZ%MS'!>$R>QM-X.1EP2=3OEX[JOMBOLS_]:S336J^F8YT M#=_.(HWSIL:W="WXDTZJ2LU3XNAW="UT/:_B[ 8;$6>]Z/@X^E9[;WA_C:8[ M5&M^VU>^Z<[44^;>"@UU9_(0'<_'#]E=.8W_(RONYJ,OG_/QL_DA,N9#?C?+ M;_/Q:+8TL7SLT+Q&QY.;[EO$A$FYW6_M&YA-E><%/Q4/R_?9UVSVD)EBL;RY MW?SRCWFQ6/PVFM_E96-K-NLLULM>#?L6,6VWPWVKHZXE:>@+&A(WHKTLYH_' MN_VB8+-?7WN.VEV^V<[45>3.XHUT97WX$GWAT6R5@[2C:8!<^/'R)C=RO#ABK,XF3X*O10(/=K3?D=Y5MI!.; M2>]]-BZBV2^G@/)8;(K:X3?W)#'76_'KZGMM-2YVV^&-W=S;.[T7K7 M=5/B;!74:Z];8K-5&Q^II\T"=-CI54X^'*C74K4U8W#-;H,;CXF$5 M4U;7J)_62H<=+X\MQVHVL?GT89E-?L^6Z\V3=]E\%?%4;\.GC>_J$ 0SSR;Y M\FVQJ!\FG=QPA^(].T9H5+K][78H7+,CL,>1&-V.+/^Z,F"-:FE_NYT*]VJ5 MT*R,1YKO4-1S9_WTMOL3LNYDG=QTAR(V*5,#0CR_!B773OZE+V8 MH7?5F\[GWU4K[U_)\OX59"M)=K76<$_CC-]L9U\VV'!_HV.2%Q,W:QCBW3\-GZP*5^V>\Z%RO7W9-^6V6R235:7-:MOFA;C72*MQ+D=+3ZM M9'I8_'(W&GV)>$#Y:S9=+JI/?BD_^07 S;74_[KY.&SZ41W-E,[]P[R\U:(^ M+5;[SU7/IB4UI>QBWF M&WQ;E[NAFH]_*N:3;/[WG^'//\5_NAK\/ H5IAS)2L9'?4 MH02RH>$[-FTPKPW<.S9VNI@]++(S;=R!RL%1I; P0$LFK<;6Q%\JJ95*FDGQ MCV;:FL.Y*W;M"30\;LH.5PP48VDY4]%P1U$%B9BB2EI!-4U@%?EA6-4HQL<9 M]7HWN_RDXK;-Y]EXZ1^FM_ET6D:^E)&UBQT,.5XI4*H-1PA*BJ&R5@(/P*;G M7DN;,L/1'VN&:QSL5)I\&$W+\XUO1XA1%0O&086B6>00.^-P[!JW5>\XARE4 M8%=O*!I M&,WYME5G.-NR[/"P5+B'+'.*4 DU3(N=*OITSNB70)/^-7SI#%< M.W-+5J$D^W8]#KDE!RL&0Q505 *ZPLV;:!%Q)2T00B6P2/Q8$T\K@'=LC$YB MUGX9$3-&1--*);?**P X)96,R,%:AS5[2"5/)M6S\\'+)5536'=_SK KLN-J MCAF<=]1)9B#QP',+I;!\?X #X]:8DO1H0KZM1?G)-:^>JM"O=)"*089-0A+%+7&U@9?(P[<6:[' MGHVL9]]^1!,'I#RSI6#BFDA##(S"6!(.A=2@DA,!@]-LQ1!&?&U-%ETBV=7* M\[?BZSJ#QNSPF>3[8CKUQ?RO6.# &#JCM0"],5A%/PPA)9PA1&&UQ07QWES7 M9KG9.FN*KC4QC!B'LX,;@F5",JL<9<99R1%QO$(6(Z\3+=MIO/OR*F:]@X53 MJQ0Y*>#A1%T,@WF;7^.D\F:Q>,@.F<73&@J.Q?^]8)YM_)_X MH9:UHM/:VEU99R^+NK_Y-,WOOGL68><3]9K*A!@9/2?A:;E54"FE;6F0@4A=LVGE"W19^^)92L:Z<20G/;2 M8(>6Y-EC>]L,Q.^*1;Y. G[4@-2I'AA70"%JJ$7<&R$-IE @$GTXB[ Z[UBA MH4B.]:,/-<(VOBL8_5 A/?>$"@H$EH8* BJ)E!#\BL=\LQI_&9*4 G-G<6VK M3IX0\K.K?. :Q:6+5]Y2:R@JK]OA2C;G46^7';L(;CE3RSO)DH9K5YPI,V67 M4V3\J\Q\^74T74V:2Q.GLL##ODJ-6I'SRR!"@FO:<:$1 7LUY7LDN) M:AG:B^;4V61XN4!I >[.S-/743XM'2)?S,OK"A_*Q_+JAM\>JQN0T89A";6C MRD*,M145HM&PRUJ!1Q>ZC=\LQ9J&NL.H[E4P\E.&P]^S9:W [KW5@O02Q86_ M< C!")OF1-E*4FYMBCN5=#OV\DC5',I=\6G[7$OLZ0'^/"\6@-7>2HOBDLXI MIA0D8BN)8++3G?.+YDL"JMU>4GHN]=&+2<\+AW(344-//)",*8PYEULK*C31 M"5P9_"W81KF2C&TOZ[.ZZ[( B!4 ,>(0!U(SZQVJ5B%$8YARE_[T*[(=WR]J M=@Y*@+4KBKR;%U^R^?+QW72T?B,[.OE?RDV-PY/0H6J!."V%55 8(@%!&KOR M&M9:TCCQVJOWC),7] W"VT]FC_?YW>?ES>T?B_5KLH4I!Y%C\UA;[9O M=N%]=$5=6 EQ0F@D%&LO0?.PVKE2)%D*7/.Z?E?^EA* M-W2T>2*07='@6<* \D'T5X_ZU3@2K]M$8 8AB)&&(.(GH+"<5*L^"IU/,3!# M7U2W&FC1D@)ZH&#].(Q#B?P]84)A8)$@R"OJG,)/]K;;:W,=TZQY)NRG6AKL M79]P?I]NJ<;9YO<5 F5$2:$9XSAB!QWRKIK$-47DFH/$FM!YK1SZ)X)\F:G/ M*('&8\ P\1;IY;K+$QN"D9D+3 Z[CN M-!!3@2&3MMJ]T$[XE,CT 6XCMT"5-$#[VP'7,Z1./.7ZOF:P)9 TPB8)H]X ;V@U61O'DY9LPY[< MVB%8LW!WNHO]O*>UM[)W5@I$2PJ4=-0R%K4417:LDI)*EI(08H#GI^U;K::0 M[L&5JD6EW;(9!C$FW)4IWQ'%1'%1G1H;8WU*)-#I9ZZOGK*].!8U 7(/!*I' MF\"8@!$)+"P"# J 3/DTP%H.&\7K*^[P\LER(K2=704[GL3XM)OZ 2'!.$5: M.ZPA07IJF8U2+1RZ*AS +CK& ":"1,^?(>>I)(L!2G MY_3W.:Z,08E@=W;JL4U-]6Z4QY6D&7W)HT/QK/>'CC^.5H[&5TMEK+5Q&L?$ M$0;X5FHC20K%(/C1.=8X_EVQ[GV9^VR63=QH/HL3]4*-QP_W#ZL,Q#:[S(:*FFHL95$4B;%(0W=@6Y6XZ^S6I\/<[U99%&Q9I&- M_W97?/UUDN5KPL0?7O(D?A3>9G>CJ9LM2SOV+=^UH[VC5% L&B/.+!(0KQ+ M6\NJKFL(DQR.2V'(B4HLFD*S)2*L^V.+^[B^V\."YT4"X-H99ICER DBD+"L MZK1@V*4$# V5 DFZ*QK!L;L5R8;ET2O(WL0?C[S>\:)P$(!:R:*=9)1*!R$B MFF^E,C(EVF?H:]Y$ ]$8J/T<9GWX'$%:J(?EYXCSOPX^2'2X8I26 ZL0L:@, M[-1Q<5YF:UQ+2ZU-R5PX5 /3A.X/'F8E@MPGI9X]:7 BIY[5#$(:2.(H]%Q[ M$6&S"J-*7GO=Z3!;)M7Y*/=P6AI7IS?S%2"3U0'=NVR^DJ+> >J^VH$#A17V M0EM)A''44[_%TT"0DLYEZ'DQ&V17\TCWP+ 3YL$#M0*RB&I,;5QI##TS)GM,"H1X=Z8=/1YQSTU@C7:81R7*5(BHZB VE2;%3)"EK). M&WH^S389=!:ZO;&GGO-TJ%H CADH"> 2ZS+KK&5\*RGU24]HG![W>CT\.A_B MCK?YG^V,KGK^W0G%]A^'L--_5H:36O4#B>1A& "A+$+&>X@TE] K9ZV&P-:* M+1G67K\3+#I,T4&W4GD>%X/<^DHB97AOJ^S6M_>;T/+A_?W3H#US;EC,E\]( M$G][29#X47B?+:JN[=GDWU$J&,:D0-'*>:L,EH91!ZO^4\M2LK8/F1HG*J]H M"L"."+!WAW]GN8 51Q0"XPW5O R6 MKXR:*F:K"Q2[S4.M>D%S%,4EDD"LB33>44LK6:.7W-OFVB -1AN0=D6?%UW= M:U(.E@_8$2\-PE1H%P=8_%.+2C8MDY)1#LBT-*SGHGED>UB5_I;=?\KF]9:B MZ[*!"ZDT4< C)ZG4<8&D*W-LJ%=7\GIS0WK=O^H\"\V>+Z0<9L'0TB;3 MN$27'E$LM3%J(ZL%EJ2\%#+ ::E9YC2);%\73([29W>%4-X/!5 YK#S0%$E$ M#:JD0PJEN#,#S%C2+&\:@71 =T..FZ"Z;00O/6 6($8I1)RPB*JI,(" I-Q/ M&F#.DH;-44LH=[[N,M/18K'9A*J[YGI9)R@"E88<*X*YEQI@6#X_N9:11'&O MRT UO=Y*A+,SK_E9-X\NM%X7#LPIHH$&2ENE,(?&,;>1RD$!>DN5W#))SM?N M2]\Y%=+NG.?_\[!8I\'PQ?SW[*]-!MXX_;Z;%[/XXSB[K[''7Y MBH=" .V\K"035"9=U1X>>5K2>M$XT/U8+/-Y-+N+3MQS5/+9./\RS4ZR6$?: M"=I#RY$$7'!3KD44\VJ+A8:LKX"8"[)8S4+UO]?']R./U0T$&ZP9Q!1J MZ8B44LB-?^$P\:RW2W-=V++&^/#2]VH8]<[.1^;S"$H1]34N55G>ZGU7ABF] MR^*?DV?8/3LOU(_/?MD4G$W4?2GX$?O7QM<%*1154GKBC;98E8%.9(,L0="D M'/PFQ7L-VDP.0!/]3-XO!#^Z4*U1.Y2!;PI2!4G\"3@L%).5W.;J+&J_U#DX MW3>AGDNYN*@U=T@BYQFSW"-01F-64D'I4VXV#S W9]-[:N?B>'EA]88;BJ$3 M4&"I)0*.6%;)1QWO-'BAB[=74U1<,Y;^-$@O)3<3T,@(#[$#AB@'6$1M<]3A M*#))?M0 3Y\;I$DREITR9,UA^S O%RFKF7C-[=4_WJSV8A;N6S8?YXN#]N;T MQH)CP'%MXZBA1 !M=)R'*U3B#RD;&D,^!FJ(86UBW3,#5U\W]NR>6P!^B%8RW;8 M6KOI0+4C'G)HREU2"QB0VT4U5<2DG-8/>=>M75O: O(][+)]+/8$8ZX&Y*=1 MG!_*<*ALMEAI_GT6?>9%OLP^9/.O^3A;X_$^&Q=WLU4KQUX,:/NK@R(2,8F= M-%8K04'YJL(&<28<2HG+'?)62SK7!Z:9SNSV:N(II8SC]N/HVS_SY>=R?1@' M>_Q@]:_ZI<"';/49S05"I,%66VL4ME0#B8"MD"F##1,XF_3NRN YVP':QWF8 MSS^5UR,C$@SQ%;?*3]9SQZI#V73RL3#%U^Q%%U?C9KZ.SOCC2QPF<4:)'W\L M7DPM?\11M%COO^]@7GM?%C TTB,C)(3:QB6"C+-9A92$-H672:^Y#):7@]%% M5]:S3GK\=\5\I?QE%.W3P[(\$_A8K#,Y'S"DB2T'+@E#DF#F# )E1@VMJU4" M(S0M>WW2,S&#)6\_R)]M7^OX*S8O3Q>+^:)ZV/;(+-Y,PT%CBS5#PAIOHOB$ M,%/M*#/M,$GAW@ /F9LRG%T#WY61C(/F:00=,'G?E0M$,\,I-]'@^_*)4^@L M>C+X,LF 7?<93PJ.G6X7O<^^/,S'GTL/5H@4\5JHRB9S F'2%?OZ)SE7S[ISP.XL0&9]O3)ZDN[V-D[?-[*SGQ9_/3T[]'W7^LD_N.W5:6D'7U6+\Y*@A#,"?/P3.^_+QV+C M-&6I9M;I6HN3UOSDLKOOYL77/.*K'_^(UN[-[.9+-A^5[%+C2+SU@U;',3B] ML0"APG$T.*AU!$5@SK&ID*$"]98,IML7BA(8\]H/;U<%PU[ J6C8:\5 M<-':.;>117H)DEZW&SB=VM3\P<7>:9CWAO7'3(Y@&HKJM!8;.H]'&^(D/\>9JM6+&Z M:#)?YO\Z=M!:IWH H$P!Y)@&5DF),1#$;R17WK-K?E&N7R85K2NK*YK^8Y3/ M2K!N9A]&T^SF5C\LXBKJH!NPKTKP6B,FN$6"ENG7+6<&5A+BM,>G!KBC.R@& M-J23KECW!)&/N*XO*OR6+3\7$9ZOV0;5 Q2L53]8QK22U +"I+$$1"! );L6 M.L4\#C#&?U!\;$-!G89,G1P4]3H0A\:E)("81;[:K/UWV]FU>'O&KJ/HV\'#\EJU0_:B.BO(Z\85XY0 ^+: M\6DB2-H4KK\GW/4QQ:!(V8:>.@V$^CW"%[%:]]9]*\?5H5.TO76" =!!"XT MA$A@-<).;>T^ "F7G^H'[/_07&Q*-_W9R"TJF\B9&AM']1L)7' GE/,".0 1 M <:!RC/1U/B4)&M#?Y2RP^V@UA32'RTWAX6+.,"S_.N19Z7J5 ^^?"O=\C@8 M-;;2(.H%J20'FJ3<5*Z_R=.UL6R#&4?)EPQ^?[0K5U6SJ/?\1$_Q6;U N-<. M,V(<(Y*78:Z85;)Z2[O9 O^>:-U9O5X(=S[Z/?P-!DL%MFQG9H:#01F MC=%&6JF1A(!JYTDU@T0/1*M.YML?BGL-J*'_6?;=Z/'L*793-Q O/1+4<<4Q M)IHK1+8FGDN4\M;OT%^+[G66/0__G@U?[/S\(2HS'WW*IRLG^'3;][J- !1$ MDB$O"8""Q/47!7B#P>IQVTXV9WX@#C:CAP[CF+>>SZ.,LF MJ^/PE?>Q [ :K*S94H@& !%+(0/:,($=][B:G R020]_GKN7G-!.X!D"7.?BLE XKP?UVI%KE5!\[/5?)S!:4T1LM MU==1/BTW"\JL-Z-I]B$;/\SKFLP:K00"B(780H*E\0@(AK;[7M9@GW+&,L!0 MG3[9V)@2.B/C,_.^CJU<;QZL-DQ/G,1/;"H(8:&"" ,.581<""U$A0B7.B5. M8H#W.+ND9;N:Z(N;T27^;;0LQ]/CS>UY1O.\%@-ED@)/B;,&0.H-,+#:J;"" MLRM[^*9'IK:CD.%M'36R9124HM9*2CGQ!GD71ZJL#E4MY4G.YNG9,KO=R>R0 MHZTII&=:^GPVFHT;VM$\T%C WD+HK+<6<:@UQD9M9Q<+2$KFFJ%'FW6YH]F< M"GJ9X,L\*>7.5^WY>ULANM86"@RMEE9@AR3#5&VE4SSE9M8 $[:UJ?Y#T_.Y M>'>]KGZ?35?;'D5Z/N!SFPQ2:2LE,QX*KHU13*'JU-]Q2E-,WL5M4+9"S&X4 MT\-.^E.JJ#AE/+V*56_S?$_EX*US(*[K !)&4JE)G&LJJ:%B5_8<4 \\; S[ MX?F$C?B"P0,C"+= *201]4Y"3RL4'+8I-PY.WX(^D>3[#YZ57*?+>QU=-9X^E.[(C^?+"MS+;P/ZZ>(>1 MT X#A(T0B&!!L=W*KN-*,H%W)[\NM>:=FW5X>:Q'UIV&?&<9S8IB\E<^G<;^ MOXDJG=WEGZ;9ZF3_S?V743X_$O];IWH0TD?+#KCSG&B-@*&EG&[3DM!1H=;>8BMC,J#GF+M M2301""F-C-.UME-;QN3CD8NCWQ<,@'GK"&& 8X49ME886DD$:=+E^ &>H+6F M[U=O/R2 ?.:$LI@OG]$E_O:2*O&CIXY]&&>S49S%U;=\UW[:WK*!.PT,5P+" M*$]Y3QAP(J17 YN54RX>A#I>PH#8@:#>BT:![-SI)(5I*;Z6@1'83U(]J[ MC"@HJ&1$5*;GV!YA9-]&8- UG9\OE9]W<:UGV%P[8 M* <)M]H#BR#"6!)4206DZ.U]CY9)=Q0H:Y!S>VE],G+BRO,A-6Y-S<>PP<.&,UUP 1U!!2P!S#G'+-&9L(PNQ MWJ3LWE[0I?I6%SLI@'=%GEJ/(^\\^ZBQBY#>> "4$TL80M&D>V89Y+:R[00* MGG+E_H(BI5NE:>=:ZIO;OIAG^=W,/$3-S\:/'^>CV2)*L7["8_7;=,V5;0)? MG=W&.HV__=Y.1X+!0AF-* 1QKI+6."HJ(A#@W)4%?W=)WYHC9Q!Z[7N4_3&+ M($_S?V63I[=*;-3#U]5SFPLUSQ?Y[.[YDZ^5MLX82>=_66"&0*HIQMXIS@F, MJX@MJ@R:E$C@ 2ZU!SA:.M-=WR.B%.U]-BY7G?EM/GYA LH;)>K&O/E.^(0A MD?!M07MARP2-T %.B->ETUKA:FA2>H3AYNP8X-#H3H=]CXWMS>8X#RZ^N]G\ M).]6"8TZ80U]<^!42FT-+#>A*9,>06HW>%."5+?Q_#_B8.E'D9UM%K\6N,;D M<*!6L)C9"+FFL$QU:IB@6E1R(D*O^0)*5TOKYN#O,=1EW>_M)[U%M[SH1[WW M7W;5"-#SJ$Z N84 TE+I8WM^6%K.?SV(=B.E'WY<;HOXYE :O70"!2 0(Q-LXZ MPKR7F/&-]'&&K+?/MBW^<$+NT^E@H;2"$Z<+Q\VD(H;5X9^K^5P M7J7^Z2*+WU5>2[=Q-IT6JX=_-J_6'W18#]0+"FG!C<< M.BDA0!&VRF0Z9E3*>F;("5*:\&*;@[6SQ6\VG98YWLH4ZO,_L^4J>] Q_NRO M%"3WDG-!#,"."6X!(!5VSA*2DGGB].SBET2>QC#M;";*9ME\5.8J4)/[?):7 M!TQE>,UQ^ARI&2S1BG)(-?=02\"L%Z*2URN8W7]W $O M;E]DLEC\7LPV*\#="ZA3FP@&44HM%- 2(9&'D BVG9M14AJ"(2<>25R+MX=P M9W%RU>NP&WH?VJ)[5398A2&-LS QRA!#!9>TDLDSH%/<8@BNVB].Q;)S?M2Z M^K>C=,#(&(859%K&Y1^*LZ^OO'[O"4KBR'5OZ*:CV=G5T&C^ON_L<0=F;YV M",24H&@D#=-.$V?=5D9 <%*&D^O<&&X:TZYX\T3L,L;<%+/8\8?8]PWSB]EB M?6%I7>[CZ%NV<-^B/Q:UF<]&\\<56E'H<:P9$9^NQ(X:RQ;'P_5:^=8 /%;6 M0,0C5B9%X@WP4D#CK$M%=-@I&*S20A@KI4+640JA@["2)?Z1 M9).N>_N..%&\UFT=67FZ.KEG7Q\@!L[RP= A*<>>H U-UP("OE&-@>\ M%$DA6M>]8=T$GGUQQ>;3A^7!)]CWU B"&5WGV/WU-?HA=UEOS_KGB]N'I:+Y6A6OI9PS.J-:O>O6X3YYXYMQDHKT0YG77[6@H6Q9E<$XT< M5QP:75[$J_# VJ$4WEWG-G@W2'=P*_'I:ON;V6(Y?UA=2K39HU8A$^\ D0PAA3"4TC&)$ MC*"TS@CI$*LJTX=^W BW>K:RW$SXG'_1CR\N^+TMUJD/]..NQM[GBS^/79?L MKA/!X+CZ()K2\CUM2J"1%E2:\!ZEY,X8X+9Z)YPM+D2974W$^_I\)-WPH6KE M1K2Q42- 1T\7<(N,%1M)*03@2NX"#9E"-5A^IK:ZYV6Y35R.\8_Q^X^F-CY4 M+5 -O2-0&^>@!L@H3RKXF(7^RI+9-:/TO4Q*QKE*^+\.@P%:32E)E7$H<^:"9E*+THC5\NSW,>66UCTR5 M!VH%#22#O%PC&6F0U-K%;][(";MZR?X_9\HVE-4S*8_.E ?K!<4 T5(Y;8D0 MGJ,XIJL!:#3"*>') S1PC6B]'I/.PK>S(/?1-%L_(9V^C&@_&\_.(@3+-'E[ X^.$J9.]?+A98<$\YI1);G7 M3J+*8EMC5,J^[ "GPG:8U +0G5)L9Q+(6DY6G>H!&6$5%IQK2;!BY;N0U2:1 M4Q:EW)<8X!WB"_"V6M#:4/AZU/^JUT"02DFJ$:!$"00A1P";2GI"=%=\VP]5FB[AHKF,1=U<(S$#GG=< >$RI%TA25TG'D4\)O!Y@ M%.$%V,!&]-0?"X_:N7U5@C&:4ZNE%B8"9,J!ZNE1LO]I_3K28\?6\7EO MZYK'UW6"AMIH"9W@R@G'RTTH5V>)D$:+SWY:_+7I M]]$MEYWE RO'IG7&(4NUU4A Z"O9#)'7.>6FZ/AE%J0&4!W$E/NV1@;/>@T$ MZQ6GRA#LM2>(8P\J#P:7>9.O+ O.I4^IY^JM'FL7%6T7V?AO=\777R=9OF9L M_.$E4>-'P1;C5?_6S[NXV<1&D'9P M*VA:MT6S\':7SZM^KEFG+*>">*$ 1A@B31VK) "2I!!D@.<*+1$D$=6^-V5/ M?Q9P^XCF&3NX"=\6K/9.>;ER8QV4- *LM[A>79K3EMG:OX(&X>P]O?J735;O M_(VCI7^8EF\SW9@W;V;+8G-,>'N;E3'6V>9%L]^SDV\8-/"5 1-B;9QRC"3& M4(Z@5*1"6!N1DAS\TG:HTX? 0+34U^6>WXME]I]7>YZN23!0OI)(HK:L8]%R M:>(,LG'F)D98[&I=NFPI]&C\.9L\3+.;VY75?OX*:;&LMKFSB5ILQ'PF^_,' MYGP^&\W&^6@:[78TV??QE_)!OJ>/BT6^8M9F$;9::GV,G-!1K#\/!3T-H7^! M.,DDL4I!);WQ!&IO*_TQYZ[L.:Y.F/XR&.L"]=RKEW%8'W6&5DJS 6 &,9<< M66HQ4,P[ )[T#'Z$".J61T2'ZNG+37@:] U?$=Z3^+7ZOF+W]QUP DZI'B"1 MA$?OC#GNI"VS8F$ER]L:Q$O/ZMTN:-N2U+]MN]X5%8Y%LT@Q )"RC7EPE4R M22UK74X>_@S8CIKW#NQSH+VTP"=-B5+862PIYEX+@JBOI#..7>U&\8FZK1>= M=!J8EQB=Y TF)4B88L9 E-,344E(O;FRT_=4-=>-3CH-U!EZMY5(0)QTR7 1;3E7OZYRVB9!VMP0ZL (\2IT: MM0/3E%) K 91R.BS1V,-*KE%=*6O:T'3.)6:A_B";Q<["!R5A,+H' IN4)EQ M?B.GUOK*'E]LRN5I#M'+O@(,D1#$$"^$!D@::0W>&F"J7[Y6#D5!8@JEVF$=O0$B)4"4;5?;*+OZVPY@FD!U$.$R'UXT0A C2.)X,0*(T MPU8_C:FTS>H!\JXI![P3L"_S3A"(_VEKM"?:(T8)H:):N6KH^96EY6F;"+7O M!)T&^V7="7+1ZDNMH($$:2 8-I!M9#/"LNOAVA5C]&A:!J)\ M^)QE=?>7]E4)C EME$:(:>:- I!*6$FH.$C9IQQTF&;:W-80G'T2YNCTM;]2 MX%X223"TVBG&;1QOVYT48R6ZLG1AZ2C3_ET%21T M=);:5R5 "+006"(GD=<,4F^J(6>T E=V>;4)51>M(-OU3N3X85X"=@J'CE4- M@I7K7^\-H4[%6=I!54WV%DF;]Z7-I1)1@N ML-".(;0H,5Q/0U<;#(]2+Z 1A "2 L8/:4*18>42#E1&N#"I15"-8AO[<$Z M0(>^%6Q["^1=S)?/!F;\[>6@C!\%-\OF=X][7*WO"X0H9G0GRJOUDEL3/0R, MJM!WAU52=M)!I[4ZSZ5* J]]E>]UD%X6"00(3ACE#B'K2$12L6W/F9-7\D38 MN>IZI>VS4.MJ_OWWT3POV?P^&J,CZZN718,4R!ML((_^A&04&*/U1B(O.4\9 M_@-\^KRI%54BC'T0X^C:Z77AP '7RKH(BR841;(+5VU7>,BN[?6W\Y5Z@!UG M(=D5/ZKD#$>,QO-B03IB$;9<68V])0(9ARM),-0I-\ &^)I]4P8C <*NR7#4 M4'Q?,!AC#45><&>Q)QXYS*I-[/BAO++K$^0WK(8>L)P%0Z[REB&$-" MG4"5&([(E)/$ 9J*)$4>35A[&I9=&8U3$M9"BXV 3)OH"SD$K%VEW%U+8 2] MLH?PFF!#(H3=WGOZ1U%,RO1)'[+YUWR<+3X43_#LO0"UJU+0#!*M#"6.0&00 MY![!2DI-:?6'(6<0=M @ M)U6%&=,X)0?; .,8FB1BU]AW&V=UR8FXJ>0*"!&7'008QIW$5F]Q]3CEH&W@ M017IK.Y?']W;Y77L42TSNRX:L'*44Q8Q55XX'*7;'#52 )%*BKL8] E3DU;S M+"@[-8*G))!52S_*Y_\^FJYNV!XS>.>W')SC@ ,$,?0J+KOC$DE5P$,E70KU M!GVZT9!IZPSY/O:TMH'<-7>UMN4#U) R:JQ@% CJD)3 ;$>AN]XM\"8-VOEX M#N)N_84]->$BNAQ9(HU%%BK!@*F<9PA$4EZ(0>_$MK1PZ5XEW9,^&OS8T]%4 MW1U1>VJ6<<\@BQ+%A29CQ"*DL)>5 M3-[:*[FGW(Z:CV09/PW:H82#EC'!0ACD#2-&4<4I]%6OM=4I6YP#(D2RSG:' M@YX&WI#"0:%1UEEF4*2Z%9)08F'5AIJEQ .2B$ Q*SV MDF!T6H0 6XD\U30E9&/09[+G#?^&8+R4<% HH.7*,>T=)0AB#X6II ).7GLX M:&VE'@\'/0W)2[ZS2S7!C'D5%RY21U.KRZ.[C:2,XY2]LI//[ONXLWNN26D0 MU$N^LTM57"53AZ%3A%CB#?>LDE3YI"O? S0YS2C]E#N[I^$[Z+ATJ@1"3!#" M"E$<.$TD;),M"$%DUKR2AJ/DBXV M#M!TG*?(PW'IIR%X.7'I6D8A**%<*Z%5E,0Z5#,;3Q\FV>3-[/E!S9X8GO)\YXQ'DQO]QD MT\9)[AVG3',BG;9; M?*VZDNW91ABV]WGC/C72/>-W'[B<1.'#300DK*6, 127KH9(0+CS%0*6P:O- MS-$D)QN%N*]3OK./\5J,SZCW1/2I(1@U'YZ&.JZ@*/'>8(FDY9("NE8;EI$K MM3S.'F)9=B:8UX][7M?0C_M6J?7/'MON1-""6!R]58:E+H<21_&_C2:(%2EI M3P<];[;(V>2W*SI2YB5OEMI2(F6X(]@B;'R9T;&2U%!QM>[><"ATRB[L:=JZ MY%W8*!FC!GNFB*8>ZW*E6$D*F+VR5W^;4?HIN["GX=L5DYI_IY5#[C!P&!F% M()+$$20V" MUH;"UZ-&L%X# 0E N:,8.T\=LG%I"$PE/3;JRM*T-$N($]EV%N)=\6TS7*M[ M?\Q*=!'\T/U@8VHJ?^6%CW7=%750)# MQC!A%4.0".EM'&?5ZDV[.*ROR[*EJODH:\Y"=1#W-SM\&QEP[B P3B@DO";2 M,B@K=(Q'*8%)@XXV&*SUZT2/'5O'AIY=-D)H 1VV1/KH>.@RPUPEHV#NRCR_ MMHE0^]GETV ?A %]>U+LU:$& D=:4JNHLP1)48:NR6K+P6#M4PSDH//#7*:! M/%=O PF%J<1X,]O">7/K\]EH-LY'TW?9_+:8WY?/MS40,W/Z=X4RK)LA+QQB M%G)IH?&ZPM1Y>&4;D4T3[;1XF];5TTE@SF(\S[^4U6YN]<,B8K;H+R3G9GXW MFN7_6DEAHO$JIOED3RS#@#)$,8;98K M\3^#:N6E: >_WT?+AWFDZ\V7;+XV_P? >%TX<,&T9 8H#0S TB#-<"49TK"W M1UV^S/-BGB\?5\=T+>WB=4N-E\]!I>JB"U.Q22,= 7&S9=3&F]G*P)7MG&$Q M]N3BJ+ZE^GNTX]N.)>0XI8U (+8<& ^A<@)PC;3:F&3AH:V74WS7:#X[/?JS M3NZ+B#M4/!B(O8J4<8@#2PVSCFX%0ASU=N6MQ4'(WLR?=YF M=Z/I6N ]^U [2@6F*->> 6@YH:CT0LRVZ]%+Z2TRIT6R-*/*HBE,6Z+#NC][ MMW)>%@D0:,2@9@YACIEPUBA5=9I!WMO.=LM$.%MW12,XMJK\9^0^M-MRN$+0 MSBCND8ARN=43\X9N7!H)@+&]9?2X) O1&+PM\:42M@PI/.)NE$5">Q MKY9H#ZE K.ITG$[!E1J+)M2XPY\X ]*6>7#^"ST"<!\FEPXJQTKA(# MDJ07_X9L+5IB1@JV+5/D_WD8S2/ T\?WV9=BOFLI=J!TT!P;9.,2EZ/R[,(H MC&$EBK539= KX27U M#M,J[56T@!2GS"Y)H1"7-;LT@6VK%/'Y-/O]X?Y3-C_(CJ=B@0,IH+$6 VNM M,49 NPFOE) 2D^*0#N@(N#4NG(UDJS1XG]WEY7;=;/G[Z'Z?&[JK:"AC8!4C M$ E#E6'$Q]Y70C@"4NQ$TK,=EV@GDJ!M>7]C7,SC]+82=7488\HZ$A$ FN)^#.AYCM8(TR2XK?+GX^C;FTE$*+_- MU_$P->:IR6Z37JYXK(FH!106[4<:C*) MVEEL_BJ%A >MQH[R 7@(.(7.>,HADQ1C_&0(C4HZIAU0J%9K)B,=TRXH8N*/ M-_./Q5^'#^%>E0[*6RB(]4X:HC2@$:#*#T?")R52AP.ZZ]XV/?$UGXT/NZR[JP0@M)(*5/"\2G <8$!C770X "$6TB=4I4A0%)DTL [I/U@(3$F!L*^8K:F?Z[G,Q M.[Q=^K)8\,XB0QV4T;(92@TC#FR)2V72:SW7O5^:"&5+//B0C1_*91U$GS[F MR[TAHR^+!8P9)5KH\EU![8C"9+L9@R3B-H4' WK?N 4>)$+9$@\^SD>3?';W MX?'^4S'=0X+OR@0DB-%2 .^X*__P$&\='UDY%"J@MVP3W;?QY M-+O+#IRA["H:-()($\(TX=1I3A AF^3]$BN4EDORNKDF)2APB7$HJ9?0#!HNF MS6*O1A/O^.RX>#1_<5 M#^6=.<2C-XV M1H1XUP5A8(=3/)'T \40-H0OJUN;'WXG$VG96JST>QP%-CS M@H% #A@B6DG(H6'0*ZNV;"JY;1SJ7B_"HI[U^ZJ$J@4'D M.'',*,^EX2C*57G>Q!F6V8T]/ M@M5)P'6H6B":$V69,E!B9(1#U!B!2FU8H0T\.Q-/@]*JQ2);/8WV-A]]RJ>K M1]$V^IH\4U$L\'LQFW^GL6.OVS7V'4%:@C!%@FG*E8HN.M5L@Z/DS%S9P]7- M4*H8AC+J35D-$EH_/C,W?I[]QT,V&^]+('1"[8"\89[:*+B!D#&IB)"5W,"S MWK)0M4S"[OBRC[&-Z:1S+N[J]]%JT%L M@@G[6-88VGVR;+$=C[]E>\+G3JD>,#-.(J_B&I920[@':BLY)+ZW])DM\ZP) M+M3@62+5^X_E+Q0&3;0@3;'-JZ=7ZO1;CK-EV;SN!6F6P$IXK 160$0VE*RR0T>AE5+.$$HZGW*L;\NS: M.:_.P[M/7N&S>+6I52Z\HL]*,8#,(P$QCD[Q1DZM55*:W0%%+_7/J_/P[IQ7 M"=[L]H2DY3WEIY,8IA#TFEG$E7=02Z<9K;"T#J<\[C5D[O:_XNA!>UV-A-^* M6?;XVVC^9[;T#[/)0BW-:#Y_C-U?27Z VT=J!L$%1@IBRH@KTU51HFTEKX3@ M6C=CNN5*T:9.^EP<_S-??OYC5GQ:9/.OY2!>3RT1OF(VCJB.UKDUGZ.W OX8 M:9O^JL"M\E(0+!7GSF+&A*TV#.@^P+# MHF'S>KE W^#=0USKCA8'"=S&UP6EC>(,NG*.<7&&D0A6ZP\#2-(;3P.Z #$L MQ@] D5T-D:>W4=>('Z#WRZ(AK@6BIZ,\@,P"IQS ;COH@4^*HA_0A8MA43-1 M"9VYGZO.[9@J#GF?^^H$YIB,TXOG#$G#*8%"@TI&[W#*+?0!W=88%M&:TD;W MANP96K6LV;/R 6.GH*<>*"TXMIB7:[O*CQ%)>5,&E#U\6$QK0A-=L>Q9#T\S M;H[',SKE(LN2O?#J]67[. MYF_*1\_ORJYO9\75Y]^ORSN_*UCU,7;G90^?QFJ-RX,GM1.PT9()PY7FG&() MA!>;W#94 \-JY?WH$8\Z9N"TAH+'ACB(C(OFSUG%*%);1+112=E>!WJWN&7J M%!WJ8UC&1$TFJ_VUY>2?S [XZ0I[Z @STCT\K7B2*[OI\=I1N!Z MKX75=*V?OCU54\=\\N:_*6#DK96.QUD888"P*!]PVN!4#K8TZS,$LU&;"<60 MD.[*U_TP_IQ-'J;9S6V5;4R-_^,A7S]3N]"/SWX[=E7^U*8"MP9B8P"&3FM M$4-^BXB%H+=; BW.?+V3J^A49YVQN'PHIMPVJ:3XD-VM=E&.7.H[6"^N3HWV MWGDDF74$ET_,\*VLWEQ9K&)[5'C)N09![XQ@ZRX>O8GW7;D@$*/ ,<* 4T1: MXBFOIA[F$$QZ!FJ !&I&KR_9DH!H5^S8,6".&)X]-8+UFDH 9<>"20L,YOW M*J)\E-N4%[.'FF>Y<_O3#/9]YYVW->XV'JH6,*=<.L X@\(+X[F6:HN452DG MJ4E!WM=@3%I00%=4JW9!:FS^!J.ME5(QJJTFR LJ3;4 X%* E(C! 2ZIFE'F MGO.0$['L+,+TODQ3_J^5=FYN7VZ*'0HS/5@QT#B4H!.40E!>:HCC"HE*6J-0 MTA,E S<^K="H4;B'=8SF\UF^S-[F7[-7!PQ/=MP_+,MCAF2?Z^X+85GJ9EGK)MQT;K3JVV.BEN!T]TTCV[4LV M6V3[3B[2&PT,:XL=(DH9[#R02KBM])+P*TNHVA(SBI[4T=64]F86K5"VW1]] M6[+@^![A@5K!4>>19LH(8EU<)7"T67-$.1'D*?N$ Z)=EX0HV@*_9Y(=W20\ M6"\(XJ2(XE+/D'1,,.!E)2MC_6T0MF/?&M%Z/2:=A6]W$;"+Y35]<32O MUJNR 7!@RPT-C23SS J@-JX?(9!BW&EBYZ_9_%/1#VM.U?"KD-O'^4B_ZZ2S-Q/Y]@.?K M_LU@>Y^58S=RXN;VZ87? W:P@=:#X_$_2HDR$#A'L.725+AAYE*2_PW(/>N: M9"_O,'6NJ&$2O!3DXU]%8Y3>M!I M9L"TC5]_, /@>2T&QQ0 #JBHDJ@1IYAFF_?J".)4I)QH#BA[VN51]PSE#)>\ MOGAHSH^H&@Q<>&"A$A02'P5(2NVIJG!R+"D;P(!2K%T4AU,4U,:>V>TJP. Y,,MB.=H5)75F2\$[ MPFATXZ&55AC"HK"XDA$(EG(!;T#IUWHB83=*&5;@S,XB/^3]J!(@>!YJ8,#H02&.\'TIL\(47LE*=C:5.;.*T>G MP3J<*T>8:.$5IQ0Q(:SDAL!MOZ%+RD\](#JNW$D<,!DPI8AF@U" -/?85#EXFI=T?^C6 %NU*^YH8 ".?^O_[ MZ/[X[>L36PI:459F+$1$\CC[6PD1VN"!!4[:D!^J;]0J;>I3LP%U=$7/=Z.X M<%YFDX_9^/.LF!9WCT?C[?95":J\[6.-I )XI@&1"&XEA)"@'Y-P:60H6L&^ M*W9]G(\F62GV\;#?ET4#]EYI93$HD[,(;8'$O)+(NZ1L24.?6+MB4R+FG46/ M/RR6Q7TV?Y]-(_U?0W(THKQ._0"E8U%&##EQ'F""$7&5[,C3E+RI PJ]Z)IB M;6#?%>]LOEC.\T\/I3;?YW>?:U!M7Y5 E>)E4A:NC#<,24IHY65@*I)>51Y0 M=$37[&H([JX(]7M11NE_R9:9NIMGZW<9CE)J?Z6@$+$"8H^E]H0 I:"JUN#$ M*9!"J@$%+G1-JL8 '\ 2\VV-%"MUJ@=F@#.(:R6=U 9"&!EH8ETZ,?(V]3' M-L>Y*JA'OD7%OD4V_MM=\?7729:OB1=_>,FW^%&PQ?BA'!'OL@C\Q,TF-D[K M.\BUMVQ@DCC E;>N?)_).PK)=@PIDA3B.J#-UG8T6S0+[@ ,U#_FQ>),X[2J M&K F7,1%+]= $00\)9!5$@/B4F).+GB9>#ZW6@)^ %13XSAB'E;+D.?16F<& MY.UN+'! [&H3AM X!&V9;JN: EA1FT\+IJK2CYG)3#LF2PTZZ0@''%MF-G=TC6. MU=J>:3M,KY*H?DS>=S6"$AP8%]V]]9.GS"-(MC*B_L[\AA#_65O_>X/O4K!N M,[S*%+-%,;BY#Q6V$ M"EJJJ78B^F=0@TI.X=25Y.9IVK TC^QE)RJ,(T]!83@V !NC6?3KY596GWH] M96@L:D3K)R4J/ W?85P;4 B6U_0DQY H$U' E%5]]DRG[#4/,$2D29?E7 R' MTWAY<;W<+Y P-[GLWY#0 NZ; YM&UB7V8Y[.[]7%[G2W"'=6" M,9 I% $RS&!-D45\DX?'0LEM2L#6 )/' M^6BVF*Z4]X_H!K\]'/U0OY%@I;44*:\,0 3$B=8+4Z$ !>DM0.M2J-4XQ,,Z MDUE-VS_: 8R/ZU96/H0G!14PNJ^R2MBG)5*DEL_>V0%,U(:.7_;G:8WCY-T[C6^W6 L=42: -8G$Z M1D834J6:U](8?,TO3G=-RK:4TC59BT.2O'X6S3W++W\*BYOXF@"ALQASY+E4 MSDLBP>;9^8@D$2;E4O70X_NZI73FG9-B=F@Q5K^1 "1@VD.BO(B#("Y,(-TBH2B^RE>N$CE1= 1VMX/\]V+9 MXZJK^2'N" :..L*QI518*)#=/.X*#?*X5KA79[+6<0X.50M&&2,A\''JHA!H M0,7FM0(*+??\RAZ';D3O.\^ &X&WDX$[>8@"/W[([LH3ZW]DQ=U\].5S/GXS MNRWF]VL=SB8?\KM9?IN/1[-E=;V]OS&^Z>O[[$OI#,WN:@SP?56"YL!@#;RA M7DGGE7*@2A.OG&*U]A"[D?*T05ZC=HA+HR@JA)Q+3@GSPJCJ91+-2-+6_-"3 MUZ3SX:4/WSC>PQ[\:C)9/8(^FCXKVW.:XB;M E0"* *UM@92;I4$4$C$@%>, MT6BXA["/^C[[FLT>LH6/]'81YGG4QI."9I.WQ>QNM98\-0?M.0T'IZATF'C, M*2C?+P *\ UB6NND6ZD#]!S2B;-WCZL#]#M+8U3,QA&E];+E?;[X4S_J;#;^ M?#^:_WDDW/58U4"U11AYHXDF(JZU)!>ZDA@ID9(L:XA\ZX@>KU[0;50+_?&N MZO31$-EC58.@A ,FHJ0.0"X<(K:"TE#BK^S4J3D"'&56$LZ=;>"7CTEOAN#O MV?)H*J.=Y0.2(KI\0&L<74&!.+6N LU@P5-.C"Z"0^>J^N6#!F1J4A5:- _E<7KL>8Q&W8_^ M5_IJZ:E64(:# M,B.(\8Y;2Q0UH)+3F>CB78=9:E3CQUAT-KJ=L6@SH%[UO';&ZCTU Y'<$B@% M, P2A;$'S&_E-;*WPXJ.V'2.YO?DI6X&X:X8=:+9?EOCAMNY308')):2 J,2Q/"DID-D<'AQBZOU*$ MU4##!>3 *L_+1Q4QC5)""+44PE^)L]\=&5YFPFX*^7K\ZB$9L53&4RFU,0X" M3!WV$9 -,@+**\L5TAF!F@*\-W\_=KK\8'27P5,<_F?5 J*(:2()P=1J+P0$ MH/(@O%'XRB[D=6Z;&L1^V,$EFRK/"WXJ'I8;P$VQ6&Y]DE5BYM]&\[M\M@K2 M+V/O=!;K9:_BSL^(2SGZ7'33/:W_TG1;WQR<]!)P")CSE% -#&1QFD.&0N0U M\SW>('R?C>,(R*?Y)H/H)B!Z=O=N7MSFR_+":CD6JPG[8_&4%RR;'(M^26\\ M",N8 PP3([% 'BE#584<,+ZW$/CN7F;NGY2O%A,=:W6HQXF Q@F"6LP4L1YK M1P1V:RDPD.A:R M%9>JT%I'BJ=!V=V1(HI6 J;D W>X\43T/Q M3MU6V##FDZ3-'$-=Q.L)@@ MYQ13D%/J.'(>R$IBC^CUSXYG$N#4VPFGX7Q9MQ.P9)Y&R*!4R$*,D1=F"YI M5_9,27.JKG4[X31P6SI%?IO=C:9NMLR7CWLFNQVE N!(<"^I!&4B^[@@M@)4 M77<,=_O>7K?WQ7N8Y-(UT!)YUOW9.U6]+!)B)Y'55CEI .':&54>=ZXZCV^\XE:]>*B 1,EP?_?WI7MNI$C MV??Y&N[+RP! MDKR,$X?!""X13(-1%$Q+@ZTO987EO UG6E5=O$U3TX=.!N/??H@7/>6.=X*8MT9L.,ZTY9=T,2<6 MJ_-S[>E4>UOAIG%//S%+]X0DPRF_''BD6'H?2R>2P,QOXZ&+B=-W3/,X"6U> MZ\5E+B#>EH@+I;7%3C$4RH-3RG&US.37$U6.SI7J]YKK*6:X3;)T62@EX$UW M*3_FJQ_SNWS]L7@ _=7ML5.-,F-@4<+<(7"VHW5>A%!N0Z?XODVZF*DGZ9X: M%SO3TE!BIY\R>&MN: MJV6X)V[K''[65Y@,/O^1+XKO"8=#>N^S5U;/M,L8PB*DMZ9(.G!O.'@]QZFD ME&FSWM;>K?N1KSX5OS()NU35<.'2(N$%0_YMMOK?/&%UF9.G&V6!&:P(T];H MZ$Q(Y9W9T<_@M TA:^_I_/*$[$Q/@ZW!^1+P2948S/VW^7*^WIW8_,@O4_)" MRRS&8*4 M(AG@9CHHB,'>5D0K8[K:P?3OSPONU768+%RL2Q*F/;/%R[3\F2; MC#JJ'"6:!F\5?(Q=L[#)].+A-6&@B(I::J. I9_A0A4DX M6*FJS)B>I#QF]7@^^$<*LJ7ZZI7,J]5C%AT/CD?'+#;8L&A(6;[4BA#P+3Z7 M[(XW)[.']ZF#0ADJXPS1)V&.(IBS@.S+KFN^[H/ MBCA5Z7G,8+)6JR!TNAFL2%9+HXA1+%B0UW@A2VE-0+<\K3LAP8MR0IUA/>3T M';_47]>S&$RD9(@C*G87.+VD:E\/BJ8J4:%2.L.>9?TP^^,W\#E7\]EB_2[? MO;5?YZL?^;D3V\N-,^FM3B?FF"(?G/$1^%9*KH%QMW5RVPD'3DWBKD >*IH\ M#CQ5)EV#C[$[M:O-K=.M,T4H&?WGALGE%4[#.M[@^ X?K==)7[6+C]^J8N,&"&$ MBAX+ZKS3EED22Q0TV*Q?-5:H2HZ3NP"=XC[ 1'^;S];Y&A:PV?(.?*/C'>4W MW[X#(.\_F_OB^VZC9'VG&!D[N-B/MH(%>/IA1@6R%"FPJ8&#J69!8W<(UP37 M;,12PL<=[=V(/\R_? 70?U_O:\^?$?!LNTP;[;6S =8/&A3S4CI2RJN9'_0A MX=.#K'[F=%-U%_V!.I0K]W3,;^>S3_,%&-#*U#FVR(SC6K/(*&:18(H%)PRG*I\*!\L0I!JI#CQ;>9<"X@$1 /G!$KG! $ES(YC]J\ MW9A@0IV.N-$6QJ&H4842#S(8Q<#N,>JM8X)R8Q41I0Q,Z3:)*>OGH'BT_3=I M*C2%;YRUX]D2^"%/3XK+?_Q[OOIV[AY;W:XRS[05GMED)2VG"FG$CHA0W<9G M:95I8-*$ZAGEP>*0WV:;;=KG>_2,^&D =:WQB:4<1V.XTZ!@PI2B&BF"A)4\ M4.0KI>KI2Z+U.L]/P/VWV<_=F]0]A>[3@]4('O!L\:]\=BZ/5?-.,ZPIE2G3 M093$A>!,X.J 5)16WEBRJZ8T>;&@#(3W<$Y(!8'\-D\B_/V/HBT5'WK*HN(J M.$4]K,<:5F<6B2OQT!RU.<^:I'9?6;H,("1WQ%"C M,:S_NVP8Y41LY4E//Z@:A'@-8)XB]6*Q;;WV/NHJPP0@UTA;KY!)R8$TQB4B M0MLV'O<$JVB.0+P&*$^2=_,?75F\U%7&&'->*,FI5(""U9S:/2("&4?;5"F8 M?J0W"._JHSPUWIG/H)D.R?>DORP2KW6PF'!C!,&"6T=+;)1IM8_9*FW733"P M#=13HV$'S,NP20_W<91:*B95).FLZ(" CZW2+=1^13SX3FG?9*N)[B3X]?OR M_G":F-^'/^_@4_,M_:DIV4[UEU'$,<,\R* "TUP)BTV)3=2L360QP>?"0S"O M(ZBO[S*0C,A&K$W@*"JCE"11'^3#3NHV*OX1IKQU1JC.Q@IX+OBLV(;TV:'OD1*U2@6)! 4MX ;Q7> MWPL&[<4H1DPY\9IKLZ[RCN1\PTQ;Q0TXXIPB9JT/#@5:2BRMO^WKAI757<'/ M;(SI8%/RX_;[]\7N1Z@S($D3NR[\J[O[QP M?V;]O] B([L'M]XBC9 W0IM@#RF!*$QK6XFD/=_)KOSD^T2+#$MFB,!1!\;2 MHV:!!2]E-$'AV_ 0.M/TJ8O;K5"]O R<8'OYGKSX?-H+O\B0ACUE 8$Y891S M8K0B/%+*#JGI*)6$M-F_FY#;T#5SAD%[$N=9Y>7M&C:J=F\9P_R]=@[ M$2]'N*LSL:?6X1\K[%/4Z28S6A)P,E,94H8<"8:0J+&,UB )#<:M<;OXYWWPMDZ4?5]&GH/U??KX\7IV.LNB0,DQZ!0NP MC0SQ8&6)AG#N1GR?0=G7JP8FP<>F],LBER$H9V&>(6LB98*R4E;I>)MC]@D^ M"QB?;34!GX2C/7(:R#'\;.ZBP]909%7 BDLCY"'=EPU(C9EIZ#5V[3:.09HC MRRH'YPUZRY!R0D5M&":!>H (OW6 X^WU&D=.*4^PH(2I:ST.9%MLPXT2;AX,3Y% WZBVZ M![97LCRO5C9;^")M0YTBRZGO,X:M1@9PFUZ![1 M:BQY<5=NMRFT^IF8(LL_)*+(1T0Y_'7V^\=76/'PCQDB("5AG!.G#=?)!=.' M 7-B1)OW3U.C0'NE%2WA&VK3(_P6S&_YMT_YN5P(#Q]EF@5IP%02'D5T"EN$ M;2F%IOA&CJ^[)4%K&!O?=#"+Q?O-UWSU(?\"6*]/*OKTQQ %:80,4RX(YBVU M6'A4CA2Q:M=ZI[];VJW".X-S*"MPPCEZ6Q9YK1^F')MF6AE!@=,H:.\U8H(2 M7TH[ZI?K-.%BON_S_Z\ MO!M0I[?,6QS30Q+L%;6.(!D8/>)"PFA%&P?E7@.:O'Z"W2/T4]H]^Q5WX[G3 M$F%,+4+26$[005E,,J:K74HQ$N,^FQW#&FC-F4"1!<:E9LA9R_>1*@L$,^]&OP-W M:B&J8A"J=I$))[UR$E$&@1I.E644*E&(A/_*6^R5"5+/CVB*_2AFX>,?M\GY1WA'XOBKNMW>; M5;[9KI:O[8M<;I3AZ+'#BD03I;K:$X#C5N)J_7E>\5OM,62Y! $F1E(9H%B7UI3P$W]H;X,'9TQ7P MDW%*?L'M#$K!40P:G$B'/'(0L;)#5!DE"F,6I#V,M%1.=<&?M\@\ ?>;1BJ9 M]Q%1'%Q9+S4J:_B-Y2CI1_VO^QTMH1Y@XG_<0)#TM5B MM;AW]L)%/39CZ(" MG9]^F('9C)XXZK52\'N)4+DC[3VVN-+&6S\2[3#^D'_?KNZ^IE0EJW0J^,UL M-U^+57K$L,]4>JYF5\4>,LDL^*O2.0J1M(_4E]$T8( X;>,.3G F-R7 \YKP MO8 [U,G8L]'?@S'[D&_FH"6_7>TCGGEQ__$K('KN[+5.-YGT@4FOL>>86F.M M<FC1U1V@ ?Y$Q(@/# *LCS!X"2"UBQ:IE/<[B%PBG M.MJ+8KU=53H+K=Q')A0!%SJFNV@N!HNE5:S$ 1SK&TEOU)8$K\W@'N =8OYN M/ZWS?V^A:8 0:#-V-/%L.%62D9YJDEG+9$1(8AZU%H9:+K B#%%P"I6+E:X M#2+EI?= KWV>,>*,I, F8KS5EC*>ZL'LI/-1^QNYD]V=DI]/V?:8#N;&/1LJ M_/ 3KWXNM /Q4NFO:#*.@4^!&5>EO)Y9VZL-&P[%5_@2S-(1Z3,R=<_%]MD M*"!P:S7\+,>B8+!$ZG*.A8#YC;P ZDS3EYG3"->1N/.VPDWP4TTRJI&,-EJ) M72!**LY(.=L"!,:#)ORY;H/3%-,6IYIWQ8]\];/X_.;;]V*U\=O-_-P9YFM? M9P%69TR"9@3)M!7GJ WE6"4U;4JV3=]R-%!9T36DPT<0XX;_7<8/R@=KJ0]@ MWK7U!CD+R@.DM8I*@ (G$S]4*CURLDVF(02UV$@=$@YB,EW)JH6[L'E-[ M=9\WU(V!'62J?OLV6_U\__G1;8%#^KBTSU@LYG?S$2?ORZ%4F+ZG&V42:2H- M]\PP;G!4A!"NL0@TO>BCM-)>5D\3^!S^E69SI0XRRXCP/"TQS"".$7*1E C$ MT&H_OM74_KZ:%RE3[LZ-ZV>>=\&+YS.]#]"'K-\O-J;Z]V MSDF]C>0:O63>!8U#<%S1P(SAP7.\PR'56$/VQIY_]L"W_L">S%IC9^OY7;K0 M,U]L-_G]NWSS9@E=Y'_+5[NCU?U^=(,5Z414\P#=I9]\J0Q&_9XR)%,-,BD1 MC\%@KX7A$/%'I]-K8(I]D_7H0J&#]Y]=\>W[=G-XBO5LJ&&V2K>LUS!2^.Q; ML=R-]]1V=#<=9\!^Y+7#R"H2B47,4'- P4DD1\MQU^.:U#MA7JN5,)2&&N:G MN53+[6W^9;8(8"PV/T_L=K_R549,RA"HL0_&$YD*>SI2#CU@W:JTZ93)-:#2 MBZ[0[XDX^_&D C5RF#UX?C>GA$:36D]V:[V!4PC MC)4A%Z<9*2+\OQ8@*WT@&X3'T?K'H:3WHAXK[C][EVV)][@SOR7<9!(Z, M,:2L)MA9+\$(BU(6\$/;T.AF35AS3G6A@Z'X],\\%=7,[\V/?#7[DK_;IN1F M$.7O+D*_WV[6F]W;N2\[R,[PK58_F0Y&!0U+@$0&'!4#BT0\8!%HQ:3Q75TL M?EHYYK89V:>61F7L ;<7@IC[_]FN-\FXU^7NY1XSJRQWDE"8O=0&4()$1WRB M=VV2DK6J"/(+B7+W/3""VMR6EG^Q MK3K;FNEC*+Z9Y69^GT8X_Y%_S.]2 >!YOMXG1LWO]PG/'F'X7+C]:^5S]UNZ MZ#^S2!MLE&#,!,F$8HS2!U]&M-F25']M"XVLKLF3%^">F'L52X M1/;RX\SI:#F.D;-4XX,$S0G2&+01+#/(C7C[TRP6Q1\I)5HL5K[8?MI\WBY> M%H'=[TV^6=ZM4HURG^__>\[0M.@V,R80Y8W2UGE+B%0&L1(M:=6-511J0Y?G M]F(XU =;$2N)U)J)F6%*J?1BQBCB;01OU*J#]%P3=V./2P;G7$U\)[,([4IO M["H\MEB#3AP^[Q]W0Z1]5Z1-HLW7 F+N'_E^P^C<0E.C=>:CT ZF5JHP(@E5 MD0BCN0T<_CZ2.&*!U+T #VY-2N%;;#>PWLR_S39GT_H] M_3!C+L2 A6;:"L:M9-'A4AIJJN7([".=VG62J16X0U'E(Z&$H2QX*YWWUI6 $FE(&T>ZU;6$JV%6CV@/Q;LWQW"B M.LE.MLF"U)Y@Z01C00N(H:W11S/L4)N,,?6O"EPCH[J"=J2D,2TS$EA'I9', M6^,HLY%9E':<]C)BU:HH6^US_JND3U?0CG5H7]T&76B966^,2G=H'<=8&BM4 M\*6\&J,V!Y^U#_&OWX7J%NW); <];'J/?FSY:"B52D2\^#J+@3EC89Y'&RFH M %$;00Y-ME]$HW5Y;Y7<;5ZPWYZ*A5[_/% %W72L1/68 MF%(^C,*-)3%LI>$752[:XSEN/C&&,%;,X: X4RZE4HMB/U:)%#C5MW7DUX7N MNT-S*%_@0>I8K!XH^WCD[_)J1O%D>X DY R^JA7=]C/QA7Z NB;'ZD<^.3PXN'2!?:I3EGO"F'LP%A72'I=K8/,VV2""%@B#W:/$,N) M+J4WK)79GQ"AVJJ^& #;:3#K8E[L*LTS);ATEFE*6=141"2"/TKN_8W=?^R: M#K78U@CQAEQ;KS:/> 9_>LXQ^*N'.?;Q+E_.5O/BA*$Z^6UFO4,!>>\MQ>") M"4P.=4= EJAYFS2-$PQK6MJDKF#LE1*'8?V^7'_/[\#5S.]/VIFSWV>8(&.8 M8M%@Y8@5"GM1RH2"NQ'#TH%.B^[1'.SPI)3<+6;K-80GJ9S0I1(?I]IDG#N0 MR45/$,PL38BWI8S&>-ZF,,P$X]J.')RNX!SLFL"C85[T8%Y^G 6 A1N>*A!( MA4 \RTPI%1/BUDIZM-?N\Q/_MI .;EO>5JGC\>+C+)BH/)1LE%Y M. F6#2/!)'"7!:I!/KZ3SDHB1+7B=U=DX%LKN4IYN'J8CG3UID5Y.,UB /L6 MK?18 CXN(E?*AZF\D5BC&Q57+ ]7#](1*=.B/)P-.'#B0W02RZ BN%#^("-% M$&;=-FUJ:[IR>;AZN([$G4INY:FZ6$I@8UW4*MEF3V* ^/X@(8N\VJNE*]KW MZM'@-,6T\76._9/!]?')X&IW)IS?@S8VJ_G=ZQEW*K;,N&0V6NZTMXI0I!&* M($.JEHAIY+Y2,>ZKM2@-5%GT">]0AN6_P.:E*_3OEQ]G*7O+7I"'B]#G+,S% MMIE&)'(>/4PT%1FRQB&5L(2_BDS>N*EI3JF^ )YJ@+LSRC<2WQ+F-7(QXF U M#8QP!^Z#H90+ 0Y%I72-TXUO&=?&114%MH%@J24CJI2.*O/+Q+=5E5RI_'DM M3*\OO@4I0B22(KM<8WTJ "0DMK);8,D\9">P@H<3@=-VTT]FI MP6F*Z76^?PS..4U\X)8'(I-#[/]8"]C9 M7BL?M%>6:FX)%PQ%I-OS;432,\C"_]\FFVSO_S/_X? M4$L#!!0 ( F8_E"ZM%%P;((! -PA%0 3 :7)B="TR,#(P-C(W,3!Q M+FAT;>R]:U?C2)8N_/F<7Z%#3\^I6LMDQOU"5M59(2G4S4P69 '5,_U^Z25L M 9HR%BW)F4G_^C=T,3)8,AAD(]NJU4W:5DB*V+&??8L=.W[Z?]]OQ];7($[" M:/+S ?P #JQ@,HQ&X>3ZYX/?+[Q#0C@(8:SQUPEA^$D#>(@2>L?,=>@YO;DZNXPO(P6;TW2VX_EQ8;;DF6W)?6W MAABJ;"S7-A^GEN+Y]=J7FANNI']??D%VIN2&>UC>/ MIW7DSRCEC\=+Z&BNSOY?0T&?A36ORN[4O;6T7!X M%S6\M;C6@)KDL@9I,]28BW7L$5^FC_1<&$>74?IA&-U^S'0C8(C/#>G:]^\> M3=+\D&87ZWHWO#I,ZE@BZUQ^K0[1P7 \],=#W"1['Z[7W/P]"1^-J]3?9D3P MXW__^OG253Y6C1^CM;&S#Y=K4!HW2)&X3HADR$WO[^I8^>%2G5(+3(NF MUQ3#JQ%7PQHE4PJL89V">:3N&VGQM-6R!SUO6=2+L4?O,+/U@IZ85C4/\N,& M&I@+-RN&=']<8TPM-ZAF^]JUUTOH!E7 )AAL ;*APV(3$XEJC@537P0<# MJ:ZCP>W_-)@"V96Z]Y@.)-.[NV%S__++=>_ZYS1,[QO>EE^KP_[W)@)"(S@G MXW 29"YFU;VF?M7QA9&AEPUJ)+M4-X91DR3*KM3K2T,B_KI-)-TS!N:D>1/:;9!;VLXRRC^YL-G48KI\%!&M6Y1T&30 QJ M!>*\F=^L$1XWJI,_I8D71<-ORXW K$6#!=-LN]1IS+N&R347:LVJXO7)]/8F M&C?<^J31$D,++;>S4)TF26_&H=^ K/)B@P@+KF^;19BYN&R\-U&QVWAC=-%KFY4HOO)A1E5Y:,[?EA-8QH,KVMEY^C-/Z8F6@?38L@#HNU8+YWQQRN6Q0(Y=U^B.+(2WW!ZL&-8&FS.Q9[@;. MMZC#X;"AM^9"7?,FU-9RWM7=X72X-):27ZX3@].&4(JY4*]C&O5+G=5Y5_]P MO\Y$S4 :!^$2*R2[6J]?;J,Z\ZK4,-G%!F/$/+$N+E092_61H04V?^R299L&AP.V=7&HA2&_6:$:4^\E5<&85QC9RO[LRN MUPFW)+JZ:I!OV:4&IVVYC)MO4:=Z&V3!DJ#JDM$]7*^+I9A>A4L0]#2*\F 5 MIE7/C1\Z&.C[]OH\98*O%&S-T2%&NS^ATM+C/-G M@_3U08%)D#Y'#]-D =7/@+J._.-)D]>17ZKS !NF.*VCP\QD6FI/U7ZAT=@['O#<"?76W0*W4AGAGYZD,\IN]?_]D\KJ__;(S7U#A55;2F MSJG*U7.AUO4AZKLOH$+$Y MV[;122BNU4&@23<'M8HY6T-L&*"Y\G%Q-3'TKYL6-WN-X QJ7A MD_K0R?=Q/09S0_^_/\_%A.+@.FI0A_FE!KM^.&Y*[2@NUDK#ADAAL4I='YI8 M%IBH=VZO@R9IEU];YL,U+O;-MZ@S=X+K9Q9_2X/V>G[5*&B* M5IT1P8:2UJ M:(&:]."7__V_?KH)_)'Y]W_]=!NDOI6U/LQ6:HP?[423-!O"A?&(#JQA\>WG M@S3XGGXL,N$^YC>F83H.?IFEX/WTL?AN'OVQ?/9/E]'H_I>?1N%7*TGOQV:* MKLS##J_\VW!\?W01W@:)=1)\L\ZB6W_R*;^6A/\*CB"X2S^93L[?:<9[-_;O M,SI99OIZ;93?\AOY^X1Y8 M$_\V>V(0'BG3\U'6>V_L7Q]8H9D9SQ^FA]3FGKG!4XZ G" (;4"1RR1$TG&8 MM@^__7'XHH8'5J&\?CXPVN[H,C*SZT^N_'%B!I'_\]/'1YU^Q1BF$R M],=_#_Q83T:N89^YX=@(86KF7U"N$':Q)U#92X60XU3#>:[AP2^'&;&TIM![Z/!S#0]^ < H%RHAXPW=]F+S M(&/%62-C_]_ZF5Y !]9T$A8CF"8CPP7G-WX\DSJSH1UG4NXW,AM7:4 <.='M M;30Y3Z/A'U_\^#0^3S.A^3=_/ VJ!SV,U,.*(^IH#&S' YASR7D^ ,P!9J : MZ7,-S4@_ #@;XVQ0;0PRF[^W#9)*#V.;,R8Q$D!3SZ,%?C'P7*$J_GNNX%PC(\N$"[V2Z0SFO#DP= M)\GTT="8XW@,&#F,@)=!B#-12 Y,'*-5Q,/0GFMH9*+().9[3=S"R!P&.-:0 M*P)<+J31EP 4'18N\H#[,++G&IJ1<2G%N\W9Z33-(OK9'H_YB?.XRZGC2N1* M8P]X&KBJZ#5U(<2PFKAG&K[WQ-4/SW$=B:F9%R(X4!1@2G0IYUT;\$JB/-=P MP[/W)0__Q\'H.9E"C/6&%?40UMB3'I7$6*BY)'2$L53)PP"?:WCP"]V@P'SQ M^( K74J0E X%D ;:RK+>>&>-V?5/M?PY>-K;<(>L>3W)#R:A,813^/IO#97 M0@*@/!LRFVACFAL^%*62QAX2E7QYKN%C+V02E3Z=\:/>/."7SN"+!FP+;,QU MC%UB1*7BA'JJU !F&)!5 WZNX0H#_OC8?WQ86TM^^2G+%,@7-V]],UXKSY Y MNLE74K(\^L-9POR'[TGFJ^>7LV5$0ZWP]FZ<^:D?'S^C>-W\._*O232-\V_Y MRNM12>."+G-V?>YU%TV"W*[/?IC]$HZRWZ["(+;RUP6UT6#G^#\?6^I/;\[? M\?'I2\IWW.5>VOQ;S9S&:>9M_I)'(B Z1')V>W5M[H:@<$YS]^80L$/$J[>- M9HUG/SV\;_9#29EEA/JM^X3*1H[?C5 E:!=AV4&J%9D&:4D$?HCHPR/+*Z_E MEIGHZOR@YV>^A4'G"JK3@R[%B&AKT&X^Z&V0"UDH%Q]B^$*YD#5G['8P+J' MDV"D_7AB)&[R:W![&<0;H_8#*8/KK*OY3\5O(_/F[W?C_#)K5C_(GS[6OJ?HUL>%?FVE9GT]8ZC1*,S,47_\Q0]'QQ/'OPM3 M?[R3_+%TK'O!)H7M ;LH91_;'KA%-5P:7+W$?'^)N3X#\_4"<#B_D-"^,;Z^4 M03^[O7#O>6'GA7AO\[V;S;?6$/-K6*$WX;9]RE<5[+UGOX4B?F77K!?QW1#Q M;;)"M4[4VW)=L.O?>34L6U06OY&>%][?KB\XH9K:=T-ZK]QW'_.R=_BVT1IX MR@KO)B-ZGV^C:]X=D!BK6PD]CVPP+M"V]5!.>;?3'-8TZ-Y>>G][J6N3W)L_ M73!_UL *JUO"O?>[!9;MZZ:V%^7;.,D=-U(ZP=F],;Y)8WP];GJ?FM[!6>_> M'J ^9ZLK:SM;R@Z]%;3;C%%8$'W.1P>XXK'-@.="O.V8B1W?I[2F0?=64M>L MI*Y->6_Q[.S4]I':+D1J6V:%JI!.+]N[)MN3[I01*FND]!)C*R5&VY5C7BM-@%R7#ZQ5(+QRZL+E]*Q5++TJV0%&\TF;H[(M*P? MLI73)$XK*?"7(+J._;N;<.B/'TD _:M6VX%Z,YZCQO%4:*\&M!FYWXW:CW_O M)WQ/%/U<;L3R"<]JQ?]#C<>Y#WP67!N:;HE^?V;BLX$=U0YL+W(@YG:^+6> M\O#6?_Q^ON437@[DZ/?S#4WPN]=Y?MD$]R)]IR;\>9'>(WIK1?;+C+1>9^^T MT=8SP/LQP+N+^)?YY3T#[*R?_C(=WQMU>Z;S>Z-N:W7ZRT1Z/\%;*;++'%XU MBNZR)61U[@C2]0V[3XR*+K^&/=PP M2>/P$=Z!$=9=B_\UC/#%SP[.#D87P?!F$HVCZ_L]8(.F0>\K$_2F8V=,QRY: M#1>Q/PI._-M@'SCAZ6"WU$)X\Z3W_L*&_84NFHD]\O=0W/7IW[XVV#^I+!S>]">S*Z+<7VRM-Z:MY@?IU8CJ2T]PRS'0S3F72ZGF&V@F'>/_WNJ0WCFON_&J)D-4&2-)YF SP+DS\> M<8P7Q4%X/='?AS?&8PO,UV]^/"HHM/1)R5_\./I6MGOR\)?P]1;Z1\NH7_'O,O(OX]LW=N3YR9OSX>IFKZ6^ MO0CC&W$?NV==]E#NH=Q#>>?,N![*/91[*&^E@?TTYM-#N8=R#^7MB\8]7:RU M_;$_&0;G-T%0CPXU',;38/0Y]"_#<9B&,VIMFR0H?W6#Q/1C<9BSWX.12LJF M52>V2S@T3>FC(JJU<[I&H=!+IR=]J^?'N;2@YQER2_,$5I,_LRCG$;1D6GLIU$NA]4NA1VDMO13JI5 OA7HI]+[)=2^30DXO@G9.!-7, M:2]_>OG3-?G3QX)V3_[TL:!>_FR+_-F@_?.,B# ^P^AA4G9-).R+2?(<[&HF M>4MA]HJ0:P^S'F8[#;.NQ11[JWK7L+UD;G<-X[UUO2-JOY='O3SJY5$OCSJ0 M^;'!:.,^NR'[$@#<'S>DL]Y^K^[[T$*OYG=>S7=V4;%7\[V:WY&@_M9MR=H6 M)'6&D3>NVW9FC]/6%1'HL;%'V.AWY??8Z+%1BXWWW^:^776D>FSL#S;>N3#3 M4[?^1<#88H?Z92R[(\[DTYCQBR9WAP*J+YOLW0W8K3[Y/;*W9G)7%]L]LG>:^^Y=ICCB[5'^-N%NS%&VMQ"%)XS_UI,[DGB]!_%V:KE2>K% MF;)A?)G^0]WZ_XHF3S#O1).A&6WL%V/UVK)+"VVW0UH8TAXMDO;@EXRV1_.T;4D&/#9C[-GS*Y43\T>L_#(DAYUS\P9KKR^ZE-O_#A( MFCM:7%_QH=-D]"6(S[-;YY\\"K\:W,T3/[OC9'J;G10=>/Q@^;>X :3Z#:<-+YC^4@?O^3)LV:7'H;V'%UJIV_9&!\_,/Q^ M%,_E 5M^/(RC\6/1E[7_$,77'Q$ ^&/9XN.5/TP/KZ(HG41I<&"-P\D?9\OO MS&_+VAU843P*XI\/X(%U%4>W9\%5\O/!" (B&18P@)R1PV]_''K9*P!0CB,) M%8Q*ZDE!-:3(91)BXB&/X@,KC8H'7!C@G ?C8)B-YA 0X$*),:1$4DR([5&4 MWX>PK0$S"C)_13F 9YO_8WPY/OCEIX]/"-95"A*$*PI"K5W78U(P):1+I-(E M!3&@-O*:**@4-"UMX %S.Q>.X@ 4)"$4<%<^H>!SS;>&@@)#0T&&6$5!(3Q7 M:>)1SI"4VB.:%!1D#H- -%'0%?:[XU%,QY MD&-4$5!K#SA*2P$%$9A[FL.2-X@+]9ZS(%H? 6W'%@ R0Q;N*@EM#(@]HXCD M@CPAX'/-.TK )@Z$E1"$ C+'YAXSCR"0*LQEB2U&M70;";@?:J2) UL@X%YS M().5(0.5RUW/)0(AVX- (N:I@H "8JH;#9F])B#D8HX%;>YB1VL,C(K&&F,& M"R&((7>H!ONM11H-&5 9,DAZ$CD>0$P#Y2(CI' )8BZ%)QMY<*\-&4%!14#M M H$\8P0:FQ!2++4K2Q!K['BD9\%:$ /Z0$'L2$](#1!PN4)",05+"F(IC8NW MWXJXB8* BSD*.K:-N8"*,^AJ8HQ!M]3$!&/>* ;WE8*E&"3\@8($(.$IHAW7 M]CPCFQP$G%(^.&%+85Q"7B@15]C3S; 2,$V)\#R0D M\5SH-FKB_28@KX(R MPE8VTPZ3R#A9VG:5,:A+<&E,I--CN [#E,RQH"-<##V-C0$CE#!,@F9J1&)7 M]QBNHZ"$E1"TM="NUIYG4\",=&3*Y:4_@FTE>W^D?G6$5M:T@QQ"H <8H0[5 M-O2P6RAB;!QEHGM_I-:2F7-'7 BE;=N$,(=X%%*DW%*-$,$]U^U9L(X%#4 K M"MK0$$H*Z+F V,S#F1PLHC**.ICW+%@+8E")0>U!!85C,&PKCW.,/"U*$!,; MX1[$]9H85;:,AXD6@A-L%(K1OE0Q/@O+($IESX.UD4%9Q;4\31V; &D(*95- MJ4T>C$&;>*)1#.XU 2'A553&\ZC4F$,MN9W%%9#CE"R(H"&I_=Z*I/@EB:;Q M,$B*KS>!;X9G/H_"K[_\E/_QBS0HUS&&K3#*4!'NB!Q0A40BPK7-3]D;_$IB$_PJ. M(+A+/QT\NO_.'XW"R?7A.+A*C\#=]^+^<)(E*>;?YU\PB>);?_QI=D\:W66/ M_)X],O4OQX$U#,;C\NK/!^ @_Y[<^8^N_-MP?']T$=X&B742?+/. MHEM_\K2WMWY\'4Z*[OG3-)K]$.<=RG_Y%H[2FR,I/S @,:=__G29<]+A,!J/ M_;LD.)I]F*=-]L"\WV9*TI%EFIA^3GX^P!FUTU'V)WZX6G:[>!$F?_XT:[1P M#;_L6LW#OP9Q&@[]<=F_RRA-H]O94(IO1_#NNY5$XW!D_0GD_WUZ-'W(3,7\ MW,Q_+Y\P_U-!PNR7\BWY?"Z\XC&_1*:?5^/HV]%-.#(\\JGD#&J>LLAG&4GK MYCR\>]_@@Q\^NEC=N.,XY\0LZ=33Z>WTRD'X,=<:#W\/O2W9%__5:\\S(:C\PC?C\YOM"N=7ZA+O3YXP&^ M6CNTUKES[?Q^=GQQK,\M=>):^K^=OZJ3OVC+.?WUU^/S\^/3DY9ZC%;N,:KO M\7^I\[\>G_SEXO1D8+D?G \6 L9J>GDOYYF /L<$K^7F?ZST7QWOOW0(;&-\ M[)V>_6K-.EG\-<;2))KD*=7A,#>1,BN0$PAD0.;\$&P\.&5+Y!$["T1S@$&Q MN(D<#QG+^L":^-G6C%$0'KG1,*]=F&T7,&9)D3IO+,1'N\;J!K2T\Q <_O9 MX$?=_F5^2&^CD-4Q+BSX:C5>?/D0%L&]1<9J8>A! -YF@Z)G;5#6;&9*\@HS MLQVU_WBRG@ZT!=9[B8 @51(8XAAAH)%B$-L,*^RH8LD *2DHTW4"XK>I'QN@ MC._/@KLH3IMEA765\5?Z\T%HAID$0T/*:'SIC\=1>AE]SV B.6&?FN3""J:; MF8--3U!K>O6WW]79A3[[_'?K3'\Y/;NPOOQ^=OZ[.KFP+DXM8R9<&%O @M@Z M/;,@_6'THW7J61=_U=:X7N:'C13XL/^G83IL%A)N<"PY??8O_NX!E$T0I1CG8PEE1@ MX;J"*%!A?C RNYY#E9M$=!ZI?;=(#.=GO7:M=>N&]*N?"[%&GA*2(P0I+9VC=ZE M;KG/A&ML;/-:\SOV)TF8;\AM0[V2?5>O%V?JY/PX5Z*=UZ_/QD9:5Z]SU"GU MJW=V^JM5.#!O_YN1N*UGO4[+;(ZD5>3&\HX_:^OD]U]M?;:*XRZJU1O!*16$ M0^4YKDTD<1Q6VN4>LRF0\Y)#Y_ONO7 6C*BA](;?F)E=P%PZQXR<@*)U:8)M;P)G>8?WQGEM]85&K[EE W9C=3T&PX MSU][WG#>@$VV1@"]0/I15&T4(T@"ZG!I8RIYEB:L4+E7D2F(;7=1^AU/AE%L M[.<\X^ \-PRNAAR'.PRUQ7&0W&.)8N*7-K&2,%H(K#Z9\U;S@_!(A* MXUJ]?':ZXJ(NS-3*ZT<-BR,_Y-QO1;$5I>86ZW^F<9B,PCS;QRBO1@F_B;Z% M\RC-NQA?^Y/P7_GW'U?!TK9/TO&'LP_G'RQ]>S>.[K,27.\X*X]19YU$'^JF M8K/1Y&<$#:D$#1 >)D;,,,)6^Y+;?DGH]U0)[5PMX.>+:F9THB9E[K76R8*[SSQU;P/1A. MLP,OS<]&[ ?)P+BNP_$T$]76O\([0^11L(+[NDH [E4C.YBEGG4[)/C#"M#@ MU?X+26S*L*T8(LAFPJ5&F97!/RZ!^VC9(!.D*@[\-X*!"[AV*/RXBJ3@)Z=*!.F89"4 <$@#D;6 MW31.IEED,(VL\V*/A071#Y<_9B+8.&26&J9'[=IP6Q1X>_G>!?Z!48;6OW4! M+=F> )=G.CVUDSN>1H-_QA8_P8^ &C=^;'U-3OGK878?#_AJTUXM?_>S#*4$MM M8.6Y7E:2A,Z\%X[@HZA'*?@*N;=DMH_/[(N=G-2N2M.7S#F> [D'(*?@M<>R.;&9:W2$5C1L 5]D$U<) CR>C;+$AL"[OK>%-8"8R.S3% M:.X@7['*O*2Y%(L?X(]%GV_\Q+H*Q\;)\L=CTR)+E\Q\KW].P\SS,@[795 V M, \NG:_B5HBSU:8BWZ_TP^;&F>4_RGOI):DE@C?S[Y,-SF75K MD1)SFTTT$,*E5+@$(9EE/HOT\>,+Y+%QWQOI0/S?T^BEKH6O2&!?^/HSV!@$' ;IJD! M3EZV(HXFF9(?WUN!4?CWUG$F@ W#90%MUT]]*\N-?"H7JF?,1VC.IJ8E 31# M_5EP/2TJ5ECGAQ?6#QF=^2>$T8>R07H3YLE==UERU[KE0]'?!\0'R8_O@^>Y M]2T,.$2V X4T!I[#N":LW.JB/<%=6)>5\S SV<24\.[QO,=X-A#RK;$?&VWK M#X<&S[&?@3)C\3C3@+6_6H8?#FLO)+=&$)BWQ#.587CKUHS@?I I?/,XHR"S M"..U=1U'W]*;V>4/1O\'>=]&P54XR3=@Y*MD60P<@4]-/%JRH0\VKR_83)\--J,EV:#K MOM;-F%>'ZZ'T=.KIU-.IIU-7Z?2J.-:\AI8M17/>MK&O^'L35T;%=7!X&0?^ M'X?^E3%!COSQ-_\^R=383=S;,'VQO[T$>T^GGDX=+?:WU>*UI8V Y$VN'UTB M4=$RB=JQ_8,;K+K!1)4^ZRDNF-!,*^@B[!&!G:(D,9:$"XSK]\['CI\&UU%\ MO\I:9'YW'N<9EG=GRY*?ZV-%[2U@;\F\/=3W>H]DIK6/3E7S6XC5C9) MH_)XKRV4'34L^J'V0^WT4'?*0CBI6P[JR/QN5!3OPF2>%TMD!><^K),57\L5 ML-V=VA?8NGSNR#? E*!*( MV)KJV5%<@#H4+-H",XK^)2>H4]!STS;!JDN6;62H72W)!,OV-M0:J<3DF49Y .DV*+#)#OV RRE(W'^KYSK(]LRS0[%WC^^SEWT+S:O-::Q)\ MRU+4XN!KF.0NS,2?#$-_G 42L])E6>,D]2U]W_3; M;%-44:4AX\ODQH^#Q(JF:2X[,B%2^:@\%[X=G'AY]KD9XV.@"%BYU$C9&@I/ 4D<#T@#$%KN97.5A*1&C19D MRZEVGI/[M*+V8^ <%[BI:36=A$638L(.C*09AL953XJ%3&/"!/FG^2,@S"R/ MHK1L>/ +$@, Z$ *.0/;;+1O1EN?2-PG$O>)Q'U.2D^GGDX]G7:<3GN<2%P> M-^XPC[L".$0!1!V,A2@C*10[ BJ8W?/RX\;;B 2]NKA9BR4A%ONP>G+@9NHN M6DO.J.A(%_-#7;/#43MWML63D_?* _?^X_<3_7"T7.?Z?&SZ^-_]617MGE4A M1+,# %'G#WE[91W)CIL/C:-?6SW0+T9O/K,T.,=4[\H!:Y0P7XPPM(Z/+._X M1)TXQ^JS=7R2R? :Y?+^H&@P'!'8GY7QM8]UI_+GCM/@MBR,],'R'E:>\CKT M14&A'Z83?SH*TV#4E6,Y-KE\_GZ3O3@J?Y4A63=Q%E3^4R*5BY06%$&!!6#8 M0[(HHDT8TG7-K^V'!-8)W?!('AEV+UX-&!Q'EE"S<8!OG: M!!+9KU ^4-M_&4=M %5YDT\U[WW;9-0\<)7YP4])M/U,J;*%%I=3C07-%ED( ME$6I2,(UT_CM3#DGP PW9F>"W08/M=%2TXT@9\HD_#XKTU0LVB_R;?&+['EV MI>DCN\>S@FKEV'+S4K:YR=.=(=[V^)6;CM$.]#3-J2,($9\UXX";([G+=AKQ, A23!3(*L5#^ETBD.9Q#(02ZR5^?/NM?-A9?0 M!^M7?^)?YPSZD'?HALEPFB197EXF/M7$']\G82Z *[XV[#XJ\JBS-F=!,AT7 M,OKT+B@.D.T9_J6SFB5C[B?'9R>)8Z&0[1'E.8XDME?01KD4"+M]CL'\<)=,L2]>_C*;I[!"#LS#YHV?H%TX:ZI#QL%G: M,$9!1@.)L5;8 -_Q\G3E3+-1CIW6&9I\R$1Q&D?C)&?F+W$T#$89__;<^L(9 M0:\P.'9P"6V?QKK:!Z3$BA1* MH!;6[FO%6;&Z+O8"I[6&HA0L@=10"G.(BBB@( M@)B]8LWM&7L!?K ^!]?&@.E1P MH&E)&VB4Q2O6V9[C4_4A][FL;!=@%/<\^M)YV%\>]92RI7(0-?^#TO-LXM@E M;9 CD&R=1^D'ZS3?K7X\*3:"AM&DY],7S@5&^\JGF>/I28@%1EI++(!+04D; M+#W0OBQE'RS]_2:\#/M%B!=/ 6XEP4ML(W]"A AQ&<$.18XQA:"#9$D<[@BN M6^+/<_/13_M(U0ITQ_497 V[ YNV@2V&'1Z381U;YE!KNP&IRS05QNRA@+E MN;:Q>LK=@)I+S?K=@.T=%= 2+1[F#F82UT&" DR14@YV;%7.G8>HYD_G[AV[ M^H(,[9=U=3,;8KJ_Q=(Y/3D__7SLJ@OM6K;ZK$X<;9W_5>N+\ZYU]8=P8J4W MT33Q)Z-D8 7?A\%=FM4+*^KW6/YM5@$L^;%S_6[:%?(R*,E5^R$;8WC]=L_E MVSW%L]L].5JRW7/)I6776K_TLCYV*EB_Y@#]W$E=R\>ZJ_M3LV3+,KF(/RXT MUK&5C)X1ULL(LZUE)3,\W5_VS%JL6+86>^D/_[B.C0X>9=(WBH_^-!P&P=75 MQFG5GNI6Y^<+AM#["\\U[&TM#YFW_"0)TN3HC>#9 4&QZ^/;F[E\>>6]%XDO MV&$,9]LPLF2S8?8A^.IM7# M(,5XFNJQ"D9@0'E5N!A(ZCH>(,R31 !'*ZU56=;<_?'66\ MHB:C[!]=,8I*'3^.LXK;?_/'T^!)/>.R+NM<&=9I,IJOP7J('XJPXN5%6#$8 M\"QJNKP":QNSN7;>JXOQM<)_VRIP>]&R Z)%5B>%2NBZ@+O<8YAAF[H" %&( M%J4HKDH]OU&T0/D;:46TR &6:*=%R^NH&^AB0E6+7P!%<$4 P>J/JY%-: LH:DE_03X N$WUU7TMM?6.MRK.'DJL.!@&QN Q?#.P)D'Z1NBU MZB%T!)-$S&DV")#'H4&C#3%V/.S1TF6E7+A\ 9,EE<\>B'P2I&M7:D@,<.^I M[JRGNM=@9+P"H]&(+L@S:S15S."GS*M!'J0*O!&,;>E&P@;&"-YI,.Z<;W=L M'+I)&L4-1U#N@R$J*IS9CD+9_DVD 9/8E52 $F>.S;%F3W'V0#T#K_4I.8P' M@-)=,#I[UVT7$,,!>T",IR5P@0.(K0A'GLL18V7XT:48H]40TY8FHGR "=\% MQ.R/FU9L"AL^RG1XJU7X3);0#EJ-!G]56 5A1A!R70YM(!QC)Y8E9Y"#-'87 ML)G/@,H)OV['3:(!;56EO7JJ.ZL+>[]N3Q%,JKP!2HFC"1:N[4!L(T=XJ+1' ME2" +2POO 3!+>E83 9([#>"7YEEV-+VQC4,=/$XNHLH]4-@QUFZY[=#\X'%7+41D-J)6J60#A,4N&+Z]J[@3D!%5IHIR/=<% MMK%)%259)414U,F"B *;<[PB9%K28U0:109[7W$36P':(L"7.+HS [O/TVFS M3-J[+".E7]2KA: %02U\0@Q09ZT(70<* J"Y@CFWJ4P:<0G!'ZR]B?I&HR MTC-:KS/>R<6 M+K&WCW+L5, [:K6VT4L(ERMZ2$/NHP2F[N.YPK!D"[5H=(( M .=M6&Q).W(ZD*)->[)[6-RUO6)E*?G)M34._"2P\E'4_-ESSTX02K\ M<:6-V>D8VQ-Q93L.4WRV)T-AK1<\N >Z?L[(>I9U^_3J]R3(S=2U*4-B ,A[ MAV['5-L6(XBA!P0A#VGF"**% 8^TL3$BRZT'!&$;DCT$KB#MJ2H=)FC <;2&)'9F94.\R"ENLP/$Z[R[*=(G!&X M.(OQPO]>Q%K6Z=5A.4"XS3!+]RS)3L&RJZIO!Y$H0:43)2<.1P)IVR-224<8 M !9(U :@P'T+$MM2B'# 99^FN4T^W5^B:/0M'(_WUNR4J(*8"P 16G,CC#S" MJ 0>+)4=X:X#%QRW&?'6N+5.#BAJ$U&=56'[I*FV&"T$5BG-7-OL7VNK!QZK@(>P MBZGG 8Y<)(S^(LIELTVM'E]<:_-"@ZS@<_@U,P9GY%Z_7P;!@*!^!UWOE^T@ M&@6HT&@CSZ9<.PH([GJ*,6*7$1+'\/]")N6J:&Q+.:(!IKN]]KUKOEFQ;V$C M^Q6V%XK0=/\!BX00 33"GM;"Y4I#"68FJ;%/];)]"2?19+CF'$H,!K+5%,KG M9K6S>G&OU-\.0P]6]8I<%U&7$NP 0:& 1@>6YX @S8 F"^')%T*OK3T%8 #E M)O<4=%\)OM LV[X]!MA7F"I<& W$%=A;K0^6\M<;-BV# V?I,A%4FM+/&PRX[U;U\ZN43 M8%7ZA<<5=(4K*'*HYI)"[I4K4EJZDB^4=VZ23RV94;E\HGB_Y=-J!V3<&KDQ M#M8=?G?_[GP2"_).E?_O] M^.+O^[R.,3M'8QSZE^$XKQCYUL,T]E?/[?# ^]G?N4)G#U5 [_S[K"#>AN)A MG;3/ML?*@G-;[A7S%(%9V(I!3U& )'I(-W=PS?[A 8J41EK8#S/^Y*P OB]X0QZ->8['3YW#>6OX2&\!6*]]T MPD=JP3U$!05LM$M@> 2P&!-E/:VG\1Q MV6)UFX*\GRNW:MW:EN,!)ZTN%74N@M$[8'N*1 2K,OP:4RFQ,72E2ZE6DC)= M9A%ZC%*[SNA]*1);TH<"MKT8TCDD[IPS_+#!,@Z^!I-I4)Q+.4U,E[)?:!L*Z7"HL2U="#ETRFQ> A&@"R[BLYAK:VOE M@!*Y#YCK\Y>&BTM)O2F["%I>@1;;&%'/LP7AW 8<4D+*^*TM'"P7-L1LT)N$ M' TX;Q6YG3-B>W=R7S$HJR,!."5,.,R&$ADD*JZHHV<%(*GC+!BK&_0C#9@' M%/1[7[;*D7Q:;*X];;C%@,.P4GI,<>*Y0G/N0"89Y)XWJ^ /H1:+>UT>U]^ _M>*!H(V*8*[*RFVR>%MLTPPI7>(BZ2&FFI$&6.UA()5>Y;<:@RR&H! M1FW5$R<#T[M=@-'^K X^JC?7.W1+04GGC$F% .9*8PJ$YT"IP.S8;NT)LG@J MZ4*MJSGKTY>7N%@'&4="^+;WLG+D2_=[01^")S+^$30MHG"#'O$(2ZG2)9' M8;@NP6JA?/$J^&DKZQ,,<*M&9/?5T\XNW:U#DVWTH-+R95F+%=:$-XQO7.$; M.Q[C+I8J0SVBKM*Z/&K#LY&DWI)5APVH1D8'$K5:F?RUO/"Z>7UOA=L[ESW^ M:_!/J_WQ+H?"9C8P_JFT@8>4/<._=B#&"_4[-JO:6;:?8Y.9EV-@FO M]X3W W&R.OO (4!@3J2K;5O9@"C.R@-<7:$%6-@.LA1Q;27N,#%@HM42TEU% MW/X42HEN;\,T.UTT*?:&F :F"\%D:#C)^N$D2@,+PA_[%9D%M%)8H15+V^8. M-LZO8MJS/0%X6;?.S7+P%K+MYJBN)B-GGN8OTY??D_!H$H[-\.,LR[T!OE'^ M*&-1_]*(V;9=P<[JR-YYW54DOP\H_C? M_'&;FR?_%<31R$]N,HDJ$$2?=F&IIW<0=P,TK-IM+*%P-&$.Q)XRVHQKA&=+ M*8A@9Z& ^XM \UI'<"=!LU<^7C29Z:]_ Q\ +)!VY\?6UXQ3!A8$(--KQ>\+ MRNV3A?A 2I$K.22RHVL>M0R39%JJP#GM-[#,M;O ,,C78'S?FZZ+>!<5WBE7 MF!M<.PI32(AKS-42[TIRQULXMZB8U'5HR*=1'P%V.HNO4^COJE+=1?0Q4.W> M4IRZ# *$'6%:]2N@XO$)&STKT,7MBP_C[ZV8J[MQEL[A[Y=5>6,V2?[8 MNO/#T6$XL8;^79CZ^WND,V2H AK5&"@(I8:(2T5<%^*RS!41'"SN[ZKH^<60 M\WCB%,2U1Y3KO$)^>R<2^ ! MM7A4SBN U%9*K60#0OM"JMOD,YX%J1].LD*J?CPQ[^ZW2-; D55PI,!!%-#L M;#T/<925VRB+PRF%)5K0:S/ZZI*\:CBVUA1OG-R&-W>Q<%-,$G"KX$5YMMM^W2W)JAR4$'5EI"XS,"5V1YR ML*V%EJ5;B(5G+ZQVS-$^WR/FS%.^V.?\.4JRWY$0UWN0 M^X%)5&WFLHG2F%-M"Z $QU0P8^,6I7@TIFHAZ?O-F&SK<.D! 'UMUKW8X)DO M:=Y$8S,_R>SPP^"?TS!]\VKC)G=Y=07[9,YT)EHJP*#@T.6.K8FR2WUL X[H M0B+=^=Q$Z'P"UK>+4V05#CJQC:NSVKAW;_<5PVQ.?RNA;9="2*DFCL0*S4X4 M<6Q)%[>0O 3#;>W$I!F&-ZFDNX?A?=QMF6<(K:JT5YCWM@YA?]?MN6LYB'U' M-IMS4:450XDE%J[C,B:U PGS6&FC:, )7(@9S&V14Y/1!BV6_)CV=D].>O:8 M]DYN,-^#(,+FA=7.RJ..B!P!JB1-QJ5'74IL1U AF2*,E$F:CM386[8/_H4B MIZW2BYG(H7B3(N=]#:F/:78D[,/O^=^Y[HS#27!X$^0R B+PYT?\EU=DG.OP M,#!S$K?1Y8N;P/*'V;* /[DWK[,F49I907%V$)L5FM=F1T?^^)M_GV0;XV[B$9Z?V MZ87EG)Y].3U3%\>G)^]*NYH>.J?CUUUH5WK_,+\\ZL^N3BW3CWK^,0Y M_55WK<,_A!,C(Z)I8MRH9& %WX?!76K=!7&Q'='R;_/SL7_L7+^G$W\Z"HU$ M6Z%KU6/EJOV0C6;::B)BKO4CRPS,]$4X,29E\7W^<9-,,8\?ZQA06#2YFK*& MP7A<7OWY !SDWTTWA[/O-:.\"&^-YC@)OEEGT:V_8,=^"T?IC?EHQE%JZF$T M'OMW27 T^_#IJ4X^>(@_/,34(#MH#D\4[\#\SY\.%HR&\OU++N'7W=:_[#4O MZVBNA5@5R>+EX6#>I57;!6'ZJI'7B-*+FS@(K%_-A9O$TD;\C/;3S]ZS:3\/ MOS\WZ7L(>?P.<[](B=?%VM;&*O\QG00%]1 ?6%D0<\\E1,\ER[E$9ER2'0C7 MA;K)0LZ#9HVU5^;GT&T+1^R4]O&K-Z+FY[?1:$2(P8&BN M9++DE"I((?&T!P1W""Q+)A.&H+N0?5-RQM.Z:8ND)H J6MR@K04DM@KR! H&Q-@# P M@+S?.MH+D%Z =%. ,%@=I>T)1@$PHL,6CHVPQ+HX)A0#0-S%BF+++9"_MR) M"$<# EM-A>L%2"] >@'2F@ 1E0!!D&(J*"4">0AP3P@V*S$C7>6HU2R0E@2( MY .!=]N%Z>A*SJO'Z41)GMX6%_QQ],8P6B\F.S^^?BYW9WS]7.[.^/9F+O=F M06&F6^_B:#0=IC,=VU>&>FK8P84Y*Y FJJE,/+8\@I9)@^%(8* MX\OT**-P=%72MR3O.H/T625V)EH]U[!S%FZG4-G9_>L["$)950)V&!$>HX1K MSFWM2>K0(KZ-$2:$PU> L+U -\1B(.1NUV/K0;B?(!2P*ELJ'>8 R3V"/=?E MTH::B'*5VF..K5ZI"=N)]2!(!E+T(.Q!N(,@Q!4(N>!*>"0[(8UCKB%Y2!7Q M,',D>Z4F; F$% \D:K542^= N&L!5W4;F=[_R\_YSCB'_O"?TS [PC"W8R%4&H=!8K04^&:>V"T8V_,E\0#"5HW8'HP]&-\1C+(J,4@])@FE MR',,&#VN!1.@U(R.P^R%0VC>HAG;,6?A@/!6SS/LP=B#\?W *&$%1LZY(TAV MRH7T@&<^:PI+,$+L\E8U8SM@9,9,75]9O Z!L>7E2+@FU_/12YAIW@))BAJ@ MP\49PZU..V!M(N#Z)B".#%@ZB:ISFP+TO5?XFC),FREZ_"](WHWU$0&U>Y0C%5GM(.HL:1Y\ !'D$V M*U%,!;'%4Q3GY/V24W>M[CP7 ]/-]F';,?3U0?6WC;4KB,+5)E>,-<9 >P1R MB!VMD<+E(='4YMJ1*R&J1<<8B@%L=:6J!\V6@F8K=!0%5=V)3"-Y@$(70B5M MXCAVF2ZEN93>PMF1S^JHMA(9Z4"R-9B6O8[JX;9IN/$*;IPR5Q+&'&9T&,50 M>8Y;GDE$N0,7'+MG%5A+<,-\P&&KV]@Z";>]V6EZ>A?$?FI>:@7?[X))$B1O M+>2PRS&KO1UX/_O][/>SOY\#[V?_E>%9T%FM?Q8D@1\/;_*3FT?!UV \ID9K04TU&;D5+75A3ZTS0(O9 M@-(V?=_>O=U2][8K*))5"!9"Q@@! @+J8@UL F8!(^H C+TWHJC%G3QTP&@? MD^U1U!44(0CFZJEX0#L.DEP"B!R,%2@3_FS ,*JIUKFR+FHG,L3Q +<:&.I1 MU*/H32C"%8IL%POBV)PB;@O@,20)+]-F159XOP5=U!**P$#"-LLR[$P$M;O. MU'DP'FP6BB^ M4-+8X/'7&84WX%\1.0"L/Q=C)V,Z>X]&)A_0Z$&B 96.XRDIB,9,B5(]4F5C MY+X%C>WY:90-"-CMDD4]&O<5C:*J8PNI,%#$'E8,4\VD1K8NE_X11L["WHY5 M=6,[EJK(HB9]/=L>C3N(1@PJ-&KD(8H)UHAJ6QG;5!)9YKT)@M5"WMNJNK$= M-$HZ0*35VF"=0^/.+<+])9@$L3_._49_=!M.PB3-@YRN8&7 M06N%S.IL"%-:FDJ^*HQ9-(P8#*-@,N/8YZ'+T)1ZPZ MV@!H*:B'LEK.D'H,:0^7?AE73/#%77JOT4DY6$ 7:\X\3CW/PQZ8K?-+5X)V-78[)C@%FZPEW0.[!_:V )M5 MP/8(9E!(C:0#&>:82,\N%RFA;?YM5V.W!&RRR1,;N@?L5ZYGBLXZWD5-^&BA MH$ 'CWG8AFH@1%3X=CA"GN>X0"M&L/:((D7Y=PR(H]5"R.RAJD,9(TO66_6= M#WB[9PD^!^9.U@SI0]4]:"FHSFR0+B,:8O,7V9[M(<1569L50D[EP@;(%X"V MS4IT:"#11C5P#]H>M-T$+<)S!94%8))QHU0A =2S,7+*Q2GN0KV0+/%"3=M2 M]2U ![+=%/@>M#UHMQ.TI (M5EABP9AC-*R-L U<41;+DUQ(L9 I^$)-V]8A M"&" -Y[T.YA2;UP,HQNWWPLV@[&KBBKP"L=;/X3G"F&B+ AXJ@\RH38VK:; M?=OCG+J?HV2MWBTWZ!6MHK=SD:A. ;*S>G8782BJHE?"QMH1+E:.S8W#*HT1 M;)?>*M7FEU?!L,7-GP/4:HV>'H4]"CN"0@:JHEF>1Q00C&0;LCT(M*N\,O5" M:2WLA7(_+U:&;2W&#@!M=3VVAV$/PX[ $%4PE-+-UE>4ED0S!WB<0%' T 70 M>)FO5H8MN91\0.%NVZ2[=B+6:6HN6#^4:Z(_EJ[AP)H$;RVZNHX T*8@^<-S MF"05)AFT.18,.BXW.LB!#E-ER2!&D707MM^<1)/H,2S;V@B:&$J8WY87E12; M3#1>9.BW3');//]C'[K=6>0^!UQ6 9=Z1"*#4Z5=0('2-H%.F;R@&;<7HK,K M +?%]= !Q9N,T7;6ONT!N!T ?%9UBJK:GK0E=:%K>\*6MM94:5*F!TH F+U0 M46A%U;F"4?L2U4DVNEC2J\X>N9U2G7P^' 00LB6A%')EVY0R1,KJSQH90-,W MJLZ6O-&!:-<9[:KJW)L5S()UK,O S'I0NJI6ZG]_>R[O#L:-^%S'TZF9IAE/"F:)'8^!T6[BVP&]/M7ZX M#";!59@V1 3[B)G!MJRP;6,DJ8DJ&S9@VV"V#)39!;77 MNE\6MIU1W-6 61^QW@W\/;?6).!K.E,RX&D&\2K[W:[.&W5OC1"GY*.AY5S+&A$AY7GA1E@1O+XZV>VLR;# M+L>U.R2HWG<-LW-2;!N6]"6H]D C+)1@G@LQYJYI1-$/0CA8KK=;9V%7Z% MG=92>@$8$ $[(<5Z0=4+JEY0O8>@FMO0BS5#$KM*" VY3;3K,%VF83#/6SP' M[ 765DL;&N2 HVZ86]T/@VU=M,NZ"V(KN?'CX.B9V#1>PWE\VR23=V!\_5SN MSOCZN=R=\>W-7+:]G-3=XS]L/PF'&^+F+3/LM]YN1V"NVC*25 '%%:)8(ZF9 MAW098&!*$BR?VNW:CR=F5,F7(#[/S*Z<45ZX(#2[9]Z.1P]F/%ANQG^ ?<7( MO0PF]")E&T0*JQ9>*.>.#;C+/)=KIA1&J-Q@15T;,>>5(J5V >8M(@5\V/$- M%;U(Z47*%HL44447"8#*L[6B$D ;"(=C6>:A*^"BQ=(I*U@I"U'&MX@4^(&T MFM3:BY1>I/0BI361 N>J,3F>L@66U"42,!LH&Y.'''GBH(6M+2M8*2V+%+#; M5LK.'9WJAN-I&HPV)$0Z*2NV2"3,)5NX+A5(0X(\(!WL2H5GR194V.[SL9!R MXC<2#6DU@ZRSYD1O-?2 ;QOP\U6?!.4VH42[T-;20YQXI0W J73T0M+"BP&_ MCEA%F[5<>L#W@-\;P,_5?J*![P/> 7QWP?+[8F\UL)D1V.@%SN1 NM6>;0&S/7LB?7DG#M^WGMUE&IOON M_-9ON9W>7@:Q%5T5^8>)-4V"D15.JI1$RXQY.!T75<7>FI^XMY'571YX/_O] M[/>SOY\#[V=_YR+_2[(F7UPCIU6'8;.&-^*\*LOJ,6F\;,6HP[#P*,-Z=L"? MZ]C:>VIX_U>0=348*4,5_SHHC*O3J]R<3DZG:9+ZDVS8+\XW+(RRUY[(*=%. M&.-[X'WO!; D>P 6X,!53&ME(\HE!9X I4?+F*!B8=WZC@NP,*358A#TL,0>4DP*(#SE*53FF+D&;GBA:EL+&NOO+0(+MIH? MWP.K!]:;@(4K8'%C%V(DB8(89JF;P 9E6H7.JENT;0HN1F;?: KRG0#6_NQ= M6YI_M<_G9B!,*U0ZCHN12S0PB*0>I%3 67DLUX5T(?>A 94EL1? N6X730R0 MZ#>$[618:.]1RDE5IU.ZCB V$(P0#APFC$DZ2TE4=+%.YYM1VK:_Q]E&SIOK M4=JC=,,HE7.;J$EV\KIC.TH#C&P7,E@&.P73F(BUZ-(VG4<"^VU+/4IW$*4$ MXCF+UX8( \(J0#.SK51I2Z5F,O%]/Y6=&F;*.6MQDZ[A]+<1?V8^I?C8/9[ M&\^>&\PXG 2'-_F\'AE>^/,C3H89W\X-=QADY_JU,>"+F\#RA\/HUMQX;UYG M3:(T2*PL1<@\*32ON8[]L77GQVF63Y2:YH:7\G*\OF$UZRJ<^)-A:)H89DN# M6].QY,/"(&=C?SKHQ2$=+"=*"R,F3Z8W_WL3SYYQ9_!T>!D'_A^'_I7IT9$_ M_N;?)^9-'V_B@Y]A@$SW+OWXKWG$9C4?F$>'9J7UZ83FG9U].S]3%\>G)N]*NIH?. MZ=C5UUHUSJ_,/_\JD\NSJU3S_3ZUR]G^J_ZY/SX;]HZ/C'?==>Z_T,X M,1(CFB9_=JYWTXD_'85&BJW0M>JQQ[S2@OPENC+4Z";]99 M=.LO&(S?PE%Z8SZ:<92U28T^'_MW27 T^_#IJ18_>(@%/YB'D!TTAXJ+=V#^ MYT\'"^9%^?XEE_#K;NM?]IJ7=;38JU@5R>+EG@WOTKEC"\+T52.O$:47-W$0 M6+^:"S>)I8WXV=06\ZXZM/LQ[>?A]^_Z%N. M:'W-&#MZ[-NF:\]U^]Q"R0@(&$+[>#)K-_FS7T/N95,OFRK9-'?(U_XM%4B28&]O&@U&[R9R^;>MG4RZ9*-@FPCV>C=I,_]Z;T^&EJ+EA9 MHF$[,[Y^+G=G?'LSERVOZ-!N+^D8 M\RHPS[2&TS@.)L-[*XW]25(4_;3\T?],DS3/U^\WYSPUD?EA#G-DW4OHB^^>4ZZSF45-(!<[/2VGGV. .PUON>JEDFE M-7 955 I:&,@%10EOJ'@WD+A_??&=WM+$W# 9;^YML?W[N%;S!5/(]A5BCM0 MV;;F'K$IP&7Q-((]+A>J$KXWOMN+[\,!8CV^>WQO([Y_> ;@RX3)K5IND:P%<,DB>F3^:WI4AG?"/93XL(> O'M"4HIS(AVC>5.A0=MH#0M,>MJNIC3MPG,KNA]OP2S<$!)F_4B M>\SVF-VHLST73!/4J%@,&!00<,^F-K-G12$A ,)^+S7;CD.-!Z!5I';6;^Z! MMPW DW#^[ V(F/" X3#F#$"I8'5*:1%93'G+;HPNYB $SB.:4K7,VU(UT. M()5"*N*A<@4+ RX7JD!?7NKTXAM)/V[!WT/ M^JZ#?BXFYMC"<02CPG8%LK&#*?!*.]]\)"^.8[>NZUO:]C'@8B.5I'O8][#O M.NQEE81*;4:I,"K>A&K2Y?;[30YD:C?Q! 487_(,.(*.8IJCG# MQ":X7-X67! $7RH?U%<_'&>S8<":&.">/\Q))25F N&=LM)QJV[!,^S11^B[ MH-QW&,.XTO'D%AR[-G1(J>,%XMI]L6F_-@RWY]M+VF.XQ_"N8'@^ M)B=LQ*5P/>XJ1:FK$"V6X9#-/>HZ[X[A%EWU5L\X[3'<8_@],3P78K.5!"O:9WT<-M8;C5_9U=!?'>%/*]B%)_7%MDY\=+VFX7!JBJJR>)[2C7:$\ MB9F#F,.9QJ4TU%IZ"SL75I*&K=8F;G>UM1>&O3#LA6$O#"'$LMJ?S1CRE ,< M+*G&PKC:LV,CM,YZ?8<:] M:SCI/#N--[#\818%]"?WYG76)$J#Q/)C\_,DVV437,?^V+KSXR+)QC0WC)33 MU4^#D7453OS),#1-DM3\D->(_+!P8OF,,D\'O3BD@^5$:6'$],D$Y7]OXMDS M[OSKX/ R#OP_#OTKTZ,C?_S-OT_,FS[>Q.5@_!RT"<;9J58ZJQFE&)=*,%4L MPF/;7! DN\=_1(4U#ZV&_Y:]<2T,58>!Y]A@$SW+OSX^V"\\.[5/+RSG].S+ MZ9FZ.#X]>5?:U?30.3TY/_U\[*H+[5KG%^:?7_7)Q;EUZIEOI\Y__O7TLZO/ MSO^OI7_[_?CB[UWK_@_AQ$B,:)KXDU'R8^=Z-YWXTU%HI-C[=FTMN)V[_Y%% M"6:*))P84[CX/O^"2:;FQX^5#R@LZB+S3HGO^-(UF/Q3F?/[+MW"4WIC69O"EAC=J?^S? M)<'1[,.GI_K\X&$9KUJTQ@?-JWS%.Q#_\Z>#!3.EN"::+\&V+]$-O@NV_\3^ M98VWO>LI]^^5+L*ZE"ZRMI."C?]U:SRZ\S0:_K'G^4'&8XRC;^^7*[1"0L7: MV$&9+F2>L#_.%?P7/QP='D_RSXY_%Z;F]UHBOIAP/CK67K+-W_SQ]#79Q=LN3_8DI[QFQFU_[$^&@>6GUJ]^/+PI2(3$ MP,K2,=X[<>"]EWP%Y00';*YV@\10>H[$CL.5=%PD@2K+&#N8N'#A@*$BXI!K M\D(F'R?)-!@]6>T]SG-?X#_*N_YQ/ENJ*U1]9CA&DVSE3GT/DX=6<\_^-;B] M#.*YI>(D?]G\:O'QB??2C22\[;SJ_JR1KDBZC9X6WLT$EC?DIW1#'O&Y4K&> MYW+F0$"%;6O704"ZL)!'4F:9*4_ET;Q/40B7M8NB5^]GXQLI'M7+H%X&]3)H M91DT=V:3@M)U/6)L(9YMB+ )5JRTB9C4]J9D4!7-SP+YQY,RA-^:/(*<#KAL M=:-\+Y-ZF=3+I-9D$JUD$K0%IT8>J;QZODT]S$DIDX2V]<(^A37)I-F"T6RM MJ#5A1# 90-$[:;TPZH51-X41)W,'Z3!."/9LSFR/B?^?O7=O;ARWTH>_"LO9 MVYV?I/VQ.W)U/Y)2W2;&5GTDE*[.Y_^!4!2I"S9EF7* MIB5,)6Y;X@67*BX]#%83H*T7 ME%)"A)$D3. @"#CD(6P4 4:CM>/K+:M5$:/N*5U5),E^>7IC7EE&W])BG)5K M@:6VW\Y 8DL<'<+)7X<>#S_T(_=JSD2M$ 0(TPB@4"@(,",XY('?Q%$"R:,M M.=,F4+P:8^[LV70\Z7AR(#Q)4'L\CD0XDDK(D&+(8RPB NKJ>J2O76N\]&H\ MN>_( QII[=SQZ-OBT<<2# ]@KH<^/[>7AS._(Y"=/D#=,Z:$4C$(?0EBPBGP M476T'%*(RWBM[W5_LK,G>==G:&OXOIT7=1;W,.%_IN5YF\ M38KJ[/8X+R[3;+ZP#IIANX*H2Z4YU/C081_U^ C/=TZ!0@)%OA_',I DH#($ M$:Y#*X&$8<">(H6'PO);"_5_IT4^2^_^*\?Z1\?ZC];3'O B'.W$W>Z[W3].L0]! MIP@OA"&'E(60!)!+P6+1'/8:"NJO-\7?F]QWLOK0LZTL4;R[2,IT8H^&2V=E M8C;I%9S> T.C0Y^?"T8=SOR.(!@% 6^C43& H?*#&-,H"B2#+,)1;1C[!-&U M3([V3-7R/+_'.K6.< N$80<'SU)MZ);9//V<%E^S<5I)UK-TG'^9V:=8(3M8 MP_FNBWPD>)]>\L&:R(?$TPZ?W_S\W%X>SOR.0=9"W,I:'.C/0LHI1AA!'C(_ M#FM9RWP9^(.1M4X^'D&BB"TTO7.(^30O[\D/>1V/TL ZV@G[KS);O?=[A_G MQ-WNN]T_U$C2CX]H[PBU%<*A4#B$F/& B)#$,0K].I3D!Q1S>%=[OZ^1QR]: MQVJ.%OTU+\QKY7Q>9!<+>TK8>?ZKUNAG\]X<87VW%BGU/NC/'BY;'''R(CFD MZ]SR'.KJRY:XY[@(!R+'"2*D!1$H,*;Z&T$X\56L*.=U'EK( [[>;VA?(.*8 M?:_,_M9CV2HKTO$\+\H_:\JX3(O"Q;2/U3?K_.QO?G['X&?'H$WZ\F7$1$11 M[!,<<2!9I(+:SQX2299"-BLNYELYV9=PJ&HP[/K:WTK$&KE>(F^,71WTOOGY MN;T\G/D=A1AEK1C%(L*0AA!R'C($XY@M6^)ATWOKA<2H$WV''HG^E,Z]S+HU MAN0^&ACZ'.W$7?S)[;[;_>.<^&$'#A[1Q0C!G;B!@'%(X\B/<6";@2_C!C*6 M:JV.38O4-E#0EX=B;T>F4#%BT)V8RIH'@<.TTA^TPW,'OX(N+7_BT\+\M9FE]6#C?_;#PO)BD13-+?//- MF^2+BVGJ_0G8_W9:J/JAY@JHGUCFTVRR?.! .):"5NL*&<1AX,L@5D&$8Q;3 MN#X=2@8H(FN- 9]RI#@:2*\_32.^+_ID_L&T%[0 D\5MA^%<]0&K; M97CK,(=:Q00J+ "!$H! 2 BU?A*H)EX.(K:YF__CQTSUB7 [>_Y%KYEI#MH< MM#EH&SJT$;B$MHA0GT?$CV*L S#V,=QDV\;$[SK8<-/A;9]Y_9 048$]VK" M.:AS4.>@;NA0QSI0YS,9 XUK%%#*A P)KMU+4A'*-I\KT3_4[>]<=1^-!.CS MD$*'<0[C',8-'N,$:+OVJQ!*;:AB"047<:182&I+%3)%Q$NIT.]!SH.= ;.NCY;9T MLBJ^^!=;>[O\W/[L#&>JU>)W5U74#B+PPX?.^,9:QJ3%GD;XW#%T[E]!&:"9 MR=Z?S30\5G]W7S SA#-=84D(*I2U*^6-T^FT_O:O)^#$_JT'/F[^WC#O\^PZ M+;U/Z:UWEE\G:YA\G11?LEDUO&0QSYL/*HBWG]QFD_F5OEI/OJ:E<3Z=)C=E M^G/SRX>[E'.R#!ZWV0SXY/[8YE M]][VJFD-KY5'Q![+(UH1(>M"HM=THC70%$^=NMB76\GX\D:?AQY-[.EPY2CI22NKZ'.QA M1?Q#!3S6_S"TA-S!9L"_"'7LYD'9'^G8Y-574W&?L!J#+9LY1K*Q'>R/T#!Z M'#CU1%ZVH.B%ZQM4.K;!M;K&09@:!^B_=M756X@J"$':)EE^Z$M!(RYE&+%( M^)B *JK 8$SH6C72UK4-T/\'&4IM@QAAVFMTXCZ*&694XIC+#GL7 @/=^YVB MJ(_M^QO'.;]3PT5P$ 2,(AF1* :8QTS4-5PL4!CN%#WM&>)V+V[H-3%DF/3M ML,UAF\.V#K9U"K<"SFD0,Q[S(*(L##"+JNH&#! ,8_E"V+;WZ@:?C0BE#NL< MUCFL.RJL(RW6(2E1+#34^;X$'/M*A+4>QPG2 /A"6+>_\@:*1KC71I4#)70' M<@[D',AU0*Y3PZ4X!XQ)*;@/.98J\*FH0$YAQ>3:&5/[4NA>L+X!CP#P'>HY MU'.H=U2HUZGJ"J2( D4AI#0BH8\EBEA=I*\!$.Q4N6I0KX\"!VH*'(X8G[8+ M-^X#C'J8E E1V:AA?FF.KS+YM*6A'4T7>JF]]/IFFG]/T_K#FVDR>ZD\A*%P MH=^V^^1I") / AD8V!%@5@[FLYR814$5(M"SZ\Z9+X*#MHO3V_, M.\OH6UJ,LW(M5ECW,/S?)_>AW5>X$,(^8X6#52D.0',X@J,XM @#';M !9P: M)R_R8P01C:+:^4$5X1'8DC=MSLRKL>;.[E_'E(XIA\*4G0.A6GEW%>7*;9?&$=-,-V!2&"#_H\C&,..QWS@30(=M(' M8X214)"P*!9<4,:AJ,]))R%7_N:XRSU2>"A,OW,NM6-WQ^YOD-U_?(S?.\W0 MA1"^%O%Q$/@BPF&(@A#5Z<(A"]#F[ID#X/=>_%>E7GS]V>N#P#I[/(><^D*. M>QHZ.-08U)F%3F2XS7>;[_2%O9D'"+1!9X$%HC2*:$P4H@A"BNMDU AS7[$7 M4Q=V4>__G1;Y)"FOS%X+;?5\.&C]_DUG:5F*>'>1E*EAONN;=%8F9H<.)Q5K M1Y0=+/P?$\H[DG(D=1PDM95^0%OW(><2$Y_[D90@!EQ&1.$ZB"=)X*\EIVE0#SX_!IKKGNWV?SJ*IU.O'FN:4%/RYLGWZI/\ZD90ND5 MAI0*JV^5WD)K6NOY.%^K7)W7]D .)5B'<1NLXX&0)!0DHA0+AE4D:!.AV;35E'BK /7 MOVDNK_,HS_,[OOO?3 ZEO-;K.A]40L]Q>?P= APJ CRJ)#"ZA <$21@0 4+ M X5"'B):Y^VJ,.CTBQD^!+Q8C@\<"3LMX@6U"(+: MHR 4BA7Q%6 JE%0)% ._J?YA2L#X%;4()_GW*OG?=-Z0;4UH,X:6O0F]S#8G M=)E#0Q4HQR0W'$DYDG(DY4AJV*;-@5LPA[25;Q0=MHEK4$@[IYJP4,:!"A4. M%94P9G%MCD241>O)#O>UJ/XE+TM;8Z#-DU_SPKQ6SK4!^SV!>WW@3)N2(*\C#&,#9%0THU;?%XC.A:+Y%] ML:]CLT//1%)9D8[G>5'^66_N95H4SR\@>FN^OK[]NH,5!,X3[:C34:>CSI=6 M;$2;;P7]2.LV." X#$VV5<#].B.340@Y7PF3;).!O91?JI9>^\C-["6QXJ'4 M3- YWX7'!S!O!_O#W&M'G8XZ7U8I8:0]WAZ&,:8DB&40 :D$11@V35I( MB !\(:7$*1+]N& &ZFFI:KZ*]&91C*^2,CVT8[(>RY9BK/5OQ@*S@(HX" .. M0801X9KE0$@4A2'@F\_B.5LNW43.)F?I7'/9AM;)V_#7>D'5]J?9,=(CC[V= M-"<793@0-N3MZ3LAY"$@,J":\02-B512&C842F$L*-F-#7MM)+*//L7<,;!C MX+?+P'[G^*Q0^%#($(:0$!""@ O+P*$@DB"J!L# ^_:=(3+R_3X/&G L_5V9.-A9NM\2N>[E^>\-3>N"S(%*P"%D#*((M]DV=#5.!7 M$!X'D9)KK5BW@W"'OL-.F^E]DO;/V]2^[B*?3O0C@F2:S,:IE\R]ORUF:<6- MB(\\0R6[[%]>3-*BF26^^>9-\L7%-/7^!.Q_.RU4_5!S!=1/+/-I-ED^<"CL MZK<:%R22#X *?Q6^+VOK?Z/?2[#&TN):D(9>NG_.P'ZO87'_#12(!>*[L#^#$!!H!YG2R*K;X%]M-^NJJ =1."'%5J%AC([ QYKH9,6?0SY_"KUDK%I9IC,ONO7>;-\GI9> M4NB/-=WIUWPIDJEWDQ1S+[_TM#PSU&+7U0@X[S*;);-QIB\I&^%8OE]=@H%)=2'8_NYDN,;$.B479V&IR> M>^'IV:^G9_+\X^FG5UV[#2,,3S]]/OWEHY+GD?(^G^M__AY].O_LG<;ZK]/P M__W/Z2\J.OO\9R_ZQV\?S_]W:,/_,9MI+2Q?E,EL4OXTN-$M9LEBDFG-L.>A M=>Y?L65!HZ]E,VV$5W]W7S SYLET5<<#E2UO]7%OG$ZG];=_/0$G]F\]\''S M]X;E.,^NM8K\*;WUSO+K9,WROTZ*+]FL&EZRF.?-!Y4CP7YRFTWF5_IJ/?G: M8AGGTVER4Z8_-[]\N&N?G"S3$]M\67QR?_9B]0[$?_C07'3W.W'_5[#OK^@+ MO@OV_T3WLGMO>SQQ]G"<<$O.8X]EJJ\X*M9=$;TFK*^!IGCJU,4]HM+F7'G6 M972<7M=N74J1WVY9IK"'S7]"$OG>R*'-4[$ZITE6>?=Q9G^O4U8V+^+6"^<( MYK (IHGV6Q)I0OZ.1AR-=$&EC99:,K$ATPI3NG%3^TD5//5^-.5./WD_GLC3 M\./)/4V_'$$=*4%U US_^2>!(/]0X8\-=NU4^76 E'*TU&%KH9PR>Y2;;WN) M'>'>;XUP;[NZ?L..=^I>_YX4XRL/ U/S"OW7+L$?1B8)QK M9\584A* *$"2 M09^#4)&(!R'B6H;B* IW+F>%_C_@0,I9Q0C@7LM9!U?'/B@6'U*.W$XI<*^V MO3NEOSVVM6\ CU!;>!I#)@B6*D"$\5@&/F-0XY&^,(PE0_$NF6T]0]% "D\= M"#D0J<(P#26(-2@)BSGT9;3Z2J']0VELQ)Q;^ MB)+#[C?FT,BAT8#1Z)&#'S 6;=TE]0D,(*10*@"!9 1'QE 3B%*A_\=?2D?J MN^ZRU.NJ/WO8DAO!?ONC/48;PS]5PB&;0[8!(]LCP$9 !]@X\X6,!=4_*0T$ M Q$UP(:#,(J@6O.(;PML/:A(E*$10WT>Z38\%>E5 _-[F*>)C]AH5'ZIR<*F M5I;VO&.]YFGAI=6N_].BWR2E%>&!H2>X@?'E8XKA\*5M.T#@J$( !;0![&*! N$YDNC MJ_(0PCC86E[NGROW'^OS<7A[._(Y!>%+8"D\ MF2]\2@$#C,G9'+2+B/3)\L/S_PX* H8J@0^2YREL M^UO&F,1^#/R8$$058#[!FN<9\BD 9-/L6N'PO([9^DY=G?L_@;9_;%D$LK; M*J0XXE!SN9)*<*VCDR#&W*CB4F&A&'N2'^LE^;T7M]8V&2DB_FD"?N=M_M_J%J#(\H# RW!@+'L8]Y'"(A$-)?1]HT, I#H 0(N'Q2 M./I9"L/0HLO#T_ /+:'+$LF[BZ1,#3]>WZ2S,C&;]@I.]8&ATZ'/SP6[#F=^ MQQ#L8IUR#1[C. XE9 @#'C(02S_F@2FSIR@.@K5CLN3D7XMR;D_V.,_O,7.M M2]T"8=C!P;-46\QE-D\_I\77;)Q6DO8L'>=?9O8I5N@.R@)_P/#F(^KW>=;6 M8!UMA\33#I_?_/S<7A[._(Y!UG+2B5@+$02*XP!'@(8P$# 41M;2@'/(UDLC M7TW6.OEXA#DHUG[U;K/YU54ZG7CS7%.'GJDW3[Y5G^93,Z32*PQQ%=7I;MY" M*U_K.2M?JWR6U_;2#26DQ3OM&HAD?J@U;84QA930@,! @X / D! C-F:A\IF MA!B>C_/B//GV>[L5^@/[;7"7_8>0J>*B5RYZY3S86RH)HE/J&$8Q!8&/&0C, M_QF2P!14B1 +&N-E]FE67,PK]_7O-62?YZ'9M%6,..N ]6^:Q^M,P_/\CG?[ M-Y-E**_UNLX'E?1R7#YQAP"'B@"/J0@"H"4$"!4@0+72X/M2DD"K#Z;3@)*< M*QE2]88@X,7R8!AUJH0#$I<*X7;?[;[;_:-5(ACNE(#'4$9^C&",8RQQ'"$; MV L$CCBA\!65""?X]R?X#RVKQC;OL_DTR^Y]7F;;][F\FD.?GXOU'<[\W%X> MSOS<7A[._(XA!N^S-D$\#G@@)%5<4DP$COT($QZ$TH_,"3-RK6K\ON;!YM11 MFPRNU>1?\\*\5LZU(GRQF"<7T_0\_S4ITAYTX =47X$.(;[N>.PP>$P QV-# MY;&CR6%169&.YWE1_EEO]F5:%/W68ARRY^QH)^X LP/9:BY\V$/ MGO,=[A_AQ-WNN]T_5JGOMU(_!"0,32\UIBB$,8%4(2/U28@ 5Y"^D-1WDOK8 MNB5\2N?>1Q?'/2[_IXL7O?GYN;T\G/D=05R"0-ZFQ$$11#@$6KM!D' H8DF M478DEC!@<*W^5LNH-A#1E\=B;^6>*VHTZ7EO/.F0'\/,V>B>$&"9Q['2P^[.A]:TC*6W5 MH8#'$8HP,^??^B$7B(:0:SL3B8A%1*[W<]GN6/@^073GPS-%KPU:''PZ^'3P MZ>"3(-[FXP= ",DQ)81'TJ<,1Y)H^.0JD'' _,TG.O4/G_O/(R(CQIPVZN#4 MP:F#TY[AU&_AU$ M#D??D,_P&?-V,'KD,/I(]Q2"@=\)%0.&E))2"VT*D(HBIC2.!MB741 'Y*74 MTO%X<;V8ZDLG]Q7)]=]+S1P?S@:!L.OPLC=:<\W8G&KK,'EHJBU&'4B&.,9, M S&5F$=:FX7"J+:A3Z0*?+JSH[4'K91R?T3Y,#!SF%JI#6G_Q99M+S^W/SO# MF6J+X=U5%0^&"/RPI_$\],;.BHRU,$Z+#4_LW+\"3T#SE+T_FVEZPID05/!LU\4;I]-I_>U?3\")_5L/?-S\O6'>Y]EU6GJ?TEOO++].UL#\ M.BF^9+-J>,EBGC97^FH]^9IR-#E-DYLR_;GYY<-=.CE99B>T MN2_XY/[DA>H=B/_PX62-_*OOQ/U?P;Z_HB_X+MC_$]W+[KWM56LD7BOKC#U6 MP;0B2=9%0J]9:6N@*9XZ=;$Y,:@*;WI6IA]YFJ%618K\=LORM3UL_A-\/GLC MAS9<8P6\B=F\^SBSO]>1F\V+N/7".8(Y+()I'-*61!JOM*,11R-=4&F=;99, MK,>MPI2NV\U^4OG>O!]-3O-/WH\G\C3\>'*/[\<1U)$25-<#84^OX1\J_+'> MB*$5^0ZU;.)@J<.F-CME]B@WWYZ_>81[[TI;DKFGTK$-VC7E+>*U8T8#\?8S M2#H!V BID"$6L@!%*/8#3GB@3-59',9@S=N_?8&*^ <92($*'W%QV%U+!L7E M0XI\]AK8'&;L\AFAR:'@4:=@3D)"9!CX(5=^Q#ECD)H\92 P%531W?*4^X6B MG,CP!R:.30R*'1*Z'18YG[K%,!18B2 9 JEHPHX?.81,)40 5!B!63\4OI M2*^1N4_ZKHUZ^^>A.F1SR#9@9'L$V#AL@4T2J34K%H>$^HKY&(;">* "BI@? MAFJW_'<-;'WDOV,ZPJC/H[*&IR(=6@-N$Q^Q :G\TAR19;(K2T,QFAHTQ7CI M]XJU2X4,EHBC"4JB A@H&@3#1J%C%-&8<;N2] M*@*E%H6>WZ]Z(/FDBDS9+T]OS#O+Z%M:C+-R+5!5-T;\WR>WE]U3K*K?BL#! MVCD'(/2/H1TI)ZU8Y,R7410S$M 0:K_B4W_+2@4X- /-^O[ZZQI$S)>C3-W M]I0ZIG1,.12F9.T)L C+@60@2G:1(P@()EF2J)"@()PO;WHJS'EOD,99,2X M[YCT;3&I:\K^YN?G]O)PYG<,PE.@5G@2&(01\;7XY+%0C.$(&(TV""+ &0N# M_0G/?@2> (<@\(XD4_GDO_Z9EG/]2N,'*O2O13:>IY.E+RB;[^+V.<3L9-$Q M.F/F4Q1@'&M^C(&*E2\TBZHH!F$0^!P\R1]TMEQU>YF\38K)IW1^>AGGQ66: MS1?6:3-H]Y!+(3S<*-)1GY4J*%TR/0,X@*'$ 2 J8IK[(3>1940!]YD4ZBER M>2@\OW-2C&-WQ^YOD-T?RR01O"U!8I+&$8A!'$$A*.=N-M]M_N'JC$\HC#XF'8ZE,:Q M)!@@'PJ%8H D- 9"H$3,1.1OSM#:A\*PBX+_[[3()TEY9?9:((@^'+2&?VC9 M7)9(WETD96KX\?HFG96)V;17\*B_PNQ=T/)U EUN*UV1?BW)NS-_R/+_'R+4>=0N#80<%SU)M+Y?9 M//V<%E^S<5K)V;-TG'^9V:=8D3LH^_NAI"\R(K1/?[MCZ@/%YR%90

7 MAS._(Q"V%)!6V/I2$0H9930"(@*82&$/-(J!R9I>KV!X-6'K!.0Q)J%8^]6[ MS>975^ETXLUS31YZIMX\^59]FD_-D$JO,-156"6L]!9:_5I/6OE:);2\MI=N M("$M"CCHU! 2A;6^K4*@< !"3$*- BJFE&.BQ'H=DTT),4P?Y\5Y\NWW=BOT M!_;;X"[_#R%599OH%>TS+]N%KXY#&SA,A!"M#UN87E(JCG&$8T$ X1$S5<8H MY"$42/D-0F3%Q;QR8/]>@_9Y'II=6T6)LPY<_Z:YO$XV/,_O^+=_,XF&\EHO M[/S5TUZV 8\7:0?CL,-AQ]"Q X(.=@B?0!R$* A#7R"LT<-4?7$LI.\#^H:P MX\52:/@(]7MNH,.2@\ 2ETAQA!-WN^]V_VCU",:6>D0D(^.:P"1@<8@Q0;XP M>30AB$@8H "^HA[1M^SG3O8?*L11A 'P?KV7, MW==YV)Q::I/)M:+\:UZ8U\JY5H4O%O/D8IJ>Y[\F13HP;]I#U>TIK,O;\M9JFG]]0S M-+*+$9\7D[1H)HAOOGF3?'$Q3;T_ ?M?OXM7O\U< ?6KRGR:399O&@H7=WIW M*ASY'%( 91C$2HDHC+#IC!! $ JR?F)=I[JX:I)0]?'<<,2RYN>!'-(A1A#U MVK-[9XK:C3I>6]$Z9!?P\S9Z)X08)G'L=-+\LZ'UK2,I;?6A@,<1BC +F 1^ MR 6BH3F^#",1L8C(WG/<.IW\*I;_(V*(8J MB%$D$(DC:>HO?*8HBN(X>B$XW5N8 _MLQ$FOIV\Z''4XZG#T&'#TL:8L#+:% M;% AI224E,;!4A%$;,-I+$OHR .UL(<^])+Q^/%]6*J+YW<5RK7?Y5W6'"8[3.Y+MV6X \D0QYAI(*82\TBKLU#8VF*?2!7X M=&=/:P]J*>7^B/;;V?+ U%(;T_Z++=Y>?FY_=H8SU2;#NZLJ( P1^&%/X[$_ MJH_OCJ"S(&,MB]/BSH+M8X3\SFK9GU=%\XR;Y$OZ[J)(DS_>)9=Z1#\GT]OD M>ZG?])>KHIY,8MFF5)@JK:@HH)#"@ ?4A]BF9A _5C00YIYD915>9?'O?>/Z MZN^)(!\C@Y<8V8;LA^SL-#@]]\+3LU]/S^3YQ]-/K[IV&T88GG[Z?/K+1R7/ M(^5]/M?__#WZ=/[9.XV]4'[^'R_^Y?3WST,;](_9S)M?Y8LRF4W*GP8WNL4L M64PRK>#W/+3._2M:%-"BW]Z?S;3Z5_W=?<',B+GIB@(!0:5%6OCVQNET6G_[ MUQ-P8O_6 Q\W?V]8CO/L.BV]3^FM=Y9?)VLZYW52?,EFU?"2Q3QO/JA46/O) M;3:97^FK]>1K :>EWC2Y*=.?FU\^W!5G)\LLJF62GL7 >W*LJE=P_,.'DS4A M7;_^@:\>^J[WK[:[;:!50^*IK".V3\+DCU7TK:A5Z_I1KTF::ZRYT\PW8,;G M[)OW=_WQ5>E%FHDG;Z=B;)][_V@M[Q[V?GTE=E._]T8J)HVR6CW$32XE D>> MINVHY&$JN3_C=IAIR7M1%:E^D,MS'N?XR#]T&^A5(D3)E+:.?T1JX %D#+(8E\&$2 J M\*T[#,5!I"1^8J42 GU5*A$P(KVFU@XVV>"MHYEC\,$QN/!=*:(K1>Q] 3K= MCQ?>-YL'(7II?>O.KU-/K MD([U@_6?R;@Z+ES3@[,@G 7A=K\O"T(,%EI4>J/A)+,]T+QD-O&2:]/1_-]] M]*3N50%Y44'.2%N-[,>^"N. !)3&6%%J XOL;8>58044P1"H(U?$ :*2((JJ]=7*(1K M)S#LQDO]Z^',= \*4,5(UG[C:B^>+U(;DM&[%$HDA&AO5:Y#8X1#]#,JX\<:KQ% MR;?:#72T>BE'+=,I09$282"0+R'Q 4:0UGIIQ&(,[S+=Q]FX2#7/J;3Z]^.L M6>#*AWMNEO?9PG"[UU\8' :YU.G\"3>Q"+FB=!KV6D@^/)0TL0#*^2V9>TU%9? M-P^@+--Y:8-]TRRYR*8V)\#[SS\)!-$'[\=%F?[DE?FB&#]V ([K$/_FYWWD\RK %[TIAT3%4M=R-PT"%%$LI<2 Y(Y44QEAR M!;;P_C1+?K9<\1=1DB$?"=^%1)R6?(#\R5HM.: 049]H-@T8 !Q%$:^S!D(L M@*3]\.<>%&:F^1.X2,F;BI1\G'U-9_.\^'ZT/EPA.C[<0%(6R#A&0 D40*Y$ MU;5%_TXX H^S7K.>V4L%1,@(XH-(;S\FZ^,M<]/]G1LM._F@E60\(@&3**98 M8 QD2").*G:*& [PF@_VB>S48Y$('T'8I_]UG?"&4(VTJ1_B\1B*5=1DO"@* M35*U6^@8-=''&!AUY&$/U 0HKRKBIY6 JX )2TYK0>'V$'XE@ MK0)[5U;N-?$.D1<)P+P=5CXX^W/IO;U)OO?@NGW+S,K:!#TIXP!A2AF#C(DX MDC!2M=R5$2%/<-'^6BWKR]BBH.?&NV^'+YWQ>A@\*%H>1(B'$0Q"$O,P9E @ M0%GM"T(QPEOX@A[EP7WD\J&1Z#6=[^WPX/%8LIJPBD4Z\=(J&Z9*;LBM>=M) M<7 *\1I_0P#:&C"" JW]!I)$6L*&6JHR52?LFK"H6NMA?X]&7&_&+^W"OTPP M5 M;TF@\" M'(H1(,Z!==!YBI^V[5ST7%;?0__<89]44Z-!IY\)$0@J'$M .=*FM(KC^B . M+("B_EH/!KTWIN7LK_7.!-]_*TU%3NOW6F[./MW82(P@[3.L^Q@I#/.D&F=6 M.V8&G88J '-?1G$0A:$(PXA&E-;Y&30(:+SF%WL.,_<8788C#/9WWO1;8>9A M]B]\]H3MGP_W+,]F7]/R;?4L?P()#:E$X2@L/$<:_?4JA,.U$J1^HQ$4ME>I MMA2TT)I_MZZ^]/\6V8WICWJ\GGJH17[;LQ &/H7 ASR(.(,80U7W+,048[YF M\?^:?+?=9<]S:5K %NFO]>K^.DUF.\T*RL MUV)2QMKZL<[TCXT%]$+NLY%6#YP/W5E.CJ;H_24U&E+Q(\>_;X>F#,WFMX^PFR2:&$+R+19G-TK+L'M2Q M/,O#QL^22G/<=.CJH:C@CS W KPM' YBIKF;81%3PBDG8:V!8\WN-%H[@V=- M P_J!4_+3^G\]-+L1OW-I%=I_>^TR"?ZX0:U;1<65[]X6')TR SUF+A$J!67 M 4-$Q R%&(:^"A40(:B/K2-QA.]5@7?CJ!XC3B,!^XP>'Z!(?/-&[6=-!U7F MIZ:"15%UM=*"L0HV63(\1FWX,>XFK;R$, 8@HF$HH2FK )(VAP!0#F.)UKB[ MHP&;U9>SR=^KI?]^>BF_)MG4I'EK5=E\^3D=UYNR3T.7CP !]UQP]FMQ\JI M'5=40)%F2R%#06(!&(JD:%*U 8S5NF;;%Z?V)Y+I2(C#YM2#S=).OFQ/F@L .!S;B 8='/ !CR$%1 $BB0^@#.LSI#%0!/6* _NHW& C*!P. MO+;)_H;R0B^S63(;N[Q0EQ?J\D)=7NBV,VV,VPI#TNN;:?X]3?4C\O$?WLTT MF3W7*'G#3@/,_,YI$SR*0L Y!0$TFH60M=- ."#AYT&9C%-(MI>O7=XQ/P^ M?0*#==(=$LH>,O<(T;K<3,,A@F-)J P#&44P9I[,%5L31G?EGOZ3 AAO7K4 MAN\X>_,QJX_+XSB]VVQ^=:758J/]WE1A4Y.7F9OCS].)_=HKM!U79&/S=R7= M:L/N&+WECQG2!'1X5T@&% TH1R%@(E(PKMMVBEA?OM;KKPE;GZ53L_CG^7GR M[?=V?XR?_.7/OQX)Z)K_.2/',;=A;B0Z[4V$.1<"Q8(1)8%$(/)K+QD) %]K M6]0?<_(0E"*)$ ,(:8PIBRICU02&C$UHZKN"> '#?[]L*) M) B/-!"]9)^@7M7FX466!X4X0Q7M#E+N0@H%+:0 P6-& YBR97DD8C"NK4( M#! 4:P63SX&4/>2DH!'U7[2-X($CRJ'EN$:7E^G8UE.FW\95EX0BF:?>N#Y) M73-'56@YFU2_F-9#7S4%/K^ZY,W"QV/H@4&+'@ HA"+, (Y#H;12HF2=V>IS MAH.[Z%%MQ^EE5&_&F=Z+TYFM&IM-S#]1N_S[M/H)(/V#QL#:$3KS_@!X\5%1 MWG&\A1AI:T%(*%4H(TD9(+3N9Z+%.@S[9<9]))B"/OL?')M$/@3WPH^3ND?] M3UY6=ZTWCH9]B>B#C*51WLKGP(\@(C30\IG$&ADH9Z+VQ8N8TC7Y;+C^#N>? M+7,4:F18_:!SY:]ZU/ED_;2!\71AUJH+,Q7TO(C308P8?9$SVP_'\>_9ZWF\&796[=_'Q9RJ3D! M\V'Q]H3 !K[YYDWRQ<4T?5X%]GU+_KINE/_8Q_H\2EY#=R4^!G:T@(L?=DQ9]!GTH B*P##@,X[I?O!08J;54B=W-J3Y0$6(TXGZO3>(/#!6M M9OF7N>F4MOS<_NP,9YK-TG=759,+B, /*W1MBQ,Z Q[K_4V+/H9\?I5ZR7B< M7^L;#:EXLWQNFF$6^F/3IVN>?BF2J7>3%#:W8:XOUV1DU]56%]:9F?J27P/ZH5N;NI->G=/+PHO0P8W%G@^S/JZ)YQDWR)7UW4:3)'^^22SVB MGY/I;?*]U&_ZRU513R:QS%OR("11".,H@)01Q(CB]GAD1#E%/J#FGF1E%?8\ MM0WT]] ;]T)0FWC@,3)XB9'9/U>;R&1GI\'IN1>>GOUZ>B;//YY^>M6UVS#" M3Z?GT6?O_%2/\=/GTU\^*GD>*2_^^$E^"C_*7[S/Y_J#OT>?SC\/;>0_+F;) M8I)IB/AI QK4#!1$H99HOB\$E0P# 2 .K)PCA,04@KL,M#U6[F-*\+U7R_!/ MBVM]S_C^H.*=3$;3,#,]O:P/2\U-,;^9_[F^]W,Z3:VX?!<*3$2LS(EK.!!" M2(7B.DP"@&3T7 +P=+>+-9(MFVD=??XS[F7[ M3JRZ5:]"LM2WGKP2&B-RK89X85[3^>5!^>>'EA!>))6(G/DY^T^F0B MQ54SZ8M%-IV47F&N+?6%QK=R?9/?IH5WD^8W6IV9YUJQ\:YS+6SU-5=:W);9 M)+4WYXNY_;V6N5?Y=?K>J][[Y]**8+/JS<.OTNE-\U MD;5Z=:T%MO[>B"[S MFO$TU>MG'EP)^VE67E4OSF;F!5GA31*]GMXT^YJ6[SVC%M2STJ_34Y]?:I&? MF^%HV;^H#E.\3"UAE_9(Q2)+YTGQW9NGXZN9ULF^F";:E_4*Z?'.4MM]P$RD M&L?DJU8<4N/?U?_YWIK.@MF*(_Y![[Q^M^9!S[RVT+IR M81;X2SHS*&!4)]-T2"_=9#&>>Z7M03Z_TDKMERLO\;XF9D&_FY=/,A/KO+ S MLNFDLW1:CDS:2A73-)]EACGRHFYC7IW--;-+II>CT#N33?4D1\L79'.3D?K. M<&9]X\C>V7S_U5@,[S2;ZG$NWY\7U>/UU>G4/,^[S8OIY%;3Z7L+!EU^^R_O M?MQ'D8":S6@DA!*^BB)<>WVP%##TT6ZX+_:$^VA7W/^LH2"[U!0YFTO-=0NS M.%]^U<0WUKQAH"B8VKJW=63B(?0YIU(HJ !6T@\#4.?*AV& 8$<6Z*6$@;3G M=A+$XSAD=8<*?2FF*'Y0%CSZGC59\'EQ?6W87--E9WI>.S^OF>##XN%Q=-YF M;,^9&CKYK]VV-4C*K#R]O+.EWZN?#VZKWBD"I;;Y$8NB"$(0*%B/B9, =44\ MIYC)R _UKE)(810+'B\O)2*ZNR\[R]L>V<9>_G,VU\KE>!,CV84SE/.K09#9 MW.[\L+2&-7/X46.WQF$MS*_RTLKK6F4P2&E@MEQ<:$F>&3PW(&ML2B^=9M=9 MA<_FCF0ZK819_6+O(ID:X5C![;Q(9F4EYLI&!_"N$B-44FV7IQ,KC%9&O52^ MMQJ_NVF9==;K/)5\E7K%VDZTZ^:6,W/?NE=)EFA5W2^HF^U M3[C)J\.ZWGL?ZU=IUEE,YY6^,M.$T(S.Z!9ZF?2JS[4*9Y66^LI&";ME?BUFEDUE:6IW9]F1I%3_KBS+*3*H7K#L.PUARIH7'U#M+ MC4YGZFN:ETMOOPX_2B6&@:KH8/L1D^ CL_;F ,W=&^O=Q: MV6FCJAKB*#UCLFJUWJ/H'<7>;9K^<9CDWW+JZ M_1B^MRI/86Z;?A]UJ7RI_M:S2&\["DZ1S_2OXXHUMU9W J@@ M#P@.S!E D? E8)5[!R.N(AYUU!W&N)(Q#@'S"3*9Y)RP^E*& 0[?HKISEAK_ MFH9E.=^,4*7X'>!.7?%MI$U%#'*B*/EUB]:39> MD.M_M-B/Y>?@Y"=M^9:+>R;N_79CT%]?*S__IB_]E+^WKWEGL.GD[VE2:J%D M>QEJ:@^UEI/-O5]R<_Z;A?KE,#[.M'6ZL(0Y.O%NKS+-%YJ29Q,K.+Q,\V16 MV.=YM7IMYO*E3&M1J/!YLHZ!&R\1(-XT7YG' ;E7)O^IA"TFL-T.8=Q6LR- MX3[_?E-I3:T7VFQF(_H;J/*07PFI>E4J?:"2 MG[.\H^(TD*-A*+\U>J>5GZOC7=P8)XMYL=5&/J>IO66RZAKMF95QI5M'+\>->=1WJ;24_K@4^@O4EFM;E*#4[,.7MZ MF0VAZ\>.YXU8;/7$[?3#9O#MY+3Z>DAT1#4=:<5?4T5V84RP=]Y_Y_GD-C,6 MBIZ_/3Q:?VAM@UDR??>;QK#/^>5<0UA:T\(LO6TWRDZN L;B+D5I\6IEV;\- M9^I]F=KO*A-@G)>5I5NAFP:0Q-/F;G6"4U$8JJV Q*@SFC(2KTR+K]G8>G[G MQD?;*KK/>;%QF*=?-5S<&.,EO[#XF36S-PA>UK/W?C0+M&&,M2>^L=J3]GYO MY7Z-3.FL3'^ZC_X[T%LIE^8C+2O*FYH5KM/Y5?XJO/%L'GA%7>GC_1I#3R9' M?XS<;JC>S =9V7\'D65EV[3Y//EF>?FS(?;L\GM#/9U)&[[H7ETSLWED6=V5 M599Q5YR:F[)E7VC]O=5UKO.OUI%5:QOI-^.[L?&;6LS4?IVNJR_UU8M27:I+ITKPKTGD+!*-& M"$]6/S<(UL6+"^,=744;,U^KR.;5&RLJT8O5+M3?DIDQZ[W*H(?U.NEM,X!I M.2HU(CV9-T16HTJ]]SOD\KRJH6]ZXGM:H;;49OX=60&WXK#LVJJ6K&I^U-Q@ MV=/BOTUPJL'\8L7_9HB^5F7-WE0[URZX6:KWWF\SS29E%6B[S33U&15DH17< MR8HOP*BVF198M= I&I2K1]1($$VOM>%2._6^I_/VE892-2]N+2*6FO?C2M2J M5O^P&V$MP#>TQ"[_^8E=KY\W=IG>:QZU M@LZFPE0Y=UHQJ,-A[SU9Z5%E8K0(JT)<&S%L!FFSQZV^=5)>I69ZFDK>W4R3 M<7K2R:RQRSRUB3%U6]KE&MN13K1].S9ROE):VS^M2#>"WV;[F&_+A58=O]2W6M%&FIU[E0C^A>;C502?6)C*K7P>-:V],Y7[O*+':--277VDJU>\QVK@U/E>M&_O$ M[II9\D_-;/-9-J]#N.VJ62PS,3-- ?K]A67%!N@JI=YPK+WKHLY1;?C?HE'9 MF&NU"\JBX&4Z,9L\JM3BD:<%M%Y28W[FA>8R_=J%MB^KR.RHROA,YBOK.DGG MQFJB_VG.&-2/TN:"YM>TL6WML4SF)!']R<", MKH\S;VK>N/3P-U*@8;(['%$9G&F5_J*%4EH[^MI83#=[L9R;<.T7S0;5J? U M+7WI.CJGN:F,R[Y:9C+/6Z4DZVZ8I$TJ3$WA-377T9J:8)=BJJ*FX@_3:GQ5 M8BWWQ!"\]UB9FI_#(W?F&#(V&2-WMI9 MW04K/6%-L<9YTF07STVJ4.5\T?9H:N6P7>9F)EJX&-RJ@\F&Q"]S$\G1&*$O M6THF^ZT&2_O6N]+-O*PY(ZQEGE8>65 M1,.19HKYTE-D$@DK"V.TS#O M=E%6N[B"_,FX%M79,@Q6+^R=NS8&SS]TO9_FY;6^H2'(I"A_N.L]MT+X717J M'W=.\-J\BO6%9CAE6;^O*;&XSR7?#5NVXU\NUAW!9EY0UF1]'UGHVZ\RD\-O M2Q\,,169T89'C7@SM9O9.+LQAF0GQKNRV9H*](;^:T54CMLSULT;#97DB]KG MJ1\TMO4 :]K0TN.9V%!S4N:5[-,&7JV;C;-BO+BVII-59,?SA2U2J+(5C?R: M9)JSBJI 8I-C<[D4^Q +5;J"R598)IFT.29;9#W%*!:4^Q&E L6,4Q"I.NL) M^@"S;NX^14',HHA#>YRROH!&HKY4 !1$#[JR'GW/6N[^6Y Y*\DB#^_N:T< MM_!6;K%'*X:S5A4U ^=EY3):S::5RLKS3 M8FY9Y1BW(?86*Y?5Y.V8JEMOM2"]JO3/99FU0ITU600?:QUJKK^AJ!>4;:V7JMIM]YHQT6U^[3O+>D>'L\4#(46%X+J[P/$05,R!CB5:WVU^]^2 MAUOA;KLEY/UZ@YC>MJ3C]]5PG5:\5&;?:L_MO3]^KE5;PD-.Z>.4JE!$"BH./4)(Z$/?56OO&02 M\;Y6_I%&P]NN/'R_WF2XKY6_@R2]9#V;@H#L\ON^XX-_+COJ]5TSQ]C_[8D< ME6VSU#3KM"T; .[&4R^^+\_9RF:M=GNCEZAR?FO Z"I]G4BY=04N@SYU +_K M6Z^BUO81E>NC&ET$GB$'@,L1S%'VKE)V[[TM/Q:S(:6 M.W\Z\^1-D4T]1)ID[*Z^=ZLM]2\F/F"@[/T9ME]XJMU!%FG6_/DIC-#'1%"](?Z MH<8-=9;GUQ?)TM7F&2?_M*GGJ17P*J1CZ@JGZU$EXU0Q^V%!W506?K-> RW* M]JQ#B=;(%U1(+DFD),9WM7J2/;N]BC6?7GXTNS)7 M"Q/3^I3>.4:E4EYA18-]J+!\CYJ4S=BH">#/ MI@%'4WPBFNA;G6RE*VV,%0 MYU>C%%UZO[W__-X+K=93KG)JI\J@38.J\Q'LA8813&.MRB_X F::$([0[VW: MX*F[CI(5!\E*,LOJ1MXR4DHC%D1)!!)",>1Q YB,()0X5 MXYQLV,YZ!Y7-OPQ-J'F?7D0P)"%HHHCIH]S(J+ M^7(#\Q46W.<.BGTZ*3NQBV:'3.C>QEI,J:I6>FQ_H"ZK&1NLWF%[H\F0FVD; MSG@.I].[NVE+Z)J@4V7:509C;>;6F8DSO7C>_#:=?EWROQU$D79B&K.EL5L' MCZIDECK;>J6RJ 'W\BI-YXU+_D2N@W"DF8BJD(I PBP4E47TI\AL3#1MUC[^DQ5^+E M3+RJ_%]:SMQ3JL3+->/=8HM64B5,JK0)(,_>5?%K&T WR7SS[Z:T8-E+JUSV MKK?-^#8E&[=-8>^D%4\UZK65UM?)OTP>^/LO-Z"K4<\V1S.)&TUF ML1UKFXIUITRG>G9W?,G<"O>19XM.;:)()Y6Z:N1B\K9L3P033;8OT!:V:*UX]SMV-N&=;]7-2X]JJFEG:=&@CAJ^2HHK:WWW3':=#9;S0WBFRG%6U]]G,A)4Z.0]7Z>1+M2Q&,-B( ME/7)3Q9U3&-S$H:M?*E-ALOI8EP7W9;=36X1J!G?DL+60O_/\"!$26&B'.6O M:?'9;.,V-1> JC 24H621X9Q(<:U!HO]B':[9Z@ $X:@%%$<^!)SK6+QY:4^ M#Q^NN7CL/6^RYN*3IL:ZV9A><\\N^K"[*)J3!,:-%_S&=&2XJAH]>1HTQXO* MW=VVY6M)OIIX.GF7V&-A5IV2^FG76C)4V/'>4]ET4?7B,*_9*6%S^7N-593X_ MI=]A'\ZL'4[9VT,R757D73G3*W>/36NHJUAJ&JGU>7NZU(5EFBH;K*)L(X;6 MF.C'JJ/>HM17EJ.Z7V#G^[K"]:>?GZY7^#?WG:&[(\#424S=)=Z\PIWGKQRT M"^Z@KOF[.X"94;VFJ^<,@>J@X6K5Q^ET6G_[UQ-P8O_6$QLW?V]8EW.MZ93> MI_36.\NOD[5CB;5J\B6;5<-+%O.\^: ZY=A^=F&W=M\KNX^#MF^7]J)IX*;N!<>FA58DBX_>7BFJR<(KQ\%O,M*W#OOM53* MG6:^*8?/YFC\O8K11B9'8X?#E _@9/4CV_;/V;?'-OT(61Z_PMZOK\1N!XSO MC53N#\.].$(\865>"SX<"=U#0LN6]$7+ZSG[$Q"GY8>EQUX:)5TL-[72;XP3HCGT,Z]*[H;"?6U M4/^QC_5YE'H>6J>=EL.25B].QRU"SD)TTEI-W%+(4(%(89-;#:A?G6U/ \'A M6K:\)LPJ!& BF;OD6.-EQ!(_G, J1@RNQRSOQ"I?9-=?E\(WN)&WF^]+0N + M2U$'?P[^=H<_OVT4@;"0@L4*8A0J$L014U$-?S&$<"VK_Q'X@WY?\,='"*RG M*CKT<^CGT,^AWS/0SX=MY2M6 0L@U7I6[,L@ D0%M?(7!Z8<=@?E[^$N8-NB M'P$C(J"#/P=_#OX<_/4*?[@#?Q%#/E92B,B:M9>)W\O$=\R^@1W_).&-@2P@;Z&0AS4]R> M?AVB37\K1=>KM5 MVSB^-I16;,W_?.0CW#__/W7S7EN+.0!EQ?$D;UNS Z49%$D T2Y3T$L0%#S M)#-=>'KFR75OS'-X4HP ]QU/.IX\ )[TVYK#&,;8QS&2S!= Q#*6J.ICJ']$ M$5YKE=N#G/S?'GD2PO428L>3CB??'$]" %NFU-8?Q\@GTISP$W(, E [YB+C MLNM;>5VW7)^IO/(C8,JCR451Z_5>S?&D7E5>515C/9.Q'TMXZG49A\+SN.7Y M$(:8*M\XX:&$<210+&IG/&*(L*UXOJY%7&-\:7O_F"KS/9NNF.[/;_4$FABL MJ#YDQ[QC]8=8G;9)5T)*Y"/IA]H*YI+RD*-:O"L% ACMC=5[M8B9(([5':L[ M5E]C]0>%]Q]_+SO"+(8(=&G$VZP MHO>8).Q;9BW4.:O65Z$@ 1",$ Y")@!2-6L)2==KCI[-6GT'@CGK,SG#L99C MK6>Q%N%M/0L!@ 5A$,H(8!0HR&"=]218A,E:4^A>I%:?\5P"^[0T'6LYUGH6 M:S'>40@#B "(MI%:?K,5[35\:OH'VUN.NGS9U M77SGV1C^"T'.-FGAKQ&3WZGRH9_"AN$FD,#.(7C(IQ)(+A'%$?(C%J.HCC Q MZ9-UL+K;2WGK+.=%.6GNZ>(26L(2>!B6WO>;OS50>G5^90=6#JRZ8(4ZV6Z4 M\S 7+%8\8A)B1'BC:LM0&SM -8MP6IC,?YSP J\1[TV)!DHO3JP8_8#I5<' M5@ZL'%BM@%4GT3",92"P3Q7Q 0N ##!ILH\P"=%:P=T3-*N>P0H^Y-JC?^1?Q) MO79-&ZSZXK04Q_!],WPGE3$6E >$DDC!(/)CQ$E!9$KYOO\;ZN<..X1W# M.X9_E.$[.9@2!2Q@0F 0,::X$(H&3>/C( [6ZI*>).'[]@T<1+:E-?+_8D^# M7'Y>_;Q[:/W:(]R;.B=Y^UR+C)\WG'':*M1\!#ZG%,I%%0 *^F'0>5: MQS , P3?D0='\>CM=)?MC#:U.C G<%?'J&J>Z/< ^L=XF+1Q4R&B $OA8Z!\ M$# HN2]]&&*FMP,%!-WE8:F'VQS>^WEYC'GTS1SNFT[B(K\VIP,OYG9_3B_O MLKRT![KN6+BP[4'U6I_?WSGU3:W+Y;+XQ>ZI.>N].IS>'*.H/S/FQS%&\? [ESKLZ3'S6R(WE1:N\T=,0A$R$(9:Q\J@*HQ50H:_:. M6,C6 F][I/9'LS*WI_9UT=8;M3^+;+;Y"\%1F7V[7B@:%WE6?_DZ23<@][3D^)"#7CJW;XQ-WS5 MN#GR;M,B-8>F6W+W+C6]5P>RMT1O2*,Y@3VMR;][OKH]P3TKFK9,M_EB.O&N MDJ^I=Y&F,[U5+8.]WV:%O56E]2&ELVOSW#EJ?8]JM/V1V/4O%8F!SQD(8JAB M3DP7PQIN) ;:K-$/^$ORE*G4YAK;J$$_-U!90[]I!W;U_G FW&<1SYH!.GDQ(=]EB"UOMR7QRKD'#2,ID M]MV[*;3<*O3E6M@5FNU++YL;6Z5::XLQ6G>;+#1:E%K\E>^][MUE.IV6S06E MAIY"+XU^UCPWZU::;3&04^2++U>>7C&S D9H&2EFY(*>V/*6^BIC(TVGYCYS MP20KYT5VL="WZ%8C4*/?1DK@=T:>BBK"%Y5F9Z02O"FW=6+/UV4UV5FRFDID>> M?I8&]:MD]B6M17E>IAL'?-\*Y+-JS6#/!9M-OM;;BS?*YEX^UCJ4W//FFUVJ<3\W\&L'36;?;JVQ\ MY1GY4BXNRO3_%OK]>CQ%>IW-S?5Z8%^,&W%F6E'H5R4+/<-*=QO9VU9%6CV, M]][GJ^SFQAK+,R.D9I.I^<,LX*PT]%.TZVSN74PO]<#-.SRC=WVU+ZC,#_L. M>]O$[&TVT_/2][R_([XV>E$:J7)7*JR?;?H(L_? N!#>&;#]>54T#[E)OJ3O M+HHT^>-=/2IY'RHL_?I*?PH_R%^_SN?[@[]&G M\\_>.^_'I83X:=/NW"6A'J02>IY4PH.72O_Y)X$@_["4+-Y-7LPOQ=GYL*9!;!*A-VYSU[82H K MO1Q6)MZD=I8:8D>UQ-)$5Z33Q#9(T5K5J$+=ZXMT8B"LS"_GMU;7UA=KB#4X M>KF85;:PN3Y?S"MCK;[PO2=+#9SC^D&;AI6,QT;.&)#3PD #F,'PV9>I396R MMNALG'KYA=X?2U/52,W3BHWBPDJ!FUQ/Q>7:M,?\JG37OM[)3W]&(U*+" M\*XH'G7$M!Y25^ZG9MZ-<+A']K_W8GW7."WFB1[ W2F;56KV++E)+K)I-O_N M_7BRW,#ZPI.?1MK(T7ML%)/6O5I:R5P41IY::6"?=[V8SK.;:=IH!!7AZ"D9 MF:*IQ:Z6>>S(WGYS,_+&TWPQ:94%LZ8WN1&NF19BEXOY0F_-8F8,-"U-NUN_ MN/E2)).[NM*5WKA)JJGG6B_$I!+&YJW]O*N=OU[KM-5[ZDM+2;;M"WH]:UUF21:T76!/5T.9):*?RN9[*R4_OGVXCOC#R M6&*L#:6RVACSIZ'-EFPVT)=[)U&REX3-#I-6#?SSY_/E7O:B6M/Y_]MZ\N6WDW!?^*BC? MY&:FBO;TOCCWGJI&+[D^Y;$FMG).Y:\4+$(6WZ%('2[V*)_^[09 B2U4B % MDEV5>$022R_/\^MG?_R?JW)G16M_F7I]?CKS"M2L,+J6<%C1V\KS"F/2/7.K MS -?_6P*_K@M#1!3?T;ZMWZ;#[.)W_)BW(WA^MD,&H+JRBHL26CZ1$2Z&XT> M>/HJ\87[^@M:+63YILQA)$U1+3J]7KAP4:C/LKL%TS7GAN MS;B5J'E1C>EKP8K?O8S:KT!O26<%4V5)?SY9FFZ^>=%M5KS=4W!8S-L\F]Q' M8BMSOV\+2Y&_! __U;0 CZS8]4X8!_UZO]#>_*=[#_*'TBKS0$>WIUJ2 MZ0X-_:LG4W_L*3<(*OZ(]P?1M#P2OF?#>8$<3=*YC\XN[R!M3\*3P;>!/U-J MEFA2^X+ @P0QS*?3[A\4#XBHTX;P>.&E#W\6A@F^74QP]F-<_CT<>+4XR(Z% MB#*[+5FTEDH:HI/_OI\/_7$P:1HP*D/N4A:X9R\7JG'8RVFX8^J7WF_;V]GM M3;YX>Z$A%_)D?I--PDEQSQE5"93^L/'R6V_%HE%)IR4-!$&V^?#Y* Q!?=$) M8:"7O/G;/ L_Y5XX>O/R[=ZI7:Q [>EROXJXFVEI)_'B6$7SI>3[=C9^NY1B M"S-910T%.E.A[U!R7G5@I5OSAXFQ)BYD^C0H N1/SETZX&8? A2*;@ZLD@ M#P-8*!RU %*R_)+9*QFV&MR[Y(,??K\22"T_^@W(4?K!! M)@YFREJ]VU"/@FI8&+Q6S7"%1%$=ZD$ *H3OTH+7L'Z5AKE22GB7_'>@^=)_ M[4]=OY^]BI\6PH'GT^SW8,.K3)[UZ[PLEW\/-K9+CXE^&TO>R%8$M26*W+FJ M7BT(=JK1; FM<__[)/^?N:>Z8F=Z]>;^/AK_\/)J-OD]]X+?]TH1*M8DO\BF MLV*'P]=CCTU^9/EPN>->VACE0[\I9]\+!%O,,9#DY'NA6Q0RYITC7Q$TI[7J M68VV7.#*9]ED%15=$4@A@ M2\$MJY>NH)V;)9C-;_J+*PI9SW\5FI0$,=UK4N-)02&5W!<0LJ+5+*Q:>6@7 MHGL>,I;\S]^SP; @N?#L=LRQ@1G\F,N=+O;];O.LZHPTM\K(0=]=4M!= /62 M43]-]J.TEOV"#EEK^$E#WL!UUMHABQ@DC*/4_4IU2' H/E=NAH-7L MH>TH9E%-HBB$MIC"SG:&LW>;N:;MR>(O96'C\3-4BJO86+PX9FN5C?NOS<:- MBGI22TVU]-S,&-#<"@IY13ZL6GEV143[M6-< M([\)PBTT:IM*UQ(;M[0SGDC>;98.:X^/%U:IAI7)Z[L+4;,,%2VL16MQ6JL) M$:]Y@I>/6;@W'K KU1:!X D/%JF #*6X]",K-= @@GF9>;CN9MTJIL4,IMDW MKY%\JX+[JK4^#Y+4@P$MD*:8:0.H"ID*B%--Q>+@UT2Z1D +IL0X0A&6"E.) M6&K-\E*+ %N/2'FIB:(=UV5Q^?N!%Q$'%WZN5-,3S[&KQJ_7JB05^OF/'KK=?%Q]\FVH&?Z M\_L7K44SM$VLKLV]3NK&*U;2FL":;2-\;HYA%"8]7'DE!&6^4+E %_EP6/U: MI,F$SWYN%XO/=VS ^2#H,)_R'\GGL6?U]=%ZG?+;8%0.+YO/QHLORI2QXIL? M@_[LRE_MUZ>JEQ'<0MG--'^_^&.#8MXLZU(DKU73FN^SIO4&KHCG3DW<'?IR7D@IOY;2B0W2R6DF MHCYY6Q]K5W08V_[%BZ2/;/I),C5^A=W?7(M&#:K-5^R?6(+"D:SK&GN'AVSE'/>C;/:1XND4 Z"R^10)Y0_>_50.)D.GK\8U1$'WR9!9=GAVJW/@,H MCJ!TZS-FNZ_Z+(4MGDE2%V#32$C-,'-,2@B850M#)U9<@(W"K8]D"99IU7Y) M5,AXFN;]\^R/>PLY_&LZF?VKH-'@K/Y;P]ZF_AA,_U7$9TQN__6/+P]8\9_: ME@@2T(-DW[5?7X'>8YWJB'41ZY98QV%=V(-0 "0PTCGB"* X5:H*'\#&IG2C M]EPK6%<5HMPKUB'2([S-XG4=I?>(=1'K(M;56(?K& O*&#Q+F)=C76TQCK#$7$ 6$BUP5RF M@%8%VY"UB-&-BF"MR77[QCHL>A2WV7:@H_1^*NU+[*]6/6+*/UR4'-P)T M4XDLHR)-*=10"4@\/U5^.Y3ZL4-4K_Q7VZMD$=1^#ORXC'P MH@!U_AFDQA$$A%'.2I0*JPTL>1%P)H!]12U^)[P(,>_QV%@K,F-GF!'5S.BL M!<:&-E5$A\J[2JFJ$BP 1E'XBFKF;IB1\AYA1]$#YV0"/\Y">MP+N;75->@( M&Y-&3K>BCA+HL+ $*JX9HZSR C*3&O>*NF9(>/R7&@Z+7?QTGTK.JMMGX\;)=:VV:*5/!Q\\T?2'\]#.8:7).(<8*C*4Y?AL$-69*,K M+G,*I591C57HN>",<(N*5% 2O-%CL$TC1!N1*%SVO%36)EH]1@/=C$@Y 2M_ M1+"(8 L$(W7(CH.".$85@P0Z Q1.116R@T6*.=FEG:4-!&.@!]O-D8@(%A$L M(EC'$8S5@4[&"%L$(1ST"6[4(102+ M"!81K.,(U@C5Y%P:JKS(T9:0R>'@U M@JE&05TJ,<4.^E/9 <4$TG)9Y9U8KNR#?2P??<]&A^@6Z[;NL3[O8EN2-!N& M.LO3+9JJ-R;5P<*\97^/<-6R^TPYXT4M\- IJ.PJ/%YI(54W0VJS7&\LS[ME M>5[QYG[S?_D*QF,-VP,42F.YL5AR[N1I8-%%)5EOH'**T<=JT=2O/KM[R2B? MQ>S]UD-=#EN)A8#7OE!@(4".0PM-&MK-.^S*UO.(4"X,7]=(%E3V>4EDG_*9 M+GO>/;N9T]-K*HD>WD]\1C=UU$YA5Y?,;Q&ICANI9.WS!,:D!B@K*+)4,0\N MTBV**E$%7HA4C_2K>GJE2]:##)XN4AU;E9"EJ:=A^#C9A$P(85WXARA&%&&0 MI(0 0P$FZ<*#1QA2&^G1=]DRES;,G8D.K.?%F&/(HCPE??:8.0C#VH-DK?6, M(QVACC(C)$HKE&T>:%UR]'3:7+]HYSH8?1\/@I.A MMJV7K=WG-YZ^FGW&OX:VF*-O?E^O\OY\N.CMG6U:!HJFVV5?>O^@HLUZ:'A9 M\$*RT1=]T3-[/EIVH0\](N\Z&Q?-Z>NF]/W\9CP-74_+]N]EI\JB4>4DO\EN MRW;URW[BI4]A.='0JK+_O>QE>;GL8SN]&MR4]V7^L?EP&/[;SR]S+]S5;02S MZ71\,2@Z"Q:NB:)%[G \[R=?\LGWL*+ODK#.#_OMPN?*Y965E%]<5M+8.OEL M&KT><7&U0"H0K4V@^/=J4CM#ON5OOT[R[/>WV:4?TOML^".[G0:C^=6DFLU# M0WR*[V4;)]NJ*6_P^2P].T_TV>??SCZK\P]GGY[N,-K/"#^=G=LOR?F9'^.G M+V&,6CMY-M..KB*AM] MRY-!B8GCFWP40+5P@PX]E/F_OR[\OAZ4&IVW__?_$@CROTYK=VD6G/4/N%!O M)OZ0G?C1A(;=\^&L&: M!8S6%Y5P^RXQZSV.F[V-DQ772O&TE=XNJ\W&&YV3=]O$&L)&U5$'#..,&(6- M4MR)E"HGH1>H4@&8V0R^>5!TJB)S/B]GLDWVQE,[6N-WF^I(JZW&=[X+=0@4 M<$)1#8S2 #*-B>76\QYWG&+*&4[;WH7'(]"?W/']W6;D4UN[T N\?!,0ZGL^ MO.TM,&*#_V\7,!*DEX704LAT_KK1U'/]XM9*[O%PXT_U2G8II+2%G+3"T>N] MRK>GB!;;E+^,-!L#66LPM<7NO!)ZL=KIDD(-F5%(&B84]Q=HBQ8):-; C02T M-M#KX:C!I_(-V2'?[ 6]>)WMG*9%G7X%0Q G3$TJ]:)8"7"0[02]VMD%^O0S M9%-]V?SF^6O=@GC9DGQ(7@=OG[*NSP@*W($&^Y)AH^<%]I+]&]7^,DV&?BD+O6XR">I>:4^J];'" M C:=!4@8+TBGN"<$OGI<"!:MR^QBH_)>,LT6,;3^P;_G MLX4JZ3$KSR;^GO"A[]%H."YL6OZ%EZ5MROFW5"\L[5?YY'J:?)OD_KD3CU-^ M]A!5DMZF5#/I3TN37F%OZY>FO;?CR[?S:5ZJI<6;BQ:#0N:'I:O MNQAF?D#3@.&C_(?_;7P3OB]6[!>_ .'Q@U%Y[>(G/_598<#TZS\;!Y/?8.31 M.8RFGZ_78K/USX MB\>C_3'Q?*$26?!-%O0VG30 M#\;GDE*^S?W">5C.B\/3_SCS !5.9G^3/W&SXBT?&U3MJ7C@Y:&!?T+8NK 0 M2ZI."@Z83HO-#B]>6JS'I15D<:!/K_)\5CW7;\)-/O+_'4R;XGT@;8\6DZQ8 MY0!)81THN9UO2\];1ZJ^#9?D?'JH: %7M4Q7@[R?N0:,?4&W)'X%V?!5,_!9Z3)P%T_ZL,.^7%!O<#>/)I,PGF%0F_?Y@6K@: M&NNYI,:2ZL)YU,PV^)X-AJ5#8I8LPSDQ*)0\D?S4#P_V)+$@$<^Z?LC%O3\' MZJC?XZGX.EC)"FXJ;@LH[3%EL28W8X_F6;\$D7>)FG5"+UY9Z[\$;T8@+;]0 MF2?+P*S+)2W6^$HKN:84I>BU.G4"IH:PBW!52X0$(*R M#2/;JHCUW]5,5#D14\WCLY_&;_GDXBGQ@E[M*0H\U2K2AT]NJ2-Y,>-A0QO= MU)+^_'+CCC_IAWFQ:QM[Y3G#P^*2#TM :V_+%G+O^H[5A@7$F*;0$ 0D439 M%&!=Q4@Y;.R&1_G!'?N\F$WQX[F?"[QOQQK;\'::7[SOSR>W7KIY\Q_B':?W M2JO;V@G"HX,*MB;T;J,9^(EICPN/I]"E7D>"V,NY7M+52 C'"%CP I2FJ1)8 M93#$VA&O\4I#)"#+O@&"(L=>D@.WS^-E5= 9KIRM/_Q1$=3H,J5LU\E>Z^E; M,?GK2&W^%G*;]9S"=%][77TMMQP9OS8F' M_IW&MG\9_/'8II\DTY]J(N/]"N6)PD W"&&[%(M]4(F\-]\U4DFDDH@ED4K: MP)*3R9T_6_7P>=J9OGK>_-$EG+YV!DYI+F58-(I0 B-3"XBR5@!J-%YTVP4* MPO01*&486@(1QKC@PA/ ))103(S;ZHSY5 M(FFI9FR/$1J!) ))!)). HEL5*=&3CA &,#4&,0,E@8&(&$8I$"QK8"DO>+3 MN"?Q<4LDQU8'Y[]68TSO-Y \O9?B/CUY>^5##NL:'PJG6@D*@9&*^_\0QBH3 M V1*8;C.AXMUWHN%08C=]>#I4$VJ4S)VGS#7X3H$3Q"=ZM09[C@"G@&)IH4^ MSH5Q@#FY!=>UJ8Y[WH]\%_GN2/B.R+HF'" DM2H5&@)_N"GCQ<_ =X)A@T6^8S7? 8@E@IH&&3-UB,%4L\!WDD M>;I1 M&_6)YUU;? ?Q29QW;;O+06>UP;+W]HM\Y;MIG'98%J='&V8=O$F*RSJ=#%KD MM.(,8 6L20%+(2Y58<09%^#>[)Q=JL"X!WFKY9JWWM/.B@LG:_..$'4*$"5@ M71+(PQ!R CK"+&$H958B%.0H)5*!='I_ N$N[06XAT2K7K<(41&B(D0=$D3A MNO(E=HY08:5C$ELII<92!HA*O>)'.,7/E*+:4?%8CY%6_7D1HB)$18@Z)(AJ M%N%E9+IO& M.AZQCD>'JET<[\M.,J7_- HZQ#H>)[GML8Y'EU.N]T\/,?>^DX1PB+GWD4HB ME40LZ1Z5=!0N3J941[ ')3>9W]=0WSF[+CM;5@7.^XNF;6NEU3=*J+]_*:V= MK#7_B"<>=S_N?MS]TYQXW/TM#17=#5*NBWHMG2%5\Y7UACY[$JP[Z9L^& \S MA+118U\ AP&D!BO-@*(IASV_A-ECO>AO] =$F&'<_[G[<_;C[/ MWA\0K?Z'HS=@6%O]0:JI0A9APX64'#H*6=G>V#@D^491VT(F/+O\QS1702 \ MJ\3!#R-;"8-N/%G5+3Y6(2*WNW0-P!YE;19$BF:$:$8X&3A M6M 64"!X P2 M&VIUI%*3-)@14H\%FH@-,T*K, "S9'RL+ 1$-"Z:-".W3&*!A$.(AQL"0>LA@-L MF,"<:IHR!XUU'%H0X, $QX/$&U$#K8L&[< !13W.CL+CN*?:$^%SV([!:)Z5 M2U5<5MZX7L1@,WEC=7DVBARTL#X0KTV@^/=JLGC(3?8M?_MUDF>_O\TN_9#> M9\,?V>W4O^J7JTDUFX>&^%!"RI:#+CZNIJ0,/I^E9^>)/OO\V]EG=?[A[-/3 M*T7L9X2?SL[ME^3\S(_QTY>SCQ^,.K"PR$E-#5T^Y)[@T3B< )+_. N!, M C[O,5WZP$H1'GRE04AP75,>$R\K,8FYXSKU,HE#%)0>(992[MBSQ*=%8-F2 MDLXNW2#H:?_,L\F:FO>AE-!:"37#0,1>B+LZDG8P3[_U\(5M:5HU#^V9_1K] MGBP6()5,&V.&._\QWAG/B1Y%;=8K[CYK M'?KI[K<>O;055)M+T!5F;&1*86.!10(HK)E6%A+!*V;T!^$=K4:?Q8RAOMT. MV1$=>5_Q(SP"UPV9IW0$BD;+0TDL%YJ'+D88$@1O<2$'-C10B2)6C!$$!%1&I!6G%C1QC\Z(ST V^ M[^X(9#T:M<"#.@+/_?=YX:,[W8.0-J+Q0O=19EDHQ0&$29GC"%>LIS3$&\&Y M3V4]%99XY_R'24\R'(_# SH.RR:DUX/1X'I^77GN;BJZ>6W;[W:U1 _5,+S= M;/<,5;1A-;: &QVO"[AGHKL$ CJ M?3*XOIG/BNQD?\+E]W51/@DYHF'&2F%J*3 :8&,)H2E #E8V9>(@?)Y+YQ^C M_F!Z$6K$YGW[QX6_5!458W?&J1#T"(AJ]2')$;]YW@MU@K]GPWD>G,>7\]E\ MDD?)(DH63P.O1H]S:KAER*464F %ERI=*D%"IV #O)X64]P>/%'9([)--:>C M='I:@L3%?#()"'8SGA0$^DA(XT^?QK,\X>NQKBRRQ^XA MB"$,T[J_J>+$&6$YUY!)!KGS&%=@FH+0/E8T=8EIG\:CBQW#&D4] ;O1.KS# M$LON$Z>V3Q?8X0*\]J#*C^'R]X.9?_#%73'8;C#*1A>#;)A\F66SLN7,A^L; M3\A!#E/]\4TAAJDO.A$$/7^"@1[%GM)BSJ_R1(_]X$>W219&GO<7 T\\BX3D MH>]Y8O*+_/IK/DDP*/H1B60^#5,,C7>RH3_Q1EEQW6R2C::# JNN\]G5N/\N M^4<1H#V[&DP?OK*79!YQRH'X:ST\70]F5>?B4.!O,)LV!M3WZQX2<\( BK_] MPGOE?18V);NY\1M7)FK]&(1TF5D2C&U59X#PCDDY"/^2P;B?7"[W<[K8S^F[ MI+DR1195&,M5, M<_)Y]*]YX4X"7!Z0D_^,F[P_"C8V1SZNIK\SVVWS0]V_+ M>\F/J\'%E5^4X?A']>C%Z_R4+[+)Y-:CZ(]LTB_F[A=P-IX4+PNU#J?38IAA M%#_!G_VS_"+ZEP7,#H/RBSWQ0RR_R :C*EN@E_R$?JZ$DXNA?\[@.(,5_96AKJR,IO+L=B]*T^VTT#IH3!C/P\R MDG_14E<)G\L5+VBPTFC",T?YC[ KHWY8![^+\^&L[OGD1SC^-AHLKI_<41 R M3&M3'_(7>RJ9C/_P1](L']ZNIIQL>5K_Z;'CNN&/H(*B5#":U1^*=&2HJH7TS.QY^8%SFR[/;?;(N?UNTQ^1^(49^C_6 M3N\MZQW^QJ#QA_MVG* M:6L/>H&_;DJ '=Z6[+ADO;Z7C$;C61+X9>+Q87@;G!GAR&N@P5^F814*,2HK MV=2C;0E#RWXL[S:EDHWT[4Z=D'=+*?_Q?[*"JJ:4.)MZ"5MB:HS"C!J.2OJQ M!!O,0Y9>]I33OQW99552H>^2[9*.OUQIAQTKHTU90SM!B7\)BO&_/75..4 M,XV @S+5B!JM%I&#\W_T/1OS7\[DSBH**Y^;Y/YX]OL3MN(ICWG"C)Z. M#TO]8($'J!T\6"YB@75>*ILN9)4R83Q(-5OG:6^.[X!2KEO*IQ:/YE/S+?.I MT7:W[?)E,7G[A)*W0RF()/9V/FD:6)I2D(BMG3]G/Y8:Q:O'6733R7'0V?M4 MT)P"M)1W#6(( Y4*PSE-O:R/":H$/":-V&CXM)2U/*'\NJ"33_GL[/)S/LTG MW_/UEC MAG7M)_KRU;P,G8*60Z_C&#%ESYB"8,.4:GFJC0&I]5JH8TZ TH;@ M/TBL11N8 N7?23M](U',>CZD:"LW& VF5WD_^38>]^^14)Z>BKD#D;8C_(A9 MG6JA4PRE/]<=4A8H;C2V2UL0,!M984M^7*SUW\)2[^F0QYXE:9OE5A_;X\Z> M]T=PK$=&S"FM0X(HH09!R;A&PN'02WG1.T5B"ZEJA1%;.ADA)3T:ZKT Q]CX..#("=J#UJJ%5*. V0!D]A(_UOE,M(IQW8C_6().L(@LDZ&\59"0S0@*2*<.0,1ZP2TY2A>+-Q MQ<,(UIH\%HI%[4XQ>LZN'F,@]FK(T_."H'8?TZ28ITB$ <V"*"S8B>Q9S*^)=SXI0X'J. M23G)1X-\7A(FMAC @^MG.4TM<X'W#^2;A@K.['B M]X^M,';5"H-L%TWUM-NZ:5O9@QZTVH I)#FAO#9\ M<)MRY\]&"FD*TQ!9417-L5[:2.U]TL_N5 8H>ARW:L+MID9P1.Y-6R34%15P MQA-_/HVJPA(7MV7*VK"0I4ZQ:D3);[P.7=)&DA1Y)1TYSA15G-I*(*406KK1 M^&#!;ZY<6%VMZWF]K'_+!J./X^FZ4Z75[K).#I2HB/E07R3 MM3QA "#"6NY5,T<8E<#!*FR#<*/AAK?X?GFB+2<*E#T:VNYTP 3932?*7NV3 M:Z4C.M5A=[U&?C]VV-W%"#^]:H?=)]G?7FC%#)$OL_SCX'N^82)^/.]5B50K MH@!S2'',H$:&E -$1CH+FAUV.0G"I$&*2(N(QUB=+BYE/&5;==B]PYJUF13= MDIUQR](M^QQBP_Y=U8*H\C7S?HL)FX_-[%';X$%;%ELR&Z+'[888;V4W%'O, M^)1[?-<^YW7::]A1D\]6Z8A/#)^%L$OQLSO-QKW;%76B8=,GLN\+;TFU]RVD MX1X/ZY]J5K8>W]>,X62X_U2W7EUY\/'].=NOC^1-)L2.D>/?YGM[]F_]]XHD-E;O7'8+J\YS=_.H2&=N=+NORU,&&T49-$]" 1QVUURG< MZE*R842J T J7,?H$(6D<8!!C;5@@"DE38E4A&#"-TH=/0 U#:FS*?@=&':Q M'N#'75 I8E?$KL/%+EJ7A2* PY144#HHK=),&,"M1E94,(4TWDRK>KXR&-*M.@M4 M41F,2!61JKM()>OR?B0EU@M1Q%"2(J4QXF0A4!FATXTNQFTH@YW&+M)C($I9 M$;LB=G42NR1LE":U//6PY91 $A$E.%&T,KE;D\J-#(WG*H-=QBG<(_*X8:JC M<9/;%]699![@/$&>;"*\Q'7NDF(&:JT-2YF0VEAN;-6Z%*?,Z(W6I:_@+BLV M[),?Q;0UKFU7+>JL!'$$@L(IL".IRT<"9B@4DF.E*$=:.0>K_J-( :F>8U?= MGT\H,FADT*-F4%:'EP"="H.8%$9;C;$2A,FJ< P)OMQ7=WRTP8S_SB?C?C:] M"CLO$$1_C;P8>;$CO"AJ7D1.(\##UX@BHE5JTRI%GWBU4[8@N[Y8\XQ'8V3' M8V9'3XR-@"9M4DY"3(!(G2):(%E52:9"*K!15*T3-NS(H9%#CYM#42-LQT!" M!&4 46LL5#"UE:66I*E@^M4MM5%Z/?6:B7H^]6_/)\DD+PMK3J\&-R_NU=CF MHG2%KTE]\JHTM4098*7@&CGH.;K22C&U5C['>[PK*^YB7S_GQ:F^?E][AR_L M07;<'IE.04!73^RC9'E6'^6(&@J,D#)57" @,'1L88BR4#S'Z;H_2_&^0 #U MN&BUW5'$@(@!'<$ 40=>@-1H2+3F*4@E)U!:6BGYB+R M>^3WX^-W"&I^MY Z!:P&@&JD(%:J[EH T&9SP5

.]1S =''G@56?Y461Z1 MFN6!,CQUS!D'N 0\I7P1%TXH8,\YXO=G4]^?F(_!<;[/ZB!=.20BUDQIC@R 66E1..2 YD\]QF^_*>&\: M>_>YV+KV$BA@3_(V#_'.GM6G="0?,FN*^N15/,6$:,:8PU9CP3BL\LF34RZZDPJV>7NJ.0'?GV3SP8%56??)GE^G8]>;.\]1C\/$O6! M3*QFL"@#)C7"ED)G%@>R3I7I0NEZO[?EUN9JN:OMN7-IC.&*SMPC9'(,ZH,\ MA*2PW%"OB&,*J@PN%"*[GP,+NS%>[Q8"8)L(L"TI183HM&!PB@B! M&Y6'.+,F]8@@"+?(*J#50G#@3*;/R=W>E25]Q]H!BR 102*"Q 9(T#H1G"M$ MJ;"A7*"!H9 @XE7]0$(U(,\Q(>S/IK]3V("RU0CQ"!L1-HX$-AI]4JBEQE"B MF!H;)<5Z4D ML<0F;2%,*1A@6L J#GNTW;S7QW;[=0GXA$,<(E9%K%IB%:K=Q%H;R9Q!4"-- M-";6ZH4A2."4[\R#U(:D!7N0[\[6&]$KHE=$KPZB%ZG]WP@;3)T#'!DD)$)$ M55D:7OARO)T"^JW4\.T1M#N],")51*J(5!U$JD;(+16*(LF!=5092RWEU%1R M%@8(M92ZTHY.B'"4JB)61:PZ*:SB==\P31%F!&"@0AN4T$O6Z(52Y%+*K59 <.,48U7S<^2TU\) &^['-G1" MU,-T=]$$!X-4ATV7L,_ 4M+$?S-$SR/V[RT30ONU3D_60V3I:5K@9+FDRR M@BB3']DT64QV2W;ZTR/\1&$=!90R#2"&,F3T"IL2EBZ2[J%C$F^X\YLS.[M< M9ZDU?C*EC>7OY^8!EJ)+EF(/L]2[1VTLSUZOQ/\\+!+/1OV=KWK#+N\D81P) M)QEW%GA$(VX1P@V5!!LRV'-7W:-82ZN.=[GJ_KW)["KW_Y_D>7+MK[N:)KEG MQ1=LQG_.1WDI6"#>2P(!;C_.%U%%8R R# 3*K1_5\]@QO&EGU=F[S82NUE9] 2_3P1\1 M7)X,+JN2UHJ@=3_[K=+3EXNKO#\?YN/+!\1O-Y_-)WF3]&R)9.=!6CSWKTF' MXXO?WQ2$'CY^R8=Y02%O@9=4C!#,& X(M#9%:%'I&C'*X=O:,AOZ7#CG:9\: M( !((71XD4/)H9-ODMP3ZDV0BB?S_$WW1,ES3\#Y=.;9)8#[9;%H2?;( 7 Q MGTS\(.[ _X&_/KNX2L:7!6M<^IU)IO,05QAFYC\'MDUN\VSBKYT6S[ZH'OHU M/,0SU7 X_C%-?O)/FEV-YU-/Q].?WZ]235N+>/<:-IZ^HNB#Q=,:=S=?/PHX M-%P9 2EH:/04)*+?#BL?OV_;SQ*AL]^6A>+SW?LV_G@.I\FG_(?R>?Q=;9A M%ODQZ,^N_)]^WI6"=N'7+[N9YN\7?VPLP)MEB.4R*!FB-_='8);OP.+/?WVS MH4Q6[W_@IRUO.YJ7O6H9Y=<*?>?-*8FWCN8H0;BD\_2M;_ M.A[V_1/T>#H+T/ IJFARG&# M4NW22B4"A'#\'!?*'=K;DJ3.O/(7E(E_>EWBD2(3'T+&5OYEYM67D*[U<7Q1 M/'&U<8@_NL\NOV3#E_3[7K,^$-IF#\2LI:!9O:<]X#KRWD81N")P'3!P2=[(%I5" M&JFLI118Q 0A50Z#Y(0:M3?@:@%U)#ENU#FVCFI^X^'IEL3FL'9#IYQAXP1S MQ#DNE'#8E#&O2#@@S'-*8M_!A8'ISG^,.ZKD2! +U1_&R7\27(GK2@HT-.X.ALU->D+S\;VN')G8CP7;=:IBZP96?-%K$F;]>4I ,"D',,4 M8 "@EU8KUH0(V^:IP"RP9PG [*L4RWFHEH\[IGIUB\*X>KD?)XA(VZC9+F?J3 M%C-N/$M+J91),U"P8) 5/KL!7*"":8=8M>HU)KRW;)FY&Q3M$43*+^ MN,F1LCXMA4E3YGDR=00*JP6P=F$GLCK%+3A.G;_V%&38[FF>G6+OKIZLQ\C@ M$C2.7">-H,(!ET*J<0H!6_AZC''/J]N^4P8_$'$XLGED\ZZP.6K4:5$(6H2Q M4"EUE%""X2+* DBO .^2S2./GIP1^-Q_GV>7LWRRXQYXA\R>I#Z%>8C09XHX M;OVQJPU4J'+3\%3B](6GL H;<5*R]B-4T]FS^*2.W"-F;=8X>2%"SDACH4Q1 M"C R*:I.7H0@ZQAK[RZ/L,?9/GO>1A:/++Y3%A>-S#LM(0502\XL%QIJS2I' MKV#:XMVS>.3/:-W>E,$[U7#VOL4\PEKX+\DK/H B^0@TTAT!PE@KF4(.I31 M(ZAI5>$E58@N*[P,)E]G%>X- ^[5Y2++:I%EM:'".V1FQM%5L;2:L$*4&IM$[ E&MJ-:NB(9"@DFGV^MBZ,VU1]+#< M;_>E;O)0!-@(L!%@6P781NHQEA0)H8'0P06F*(+25:8Y@X@F.P'8PVP#W$T. M>.5>4.%SV.+!:)Z5.]"8[D8U^MW,M_@G*ZA\BF#*;*@_@P@P@%@:Z#C0,T'< M,@S] W[)&C?>.]0FKT-QTT)W@>+C:DE<_B[9KN>#NKCPE#B;_I;=AAU6H[[_ M9C+/^Q\'V=?!<# ;Y%,SF%X,QU//E@^V=R!"ZQ0[1UQJD2%2\VK%,-7P=L*#/:4.,@$7.AB,?!4IY'TU>_9[X'IWB&I*C;K1Z\37I((U0MQF MIO#-TVGBT8X4J V:J1>AZCLQ#4L\'4Q#EXA%5XFB1X0?5Y+-'FX4\:+V(F>7 MFR3V>/,0PCD%C$@G%07.,699Z?K!7% NFLU#"-?&:$2HP":5R@ ,S>)29((= MY1G-0S97OG'UB@!TO'TLQ)O[[;WE*_B6S1[0/CM+/.UEL;/$"962#PV9DO6F M4"?J@#Q5&C#Y16%J29!8[QK%JRB$%S"]DF!_99)*-9K>GF ]>\AYF=6Z: M5483E*;(40M2E0*N*]X#)+4;Q8N^S+)1/YOT?YN,^_.+V7]7:UFL;3;4NS[5 M<8^S-IV6G3V\C^",/@5.HK0^Q;B!E@$%@7 2<\2S+(_[FM^>:))FB63\II)!886IEAJ MJ342C".BJU[CU/\B-XZ[:LW+0)WSL+Z[]#@C%LOB'JO&>M(<*$EM3%(",,X$ M$((J!U,!7<6!)$5<@S#=*(A9K6 :%C#?KXF6]P1JTX+2V6/ME$ZO ^8B7*?< M2"*1X2EFS-#4*(&,KKB((*GM1@'+;;BH+44.]2@Y"C8Z.45N&A*F"C6N=*L. M1OW!)+^8E8I<I5^4H9:&M2A74Q0BDQ*S$%U<+ M7R2J>5%RAR>;!XJC%B0[Q:)=/0N/D?4:+8RPY0@I"E/% 5(.6"78TI8"UD+[ M'V6]]HY#0MILD=D]WCLV):X2EY*;D-OA*6Y\F8P726])R/_(DV$=$GRZ\JFL M64\9YY#6"*0"I3)5BF-5U;+BT&X6O%DF$7X,R[D(L+[=M;N.]1AO\QSL['%W M2J?:X7(0AW7,2N)5MNT=__0.A;E MKE+E+N?#R\%P&-*[/8U,9]$_M\F6C7X^*04.(@VT$!)*2 VKBC1BZI15[BZ9 MTA0K[>J%#N5(=N>G(STHHW(7E;LC9,1F"Q^C-(0*09!J:%)F#:W<=#PU@LN7 M,&);JA[H4=%J/;7.<>*QJ7HK:22Q\.%]?,AK/N0(,B*J(G1:O1T%TM;1@UP9/@0"$;S>P XP!A(;#F!CB&-5RT MF"3$NI=R8$NGH>AQV6J^4U5N/MQ4,M/JZ6)1';EG0S_N+O?GV_YQ]&T]ED'@QT4S7J M_[^\_\WCA?+T_?TY==V,#D'&3E+-M8*$.T)Q%7DEM2#-NFYI2K R"E*$4:HD MLAR#Q:4DI>S!NFZ/OF>CKEL]TZ0QU9=6=WO*.%XR#?3F86)JXORCQ>%" ;$6 M&.7\*D_T^-K?=EO%9.339! *[HR*95(6,_/K,)],\Q#) M\74^]1.93OT5TU!C;CS-^\ELG%P.YQ>SE;'%>E*/;N/*FH-9I,KN]";@;QC09^/=?3L;7R6R2C:8E>D_]03 : M7P_\X/TH!LMG>**O0C!G_IUET;OYZ**<8?VBJAY>M2!_F2["5/R#>\G-Q)\; M$[^:Q36I7\[!]"KY+H=(8C_>)2D/:E(.PYSY.>;^]ZE?B^5T,O_*(-0E5YZI_=+EPW)X5X.; M:5CU2=Z?7_A]F23Y<%"N0S%WS M-/DQF%TE65*4Q/4\6!'N]VPX+YAPZV&48MV?[I7K!(8P)XT>F$ JJ("25A1U MU%-.J,'9@W5GZI1J^M0>/21PNEWG66?!]/?5RJGFR5OJ&EUR-57 M/UI&G2[E1/:P.QC"=YM.J,2OZ[!9'>M5B/)IV]2>W#Y%WFVGP;6U?SR/N]"9( -_SX>V[9%,.WI![%\+I MNG"Y6?+N$7FAA>,?TK4!%_]>318/NQ+SX/-9>G:>Z+//OYU]5NAT.V.&UO MQOZ!K4A.M7Q42&6E%#R]&D_\X_-)(:;V@\1VD7MH_+I(#*IR@)XM;_W(A^'+ M-4DKBEK/%K762>EU)2U2-T0$++4*6XVU)EH+F!+ J\" -!7R!4?U\R6M3^-1 MS56M'R4"OW'^1WV_):SDOPN'$S_ M%0ZFKL5*=XFNC[4A@QYFT^G@N=*+92^Z3U6TV =:^B#[U]*CR<;_'C$$X^[?VP9?&X]^N9R//F1 M3?JU9Z(CY^X./'=O_N.L;']5%:PI.Q-W9+Y=@K16MB@IH;.5,=27,K#VIB@M9A(JLC^1YGHXGYYWW"#^* MFBP1IB),[1FFN&C$FD%C"6?2"T+W>H?ZKB]"9\LU'%7%HN(\\3+N\CQ!S'$@++0$:,LALA94 M76H%$:G:J(E9PWLCJ_"ELN]FGN)Q'2J,M]E]KWL9CQ%(3A1(4)T$P81(*4NA M,0899+65I@(2B0"@&RU4G@@DSY-.CQU(4+O%:CH')%MYD0Y"3GW$6;3J*%K/ M5'NIE^@(8/;8YWQGUTM/62UMR!AVS2-DZ_Q]849]#KME3R,4"U 9;#ID# M5BL$'4<8*J3%HE6\(MQL],X]8+_2G3DA?\L&HX_CZ32]K23FSXWR"BOOT%[J M<9[+JNN>)V^_+._YJ?(W[7%\W!)XQ-V(NX>+NZC.]+3(,J0P4:DF$"$A%*AR M!SDBQ#Q04^/@'&7'C[NDA\EQXVZ,>#N^B+=3CG0[[L98Y6E#:^NW%_$1I31U M!J<6:&TIJQJJ"JH V&@XL!,IO^Z;' ^<%]>%]WMW#&$@$6J. FIX710#*8V- M=!SK%!KE'$=I!34<*\(V.BOL1+"-4-,:U,@>A&WV8^J^"!LM^QU:E!AQUK5C MZ@@#122HSR\JK4B%8T8QB:PFR(&JARP'J5;VV"+.CO\$0\=MFHF@=:*@A4 C M.\P9)%@J>3 G2TJ<67CQI(3V@4ITAQG==OR@%>W)T9Y\,*+UQW$85"AX.ZR9 MOR,3[NJ)=, '3Z.CM. D-'SE)8AT1+L15I>,_G$ ZB5I! MCL'J$R'G*""'U940A-$\!=0IJPURQ&%7=9G##"G&]R/K1LC9A M"& 8 "67O2>PU(U2VHH@ZAD9:J25H898YJHP*"880G:CE/8+9UWP;2.SY=-X M]B!M3Y?K,+U[(=2H7W\]G@[" BP0XSR0P(,KQ9TAU$&18DA30IGF9K%2@@@A M&RLE&$A3S6&JF:$>%AE5"]@3%DC\\J+C#>Y8.2F>5IO[V20>:&V:_#3TY)9/ M?P[1*&._B"'%J&C'<$^!\B>5K7MB&?/&"CTZX5RULO7\:B.7O8W7SARDDEK_O&H&\%@W(>ZO;1QJ((!%!HE,$TCV0 M.+3X9_F./G=E%K<$$W;HNCO^-O)?]Y/!R/_O8GQ]5X>IKJ[&!IV\8#W*?+^? MJLCGGZO%Z"6C?-;U%>F2$K+-_.Y=K.U.D/9X9-\I^-O-=]W+_(()EW[FGQYV M-$.$V-+E0HRF3DMC+38I23'BFB^"6SB0#Z0R-1Q(CWJ8%CZW3_EZ(^#*H?7W M<[-TQ'XH.'?IE'K0-SV^R2?9K'A9N,F6W/\\;VT8N/_N0;N>CQ^&1)BI#..,,@$]0H@H: 2 M>/Q"*MN(7Z: >GR 7%"MK.+ +&(](:4!34Q3&\PFGM.GSW[/;#5\.==[.[Y M55[%(_LW)P5Y!Q_%99ABXC M^=5\2T\B(C6(TV5&SL]K[O,S_2'Q G\MI2<_P7N%MTC]1S&_$PO'CE'X'=CV MCL75Q1#]TR3];L00=HP9NA%D^HQ%B=33.>J),>R10"*\1.K9.[R<4/3[X=?_ M/G2Q-@9]'U;0-P-U.".23B+M &(6*(,HD;BJL\.E<*'.SJJW[3X'VC]&D]Q/ MY]]Y?^&D/ALU"@^IR6#J%\O,)_[?W_SWXWZ:>T;-S[,_'@\#[W95L38=Y+A' M6VT_$)&^D[P AG%&6.,H9DM(Z8DD5-* 9!.)5D'P]5/UTD!SU M &VSOF-$\HCD$;' .*]X'?K3!D;+,3P3B"<5M@S&JIFD*ID!>M4T>@95"8T%NX3/=$DB+R M:E+UB8$QIFWV9S@P,-Y3CL"S H[7HZ@?"D!.-D=S5RRP$"7R5UOX9%>&'\*; M@J1>L*J$*D,T %7H?O6 1R__U_#K,%!L M>?GG<1C5U6QV\_Z77W[\^/'NCZ^3X;OQY-LO" #\R\3__,OBVC?)']?#]\,L MK&8^>ON/+P]F CPZ;%C.O'I$MH2SYR<4O"0? 3V2@;"V_RMG*"/EKC^;HC=# M,M<6HOQFL?"/08.GHK\^:3'WM2>/+>H. "AD;637'A=GR23W1]BT*"\?TC7* M0R/$QEYF@TGR/1O.\]7DC=K?EO3];[-Q=<\TW#2]&?M'9K-\^NXI>[;VS08& M/C6] Z*8W_&Z^1U$M)Z8 /:9!7'J+XOQGL=S_CT?S;?I5Q'W\G#V\H22TO1X5!P' M126SZ;*I=O"85;46_07!4OGC:G!QU2B(5ESRH,FRZ/8F MHK40PX2X[ D10THC,$5@.BE@\G_5W4,85@9ACJD1PA(H4X5+8))6@O09P%1E M5K4!3 ST(-]+UFD$I@A,$9@Z TRH!B;B!*, >$A*A4X1EMA6T8@ $./ \R2F M?[8"3(2C'H$B E,$I@A,)P5,!-<%2B#%5%!*!'((<"<$2TN)R4FCM'J>Q-02 M,$G>$_B$5;E.N1*J2&O44N>"3KL5]CC7)SO;CFS>IS37N,?'/]>XQ\<_UY/< MXQ-R)S8S'>Y,:9@T,K*G[Z,JN678T!$OPLE./.Y^W/VX^Z% MH<<+?F\C !WZ1G=-"SAV[2[N9=S+N)=Q+X]UKFU;5T2')0I5ECP:7R;?@J%E MDE\,L^ET<#G(^\GE9'R=J- 0=#":C9>5):*@_4K>^J-SR'?$YTZ0K(.!3&H! M3Y6!2B!M),9 5DU!F$-FH^CE@U4C/S>XR7EF4A<7\^OY,&1&>*[ZX)FJK)!I MB_P'_XS?QI,PP$_Y[- [@RQ_+6?X99$'\G%\43QEY0E?LF$^;:UB)NQQ!O<1 MH!"#HR+<1KA]/MP24=<8YHPP2IDRAA)"K$"XZMP!(4^Q>SVX/:SV':\(MYC* M"+81;"/8=A-L60VVB@O,M4%0&^VY5B"B*["EPMG--DG[E6T/IZK[:X)MC^\G M*R#";83;"+?/AUM1-S."0A)$)?>R+*7:2NMX!;<@M,A-]BU_^W629[^_S2[]D-YGPQ_9[=2_ZI>K236;K$"?*:!**@F)\2@$@O52 MD3)_D6 *'##AGFQE&1Z:VT-UG:>Z+//OYU]5N>IN$QES9Z/9__R^!(/_K-+D;]/? >0&E\ M69R]CQ69/2[:>,"\$DO)/D1('_/O^3"!KQ;B%8N<'S+=H&2S-5^DG4@[3Z"= MU JT*^F>6Y.0*E21>W(88D;+*?M&XN['W3_EW7_: ;#GP/.M MI_GK>)3?)M?9Y/=\EESZW=HFJKQ5S?0U'9^'X-]D6,"AMJ]Y*3^4-NG:^[BP1*>W MRS__WR"?9).+J]M"?EIU5BZN^3"ZF<^FQ05PS9W8>&3#9. F^?_,0V[EW<]K M&A<^+ZR@[84N(]H#K=:C[6P3V[&DVR6)U_'GIY[ MR9]D3PH9@@PNQM-9\A.^QWR^M "@?5H .H(@LJY6#Y7AQADB$$H=!!(QITH$ M$1!3N]%&0WW/!L,0\.#&DQ <^27P7Q'A<9H:UR[!HWL!GM%F>)J(P2%NQ*%# MIE/N& * 0*HPEZQ$#$:M-!LYEJ^)&%U4@]9M-* '&(BH$5'C^% #HR5J &L= MT,I* 041F#O+8=5'D!AH.X4:IZ:D= \QCLL[I<>C8O0A3'@TGN7W.*>>#!4' MC BTEB.8AMQ )R UR&C)O Y2!>P++839L*DV5M'D7V=WY1)$%>1H[!?4!.>($BY959P3K)T_N+8I2QX5%C M:-V8L"U!=E;TB.;)$\49W!!F4B*L5DJ)U C)H/2P4PDS6 JXH;SL'V>ZJ*FL M2RZT)T&KI70CUD2L.0ZLH74D/+(&A!;=4@(A(,72FJIFN+!8NP=JAN\+:[JH M)469YJ4.E,YJ4.?C65U7YNXZ,B_>5.PWM3^>!Q?-3BI5O&HAQ*?.M/LPR5D- MD]0#)&22*<9@2JAT*JWLR8XBS38\R@7]W&%6.DT=<.>I0H]276>%L".0M?:/ M?-O50#AT6-QNUOO%3$F7F.DLU2D!TF$B54JIA\V%#RXE3FSD"[PB9AZ /NLA M4[;;&N8QBGQ=)HMX&O$TXJF$=?9$:H4UUCJ74L X(DP97JGJ.%5R0U5_13SM MHLZ^8\_F@<)IV_TB=P.X55W4HK_UO@R'G:[6LL<%B8L0J2)21:2*G51YZJP9 M^&-=3?RE)?V.72,Y@OG%O3R>^9W,7L:0QOM#&E_D8=W*@G)8W&O30>><= M!(V*6C:55"A+*7 (T!12045=[H\^T#RR(0:[&' (JI&5(VH>IJH*NNVNSRU M-*68.@65PT0 0*HT1L$Y(ET15+OHWHN"ZM':8LN0W,?[.W8EFN( D/20XW(A MA+5J+ZTA#BLFK 0IM4Q3L@C,M9#HC9S,!D[&Z-R]0V<,S.VJ0.R,%= :0E#F< E=9-175F'<-^DY>%X_H%]$OHM]+T(\V5&6<0B,QM@1# M306&AE31L-P*@3<,D*^-?J>M,W<)^@K=^)=9J/>Z_+[XMS&HW8BJ^X8\$-#VKR_- DT,5^8( M0WO@ MYU%1RL5X.,QNIOG[Q1]_7:>)-TN31MTA'KVYW^)1OH/*/__US0;15N]_X*>' M?FO]IPZ^[+AZRC\I8@C"5^CP?._$=]:R.1PG27&>),T#)MH=@/L:B+DXC'4^IU4Y:PQ@QRFEF2_,Q,$YN1EH] MIT44E'\G,6;@ (O$GX N$S&I6YA$0%W@Q3JHH-",T%0YSC%RMDI30B1%>*.) MQ6MBTB$X\_T1C=LL,AAQ*>+2R> 2JIOG 6BM,8Y)P920ADAE:8E+&- 4O:B= M9MNX=&IN]HY'F)]F]ODI]^&%!-?1V=0*:[7%!#/BK!8 T4K+PAQIAYY?73[J M5L?6?C>:#4\5*&@=RZR1)@0ZX'4?36T*'395++.'"6(W5)_] \4A*#RTAR&) M8!'!X@C!@M>AO\Y1:3&'5O(T=00BK:N>-0A*E6[1AR]J(<<&%$>8 'L0/6EB M)?&.5A*'%-06'0P%@RH%AE(!G#'*@*K#(&**JXWDB6>4$H\*VDG6$3]U$W4$ MT],"4U2WA7:86"$XP598B"E5C%?B*$:4RHT\W%<$TP-08C'J8;+7'-P(J!%0 M(Z"^-J"21O]K+0R&SF*#C% BE#6HO 948F-EAP#UY!3]PP33V.7F(..58S^3 M2!61*EY[$2)5'*UA.7:Y.25]*^[E\MV$Z.LG@X$ZQVZ@%M M&4&44_^O8P(Y#DNS"22<\0VSR1.+AT>'WJD5#^^TXM,=FW2$U*.$5 YHH\N- M=$):@(#A"@G%%%RX]J2D\H&PU+U"Z@&X]3@5$5,CID9,/4U,1766,W,I EPR M:1P2$AC%A:HJ+TAF.R.FGK9G[Q @]:@LL;''34>");J"F*260IE-*8&0IXPI M18J075!%ZUKFQ=67ECJ/&OZQECH_ 4-X#"*+061+T&2UF F TEH2*IC7TYT4 MU,*J: 5QR%'<-= \<1W^8$+)(J1&2#TE2!5UUAA,N<':6@P$AMABS.#"P<0U MM2]NN1-5^)-$U'O[\3RK]TR3W]@B!NR>7C3)YMCNZAQ#JAXXU>(_Q^RPNIB/ MM>Y9@4S(RK<^>WV?69\_&$?>%.Q_.1[/1B'.(/#^N=_X+_DP+XCQ+2# 0(DQ MI$123$CJ**K:JZ86,/ 6%.A0/>#1R_\U_#H,_%!>_GD_N/+(RN\BV"YJ@]" M;8Q)\NG,<_S,$U1[0;V# HZ2\JX<3R;C MKT6)Y'[R];9Y4?G$I)_-LF)@T_G7Z2SS8\N&PUO_V#RYG ^'R2R?7"?CR^*+ M.X?Y;HV:&Y1Z%W)$M'@>6MS9QN%E:*$45):FP %K#!=:<5 :JA"A@!NYAA:/ M77X$:(&?@!;K_/8M'WDQ)_#*?-1@JP !L]N;L"?^ITE^&5;=,]LH^U9()X4\ MP?\Z;;S&YN,?$&Z\'O?S83G/J5_5P:4?]FB6S,8E_R_79+J& &LX MMR\((*<) ;A]"$AU*@!DGK&Y41*F&"SZL1,JN2!K$/#8Y0<- :J@[L42/_OV M_YR/\I+;$ ]=V!#8^E&]@L?T^-K?>+L$BL'HN\>*,M#T*NM[:)B%.JVWX>CV MY#_Q:Q> X'(RODZ^Y#>SJB6<'TA@Y%^#)A8^P6=RZ4.[L,Z4S:Z51+29VK'Y M[^HL2JWLT_S:/^1B554U97?8?YZ;=8U7CT<%T_AYFOSK[#Q,./!'.AQ?_/[F M#G;A2AH'C9%$2Z4(@U94 48,62ELQ2Z%0=-"9Y6 TDO4"F&F&4H7ESH>JO#F M7N6\";K;9)X_0NT/K7-;[4S/ ]*/A\/QC^(X*;#Y9C+^[@55#_1>++SV9]%M M8)$++Q=_*^72QG'I?QC/)\GB(*VIM9 J T%/!W_XDV8TN_*'GA][OQ.\EOQ4 MG('C^=0?9M.?U_)JGKHIRQZS)215K;W6F[AN[E+C^2N'1 =;P/K=]_A2#B^; MS\:++THK:/%->:Q*^@Y#1%_6*9:\N?\X+E\CMFRGRMMMIWKH/=+2S!^Z%WG9 M331Y2B?179C4#RP$[/!#O 2O Q:TD0Y1X$\H(# .!Y0Q56]V)?S_UH_-NXRM M_SV8736UC-*N^SGW)_&%UPZR,(:E/3;-IH-I40:B>,S=IN7.F6L/,*)JATZN M'HH9[?%P_Y)+ ,(.HN#V5',P3NA6 MGKUB1BH_AQT>C.99N0//L/JV--_BGZS@@BG"TJ18J]13!]:8I,R5#EL<;%*" M!NTU>XKMXL5#+3ZNMAV'X%VRG1WNRVQ\\?N5?TH^F=K_F0]FMR&/OHX]>=@F MIP5ABE$,@;2&:&-PU8N"5_- MGOT>N&[2:T[K+TDYL4T26[-B-LEMF]G"9Y@2V9J5";9BLBT_ALO?#V8>#B[N M(I8O5\'9]#F_J63*1 7_=K% +[*_+8RB+=45.J_M\'^9)NDXF_0+,\E@XO=C M/)DFV4VPD8:T#_]A#\)6^A5514^66S;]\F^;?0U_IK_FTP&@4* MJC8;EYM=N&#S46"$1-U,/'W@B@S>)0WB;>SQ"\SNC\AGU1[7XAG4F%H",16, M42H@<:YRETABB""/['%?C?J?\YGGM;Z9!^GK-S^L<;^ CKMU4/CW%1UT6EU9 M;S=8[C9X<+<9PST&'NU&^OR-+H<4]GOP_[/WIDV*(UG:Z%^1Y9MY)]->!8W$ M7G6GS0@BZ)L]794U&=E3-I_:',D!50J)TA*1]*^_YQQWUP+$!B(0X-;661&! MD&]G7QY/XO*98SU!8# PX-B,BU(A?.Y]J]?H=H"IL>4,C_G0/)K?!W?=OFVV MK\>MULV@8]U8G=M11U9\= ?7X\T*TI>=WS;+>>OQU9-5O2#/I3:WY%)K82^* M/Z^KT,T,U>OJ&':9H=5;VR+Z=Q[E::\9OYI$G'V_8E.8TD_,?V"K&"W9>52V M?O%RL6$/E,78NAG?C%I CC*E>CL:=JW^NO7[X@H"N1F',(J]KU^NOWPS1E^^ M_O;EZ_#;YR^_OMS >9L9_OKEV^V=\>T+S/'7NR__^'PS_'9[8XP__SK\=?1Y M^ _C[AO\X9?;7[_=&5?&Q\Q 7J]%>8[VWL8%L79U04!/+CQ17 %2:T2KG/' M\7C\0C]DW+)O;+L'CME-;S"\:5[;U_(Z\'ZWU6EW"WZ(U;^^;=LMD*QVJ]EJ MCP=-A5,"BG(TNG[2#WEVG T_I+ V,A=*J]O7(7G)=/99C7UT?T;&0VP'__M[]=;SA:""12 LTC& V6/?AA&D4DT$R M26.8=!R7_0POQLKA/[#($5YSST#3IV#@^,Q;P)-@#T18,B(*!A-O1N0D3-0P M3< .HE?G'V'A*BL+9E"EL!3 -'"Q3M>C1/& H,NM1/R*@+EV"]4?EFPQC+LI>\J*:P M/!@ 1H!165ZLB7N(:X:I3U3]-GD!Y-H4=@2T91P&-'=5/>J*@E,X< Z6$7S' M<:(4S"9C#@:E(;['<5B7-^I,C.#-?@'/FMS;MBA!, TP*)=AA(M4U$9FM BM M&+]XX BRR!B#H3G%N<.^RJ(YXS<>Q+C=XQ1V9^KYY*@OTT1 -P*UQ+&AS&!! M\/]LW#7 OX\3$(8)C)=&>0'3'9 JK"+(/X*F_ + M;"1SYFG,DP1(?YAU-- (V=*,$5LL)]SW7S-KRV[W6\8#S!+H.92GN/]IH?!( M)S%UDR4H!2I;/=#PWQEH3)":@H;SF R^ 60'1=&):_'/ZJA)-ZL-)WLF6RQ $)M&^SYF+@1_XW9M. MA3PN_>D_8IQF$'.?%B)C"L55Y-^6# 5.ZT(4]($<%Y_"4?FV4 @?Q30CS/< M:A:>@\86 R,BP(O MEH0$?D6NP6@U+2,!/3>=QCCNMI+=7&& 7B"/%<8PE:C.I 1RH!).BY!>#A0( MZ@HG1T_BJ===;N>U8\T7">[8N&'WGFO\%TO^35OR;1XN8"=^QW7 3IG@^RLL M*3C-$!N9YLR?DB#=(CO4#N9$^(R0>!MQ_NPJGUG8JT2EU1W8PJI:8T5@*'2R MG;D(/DT]-P6Z! GEIJ)#+0W^2&&U/("-F"-_F*]DW1*_OAV?YM%YYOR9>K&7 M3YCYG#CSAB^$VY/O*$>!>SCQ)1%4($4-V3\ MKJTXVT(OF/JD'D0HD8*',)4$!@GX*OX/8\JE]>V$,1K*^&-Q5ARS4VAT_L4# M0@A$LV'$?8]/<9VP28>R%>Z$I>"O8%*N,*IAGW/6+UC-L7%U17X[R"4\/N!$ MXUN45L=%=I.X"+S1]L_&T.<_,&$RGS)T=BH=P&JU?J8S^!VCDFQA?&.Q$[Y. MXKUN1+O3,JZ,!R"MEUM03UEX8*((QH^YM$G(TR#B*!DLV#*[;@8"%7T.@+RV MK>IFV\EO.2!!P_F@(#!6V&(KDR',B%(*EX>JQ6U=K\H->,1VJDC;'BT$\25- ML(V7]D(5[AE?L):CUL&(8;)K?F/]397UB*R_.(M[[)Q#D$:?BZ&/[)"R'"P5 MW,19[H^(&;/,/\C1![EPL 30P.YU>;N38]0/1JWFL-,=#OO7(WL\'MX.AY:* MSO5O^QN5X1A9Q+>FS/\R\27OOKI(ZJ5YGA8XLYV#)7J$>E\[%7'V"_9'2)UW M( %%U B3]UL4M"/W _M^TREN3(1'J^1K_O(I]4L%9!-(N21:?+;&W7 T?$?^ M5B(2$(>P$5?EOX(.)S$\"T-76 !8Z(8P!$* EEN8'31L? H^X7* /E&@,C]9 M-5!B.U[DI LD680Q>$"K;L.1<3E"!7@!.;<,C/!$^C?*A.(_EA1-QR;B$/Z2 M1?;P#;E.R8/6Y4 CF-MP%G$Y<":V;$GY1?Q-G J-GPT'-HP 74"#IV'42;Z_ M2*+_+65@="7*D/L,$UB(5FWBXISAJA+PU=?0B&J46!2CD.3#@AIO;24,!)\T M_9^/0C=0N\5IWJZ.KD3V@K48M1I(;B$]%XL2&&\QH5>3[Y\]YU+G_8JXS0_C MF+H>L194P&AL?=@L\-.VH( #?E:X(&&RQ<+'>2Z!)] !<\+EBHIK3;2W70ZL MZT2BPU_X%Z 5P-3G"6X-/8B. +(]K5Y$PW&>^%+P12(Y0R':"H@>,7_R$.+" MBH#'EAP%O'@II0LP;PM\!H:4"(E+C #U!C'<@H$"2Q?&,L3%H2"0<6UT1U.4 MC#"YE1BQ>&@B($]1;_!1I+^Q8-^Q'LHE'^OYZ:>!#UY&@FS_;4U0%3D MH9)[1%8BGW(,CLG4 J&T@.GK[3C$'C/TH-:%<1"6D&2$[,3WA]'F6ZF O]Q(XX5<4._Q8AF/$:XJRDP"9\&<&L9*?F AZOKOGJ?LG(]QQ&+0<.KY 1/ M9(\,3)C#:"_#--A:352KVI[^_K4]QR^ N>P2G=T*]AU@O-3G7Z:_"@*5A6\W^:'C3&P^'-U9_U!QU)4QZ_]KNW[0+]3*W_=[M>'S;MJX'S>X MW-"^W5*/CINMY@:61@5E*SO5G12:7PYA2:L:^37;(Y=E,NLODJ6QK#R(#PEQ M\2QJQ>:RSQ'SPFHV]\.[L+K/ EZT!KL!7K1W^]H)#%;]&_<>K*8]^?W72IS^ ML[#3&>GVGKMG_ !71CVZ[@TMO-/*M^C@;W/PDXQ?0H(ONL5JA\M$&[^P8[_S M?CQWZ!?(\L_=8GV(L]_Y:;=[UOAF M,&ZUQN-QMSF2TZXW1IVAY9E]WNMGKRR9S0>8^OP?I+*&E0CJ2RS M:VM)I265EE07):G:^?6#HT%_V!EWQ[?M<:\U&@W'_:$ .; [ ZO;&U8@J7;" MB-ZTJ4">:DFE)9665)9V_8<%C7.Q4V1[Z/$M@>\&$O7[&A)UFN]6Z;8Z' MP(RW=NNV/^ZV)=9V(]4_#S;V4+UMF:U"E 5%; M4^ ,-/XE,-6@E_?O#7NM3@\4V[@S %:RAK8MJQP'UN"F/:Z:J< FKXBI;+/; M?Q9^4S.59JJW8:J^E3?%WG8[-\.;=G_4[-O-Z]X-@HI+<_&Z/7IMLN!EFJJ: MNU5Z9K]W%G>K:*8Z"Z9JY4PUO!E83?NF>=T>6];H=GASHR Q!YV^U=NXUJ@* M354-4W7,5JMU#DQU,84"BEB,-&8SOB?[5;H9;\67'Y]AS ($Q&US-.PT;T:M M<<<:WU[;P^N6NAS0'HQZH]P_EC7WH2%.$"89)-T]SGBJJC[59>$ M7T"0][(YN5< -:B,DZOT/ >=GN9D MS-2VF[?==K]SV^Y*M[?9:M[VJM3)E;F[MN;DLTY, M%@KI.6$:[UY"?YC;?$^OF.*EVW#:116#0OG7\&9X8W]NZ[5K7-\TL M]006RRLEV^$NVFV9O>[@36_:K65QQ05$U+6@TH)*":JNG0DJ>SP8=>R./;IM MCENWS>M^L]>1O3_C=K-K55"G6HF@LLQ!IM7S1:6NP/TY&%VQ*T9Q.XZ MI(>[\_79-S?6Z'9@#:_M\VS;=D?&FF^'_5%GA-_1UV?7"9OW)?RA$&]0 M3QQB?9:]ZY7:GP.\UO<;^_'""[0[O5%ST.^-AX/6=:_?N^EV6PH0>' SN+XI M )WAU;;NK9:G6OXUVIUKT'1J$>'@T'SR2NGGQUGXP)ML1(#EK+_?=DO&/WU M!_\6X,/?MEQEP>EN9+RJRQ-;E+ ?1L02KBX8$-9C0MB9BY!@%,5-H:=_P<#C MX$NO?I6)@,U[7KSPG)'6M5N\;>\,NEA-<#\!P M&]QL-#W>JJ/.V/HKG+.X2CX%>OR2W7S]DMH^L,0F/"I:;;G1=F4_;;5U&]:& MS?9AW]N>Q.X#051R#$]D@.D<6KDH&UY;W>OQS7@\L+J=X7 T'-_VX!R&UJ#5 M[W6:&]T$^YS#9F76<^<0@TB!GYX\D&YCL_SYT]X'LG;A!MW/ $(&KS[GZKZ% MQ\4/ J O(YA?!(,8;DIWVX-CC/?%P#,3'O IWNJ"%Z+, AC6+6*JTR6:5^+2 MB.RZ3KJO_D9EI4 M/J(VU?5U=57KK@<'@)OKS+P4N&4+MDK$I)M?=@4%OBUC.G6 MV+'(5/" ZZE+BL6EOT4!L\!KNY9A''L8!\BN#"-BSJ8G;A&'4:9IX):$DIO+ MFS]3%H$3L_?%=?4U$V/O1PVIZ>*,Q$+SQW#8&O<&O7:_TQO M@OH96)W.;?.Z+8_A MIFL/-Z"4]K41*SL&N[$97JVC9;C%Y,(OR(N^-BXJ?R D]+9">,<7JJ3K/TQ"3S"OD#K"'D^1W=&;#/=!EFE-PQW"L MDO?V6JE2U57%5R]*8V/HN:;Q%:\VG8I;IF^! MN<*%YQAWW$GIZNPA;-O'=Z/AU]L[_/G=)]HR'L!V3"5.1H, M>SV[;S=OK)O;5ML>=MOR&OCA3=,>]] MF+NP;[N]_F@$:LEJM=KC9GO8DKFU;N_6;HT+N8M6[_KF>FA9UK ]Z@Q:[=;@ M^EH].NX@)L\3N8MGQ]F2NW#3. %!*U=F&G_CX2QBRSELRN= J"RZKAC8] ZH MC"XP!G88J6NJ]\UXO&#.%7+$=I+:\Y;+=:HH[-OU2G[X)'T,8<6C\;!I#]K6 ML-L=CT=C"=O<@QT8C KT,6[;XU[[NM,9#OO7-Y9]C?=ARD>'U[>W3]+'L^-L MT,=>=J$1DOW$Z;;)@QF![8[%V_8@YZ!1\^:ZW^H.VD-86M=N=\=RA[I-V^YL MQ.-^);/MRU0<'Y8YR"-[D=$7BV>+5E\SL_J:):/O*N8.&GX/8>2"2GGWUS#@ MSY:7K#'7ZW?O>0Y\ 57\51XE&CERQ6AWK&NNLD^ 5QSCO(TH!(D>%ZYICM"> M$[8?*$[U'-YR'H7I; [.T3W#B^M7J);!.DHB;R(NCW?F+ BX'YLR((X3@K]Y MN"E@[17MNX#F!!H83"OF^?!^,QN KFP/KE"6R"\*0T1]3G>K7X%@0=M.C1]& MXO5H$/CX/@-.TGCPFX'='@_MP:UUW;\=W\AK!VZZH]Y&[3%XV%AS(WSK MKU[\_3<>X1_8C%N/)CW^%4?)OWYA?X111J[#'U[\+R^:)/\:+MB_P^ 7CJ+\ M7W*8?VT,<[VZYH$S!P_R.WU5/7@'TCK^RN\YJ,U?>?+\:[ZMEKST!C6EC6?% MNZJ)$K0Z!TG8[$7&+R.5/&9LWUZWQC<]4,K]P6UW<'T[NNY(W/>>=7V]866] MCE1D"EN3BMT_1&R5O.0P(9U*.U .MIHB5 )F#3XH$NA2]1H?Q;9_JBQ<4;&. MV0B1B6R]U!'$(X_G[]],YO;S#MH.R-SKMFWUNX-6K]=I7@\LO/C^>GC3ZHQZ MX\'^,O=_-2,!(W4;FT"SIR!S^WE8O&6-FMW!&!3TP&[V.JWAX-9&4KEMWHZO M^\V-@OO7RUQ-*D@J]I92IUK(W,H#CA4+X6<"C(-F$^S*-KCTS?'-N-_I#$;" M0>W;(_O&OGYQ@/$0P<3/"5](.[YA_,("8!)TC[/J!@P1IG&L8FA#\$A7L8?A M?V/L!2QP,$@,=.EZ69SM*T62Z9$\ _5RM7FP WE)+?U+0VY[N[0BTN050I1( MTPRFYHHT+^QQ+"( 5+L2H^1Z8)%[Y8?A=XKCY)/#=8,04]4(Q6B;P2/N1[ M"R^K*"T.[O H4-G$/#OEA'$"%(01-)(38AVT#4N@)Q#G2'#L'KX)XP7\0<7; MX(\^CX6]FL"8\MI;^:'/4E"Y^+GZBPMJQ@^75"1*T32,U(FW*E(O1/74'Q=+ MGI $$W^(4?-< *<0#DKSXYS12;^ _X# RB8R#^CR8(2M/"]^989F8?._HKD$XG7N+9?$[?>@I6;(7;Z/$UH"[=.7LZ"Q MS&K3@L4SN/5B?\J?"U?*%_SMPME[1$M86I(_A"%82C+C4T6"S1]9J[R)DWP[ M4%X0=Y1:Q0;B>WV> -,3[XD_PA%Y?BZX1"(87I3&E$J.>#@5+Q'Y9>)/ M-,J">QXGQ-YF_A&]8LO6%_/\[$&<*LW&^S/U8!8KDU@0F"T5%9*/"74E(*FT M 3B&1[(*H2 A<3?$+4,@$>]P-Z2,?N*]#G 6:$(/M;LW]91TY;0-HNJB]%78 MPP702HJG%1OO)ICWAPTQWQGOQ [2CPNVPO\\>+Z/_Q4:%W]RU \QY]_QOQYP M)?(__+CT62!>!/N!&7?Z!:'='6\I?X5%BGR J+X24@*GU$ 1_M@BXIBB@4<0@(: 4\F!E-$O8&MP#8-*4S'5AQ8'L$94N64T " A9 M4Q+F-6F/[WC#^!TV-P+^6H6I2IAX\CP?FQ@5E8#=*;38C/1@!*R"OD%.#<8< M[!D<[1TZ0\98R*!WSRH^@W0>#@I/_@;/&)]-XQV:PH8U;!@;+T/"'@8!;LOF MB_XKJU-: 5/+\,L-=\@U,^R^"+C@:V3A!ND#>.,S6S8'L02:UB JP7U+ERZ5 M$L%7:]W5F^2+_-4WE"FE+AT!13L09J5_3Z0%1Y MD9,N8C(9@+?QC$6AFZR$(]Z,B)&(TD'ND I![P0=?S0O$R)\AT0_61.^1Q8( M=05AS)(D\N,S4Y(M7@*= ;N"#*"BM7PBJ%A>4:3Z]E1W"'?_"Y@Z]QY_V"V* MG;?C5AQ!\;ZB-6X 63"P6X1,+UOJ0O\%*^&IN!Q[]X3>F*2>C^6,(DM/'W,P M2[ ;;LG#I;"JW=!8A&!-P#-S$,6H?X1WD";TLR2,.=@0#>/+II\ FL9?JO>! MAPQ.]8)TBX&BB[0:S%M816C:+I:^%\_%F$)#>J"^&%9^^F +QF(0Y( I.-XA MC@\>>"J,KBEHNQ2K <"\66(A <-24N[,@] /9Z@=E<:!60;"B,.92Z/S'AG% M%:[8DHP!,3ERWQ9LN53V*Q8TSIBPT.?I@@578JO11%%A67+0YJN8O,%LB@WC M'YR,9N'HP;EE2Q$F)#@D0$C(S&C#T1&)40UP"^)5C*H637)Y:&%V9)3,P*V5 M9X$)#MI%.-C L#ND9)&[I8*DN @SEC K&$Y9(_1>SXFEE2J/,JO@\$39F(?G M@ ((C7KA."@B>J-"#ARS5,BQ9QW'Z]E:%BMVUQ"*WJHV$'XD2(X!RXW6I1N2L8]<"( M\)D(N0J9,DU 0<);J5PJ"@/%%.! N?B)DG;(844)$X.>P"IN(+,T)J\C8^() MU@%*28O!"Y2,($9%04 M,O2X' V48,T%6'E3:7."J9%N%.$54!E4 S2(KJE^3%>6?:. A^\ F+VG'R/)#@1$8+! K$(M0LR9%PB5')?_-2+$_$HD"X1+$W M7:E8:8)V P5I!C@2S,*GP!_HA->#!@:&/W(#E!:\"O4^=Z":E,Q#A'ZQ$\+ M]//A_Z5]O,]VA$)P9*]D;"U&NA(C":ZFL-+"H]T8S;V 764P!RI2NJ3J=M"J MBQ"];E+(,E0I]D=%)=$?SQ(?3BF?%>7YK##+9YT>=Q70':9>!'0N>ZZI-REK M=)GYX01V0+6A%($C\.,@!#I&=9%UPWQ4$>5/JM<$>;? 0@5FE/8ID!@'HA%; MS]U2'%IP4A9XE7LONF&R2;E>! (173IBI^Q74+Y1NL17RE"22!YD>C:C5#1N M[_-0:&DF!1:&4XIP3B+255B(^\A>*J]33%L$K^B!*[79*CQ.6P%,+8+=V'9E MQ',62:Y]H(R?'SX("S'R0+_ J0!9SXCE/P= ^4!@RF^1F_J".+_87V1 )PJY M:ES*"!Z6!EHK)OB_;']AWLJ(Q8P]\Y&72)%2W#2+VZTV%"TK)'\)&#?676>P/&6:"34\&;#>OX-\=JAOKSSSS@<3#-'(1R-/< -Z M$%<8R,\4@ Q[3#%0;]RFX#'R@M2<>S0I$6D&'HA1E^)?9B$(GRN5X5E+0XB0 M(UH8.,%O/(J8M'@6Y*2119KBH=/>X0IH0MSUF*&&(.6*AQ[ADAGR1!*E2HD M,V%(&+;FO=489*>3-TAN-!"2PXGVL#3N0 ?@B[+VQGP?,UHJ0=IL/Q2BQG!" MYJZ;=5KC=BQPE6H/I-G XI+F8M+K%Y9>&&*@*0M6PT$N@.5PQL7^2B7#Y*+0 MRY!6_"+$S4\7N:4MA#%L!C*._#H:*+05OBSX:QBRMN@%%!BFB?0LI+"3A"&D M5IYYP/-:A&#>HHWKD'M*^[Q=EM$A#NQ&1QTCY;\)#938F*,IO\#:*N!9T9ZU MPBPFF-)R&DJPG9Q2O29BD3*VF#*AC!PI3ZIS0G@F$BD!]07[R&RB<*%0\$1J M"OV#&1QA()I5"O0A/8='-I0(.8!1I+= YZU."$UEJCV@4RQ,"[/G^('(XY-. M@;^B"TH$AR$73%[(]S2,_P_X_Q[U'.$0!& "A &)C(@OJ$P#ORK>*S4P+8JH M\0KTYU0QEGH>,M3S,(MA )*,S!::4"X@%O&U) M"01?YK^I(YM4 P9T0OAQAH^+J6/R+?53"K?!7BY4]E6:I)2PB]$B$/,6IY4+ M_S W>1V&V7UDV 564N%LLS-O&,-82$%8K*FR_FF@\O[8[>T@=Y-1 2]Y0IGG M9JB9)U9I>KD-*XF1 DJF=*)(Y2@O$I/SJ0R#8O APX;8UHYLBGB[G-("S/H) MSYN$-P4/';64.K!R![4 /(+F R@.D9*4W%*>=FYZYQE S&&2S["BU !F;^$A M1V35,66;8KATTVHL^-LH)#&'"1N]EBM$"3\5'I0:LK 1:^W5Z]NR;EWM4AY^ M9 GVN6AF$5V2E27+1Q#H T.S$4:Q\L(3$B.R0,IH-2WC'^"4&BU5"J-2ZO\, MJ$3H+J$ SK<(4_E?N703Q/%]?/?/NV]?WWV2%6'Y$!Q=NR"+_-B=#\JK@P^_ MAN%BPG+?%2M)?&.8SE*81K'H'6W/Q*6+)*%7X^ME[8,O5P@5^&K;!;IK*$[O&_W&[UL>*P7R^!4I)]>K'-2@IQ< M \01BYWE+((]E@L7I8Q4$\L%+BHY,L'9(!R"I@(.' M'+G$ A,)*N![W^'HYF%(FRRJF83_3A9&88! )C'RZB44^!L53 TC4[+99W%& MG["K<,98DI!52N1;'_$_4X[&HJ)'(#4IQ1VR7%><^51+HNV@AQ)T,E>1'?.";WI*HF"E=E8_$1I#?#KQ%]+ M+Q6@#8FH*RA&?-=$;5:! !LQX:L0Q7Y!65!=$Y92*?^6HC43OL4AWR+%:E5? M8.GZ@C>M+ZA8X\AD+U8UY]%>BK90YA)$<1#>YT5FDTAX^ ^YN,\R )*A7A9 M"KBXY/-M"71A[Q-(+EDXZBI5XO5$L*/W?\F/_N5V:!I_9TN9TJ7HXK/>I'QU M*?";C9,\A+0(E8I5+J4,4/^S<=<0MJJ<4#P0IO/@_TKW;"/PDJ6))?-OK,0D M$U,X[O?,2=.%#'IB#9SP7%W.ER+(#!9:H)P0,1!W9WEC.3>N(\;NF?$'[/JB MFX4#EED)&4,-ZGP':Q:LZ<3#1'D$,Q)O],G;C]%NEVY/EJ?.L]"RJ%(DJ!W8 M_(FL5P25*FO631F.Q]V4&X@#8]W:YP68,4 (__""[\8WE78A\9LP_SN)8?2; M0O$>EH+5Q52@2VR/BFZC^X5KHXG@;$,$TW&%88K%G<(0R L'HS7P7"_:0AI$ M-MFI"ILA(X^,Z$1E1+SMUB_3>R+>;,\VQ=V6] *\Y#.;?(VI.$!O@.EI+:*T'?<9PNEM(O MIXX&RIA+\QMS4#CR @<6<6)P+Z6;Z'N9M,EJV/,Z::S))D:+UX?\(W5G:MT4 MW97(6[*5(N^2V%H97PAK%#/^(9BE,^7@8\2"@@2J;C:7E8*7"T]G==0\B.'KGU$2A \T%MK-I;+[GT'JB"N*1*3UYT+1-^S9#"Q[,AU%J1,= M#24)6# C]#FQJ3\7JUTIQ2%T/9 "$OK/10+ *3R*.KEUAU2!.<6+:/M_SDJO M"B_-2^1YN86I4,:N-D+6(C!1#/_$.6-#5MX@0U4"'D9YLWX)T9?C+3'Y-66> MJ*=?.S[1L"(K^67\PF'QW, +SL2(*E*U)6E92/*2AA=-&+CY>6ETJ0@30S"E MJFZ,IR"C[8JA6K $RO-%">7N&)T"5 M0"')=DH4HZE;%"M9FX^DT8+V4S>DQ7#4+J6-19S%[@KC!M^5?=OUJ .QA%<( M(_^1RF2=*!#&F5 ":.BC]3:C.IJ<;3'&+HE4GZ0 Y)0 M-$L2/Z%I5'!M#Q62OX,=%FXI98I):A12CNSQSEZY&3#.DFE%;BTT^*BV M*?$5$7VF\@N%'YR! .\+B=8C@0N\;^=IJ#VP7==O MPB#CNHXPM.MXT;4KJ"0Z>\K>V(_B.GD0=7=WM7O=N6[WVX+8S'MO7[;Y$!;BY;MJOAQU%R5\=_MKV MM@%<^)[M_6\!R/"-&M*0Y(B+R3(B2Q_KX.:E7&VIJ$N$X9<97$BA:_2G:J-Y MA>^7;HIMKNT(_EX<($!;S"\W933%3;EBF0[W??DI 3CB[QAV4;]OV<9OW@*X M\%NDO#YZ;S'\:#!J]9J]E9?]\4%>".G 6 M;!GSG]0/&T$"G']$=Y#"([C1__G.LM\5K_"4'\OYBQ';UH>?U4/KGUFM)S[; M[:/S>>.6'7V[>YP?[UGKOY;?^X6;*[9?:9N14^?=TRLM7V^[>8'M+COQZ+HW MY,).*]\BJ+^AM2+VXQ6?769^6/NL MLZKS%)3]X=CG63.A]W8+WTWKG1F5[[8)F@7.@P4NAS/GV6Y[.^BSG+BPEOC;8WHA[;LCR\ M\=CJ5FL['ORDMO7[:5?G? BRTVJT-4%J@JP-0;8[C8XF2$V0M2'(CG4F*OO< M C3#10BS_W?60_AXV^ NQ_>6=7N5T6IS-V7^S%IK*T+/7E*>)!%:>#FL)D)- MA,>5A"U-A)H(M20\A@'Y0@N_65O3\AO=+;UVQ>,!CO+$7*%6]R#V9?U<)>V[ M7P9!=]J-KB9H3=!O1-!'KEQJ=QK]M]RBX]8H:5;0K/"XX+.)]NQXNUYDZXX7KT]>GKT__,A>N3W^WH(E5 M7ZW_E<><172/5NG"UK.Q-ZU68_URIUK;F]IKJ2D5]305:2K:DXIV:V_05*2I MJ$A%)Q:'JSB"4F-CZH[[='N]N'0.;^Z!WX[M0[P!0?9TU]9Y"\(3(TC;VLE: MTP2I"?) $K*_DQ.J"5(3Y($(;BKLGW847>'&">;G[ M75H0ZDE\)Y8!UEYP/8EHERL%-!%I(BI\8Z")2!/1OLOIGY8ZNYQPW%$Q0D[, M(6CNYJ#J7KASD:V70:^:'D^&'K5\U?)5T[.FYU.,+]8>W23<*/:_&%R>5G^W M;'5=@7DN/2AP""H\-E;#CKC,STG76O:A:_H]1_H]"+*.IE]-OV]"O_9! "3K M2;\7V.#J!4ZX./J%(T+T"T6LW= M[%\M6C4IO[UH/9<[=\X-T.Y+ A\8'V6 ]I.T6DTCX+MT9Y]FL/;C8?(,FZ>Y MSVJK.O!/.KIP)F2[H_[7*09-A%IV:MEYT61[9K+S8L*KG\D\-29\&D9<&JM& MPG[L5EIP6BZ4W='AJ3.7I2=&D-4&H#0]:GK<-R)Z'D$F39#G09#=,^D?.+>@ MY^?,;E25J<;'"0_XU$MV))$^+%YD%N2=/A(D^U! M+P_R5)WL4AY:.KP7'YX8I8@R<:(N?W:Q E.ZR M#?4R#83H^G!LE_ATA?89<$(%5^=J1M",'_:/0]27BV7%KY?4G_-M67A[\4!@C!: M,+^\%4VA"$@@&P[W??GI?[YKOJ/?8>*.^GW+7GSS%CPV?N4/QM=PP3:LB 6+ M9EX@IL?2)%1_$(J*_O+@N5TYO?WVWH8OG9XQ_U=_K6;A^=]%B#4Y[\N8[ULD.I:9U _[6"N/^L M'Y()#*O]W"VE;YE;V!#V.RU]BXX4=DW1GKG,--*EG?NZ%7LZQ4&'9/K6$ MP?JTH#W?(SV&H'W+M5Y,C]O6BK6#D?/Q$#/>'Z(^_[AM2+V!V>_O=#-)[7!+ M:L5EIVX&:":KD,FZ3=/J[81\H9E,,YEFLI>LR!J8/>L\ +@TCYT'(%RO6L3, MS9/:9Y6';-C3!*R51"V51+MGFVUK)^0%K24TDVDF>Q&3#7IFOZ5C"IK)-),= MC,D^VAW09)4"8-?3OMP)HO=2N?+$'*2/%=\77%,*?BVFB7K[DX $W66Y<;^% M:ZDNEV-,P\A(YAS^C[V@BY"Z OD^V!85 E>\^RMB*D:,;W MPF#WF23A'E.P>X/&8.\YF :F6,4[\(,127Y_8+&QC+P%B^"[!DN2R)ND N(#SA5&*'Z) M@6!F,VZ %(YC(^8PGV"&7W$AA&L&C?.&E"P/L%S@MQ^C'& ?U4U0X1CPP[F!Z M/#8-KY?].&@VY<^$$82;>!TQ=L^,O_/$6'1-X\%3:-P00]E4U##R_%P MDC@:S+?=^F# 4EYP1J7V"I,F$G%X<0Q*$5\6#W[ZS\!+8 YW"4MPGQ_F'G+AG*_$ .5WXQ>FJ>]G+T,2\7&1,Q@P M-MPTPGUX;%1>@SIQJ&FZXX#$8@MG!Y]!K]ZNRQ@Q!M-;H5*!?Y&N4FZD0E) IR<^I%<5)<@I2<\.S4 MYP[*ZH24M)=X(&8\V'\G4:)^].5_/M]<@7"'V;F@[QPC% ,)-8BZ9,&"= I? M$2/&Z7()&L29,Y3D3N+=PVMYO#FA-3ENP@@13@"^'$ZG,6@FT*1Q$H7!#)_" MUJ:GU$'!;DC)Z .EEL(P,&F<))YDT680*J]A# T+9&;)0L&7/V,BTDX+I5F< MT3J5E-2P :^,TYB>%$1.2G )AQNZF0Y%$VB!]X4F0IK M0$PCGGO+)0PIY__,5#(F(Q-'6#6+];EDFK66(GN+7LV%^'NKF\M!$F?=QN"# ML*^V*]7"=P<;2K6#7]VTYVHJ%6H/$3D*8Y(OOT6AFX*HT9"1&C+R8L;2D)$U M'$M#1EXV=*"&C+S,<]>0D?7%.:DE$(Y&2M($HI&23H1 WIX&-%)2/>A/(R5I M M0"4%M)F@:T(:1I0!M"%TM_VA"J(0%>8$CIV7CB:<0+-0#6!9[IQ0!AJ;S\ M4N;E(PV,M?M9'Q=.I-DTN_U*\1MT$^L19*UFLCHS6:MO]@<:M$"8D MJ"_^._GU7I?ZS&J3E>B.K5H,5:;7Z%8"8'WBSC@W=#7M4 ;YY$;[0 M>80%O'@3RQ$W-N)..$.,2HE## ],,:XX30.7,"W9$E[U [Z9.QY(BL"+"TV^#+&\87P)C""OU#;NM1G[@ B-Y M%K$ W\*,A"^68<2BE<%_.'X:XV((BOJ..[05K:9E_,.#^;3DEL0XW0T<9N-; MQ%QN?%7@TBSQ[CD2!6QW_F8U&FX]][V%%]!W\6UVYX/::"#8<\( M-MIP80[TPQ-+IEWS8/*QP,#T\3O ,/V&\7M&.O_&'7V"2!B&K2<\X%,OP=!:28Q_(9/$LXU?-$+X/5) M&*UVA7 \JK+: S?9ZN2(FWO+WYJ"E59TS42G5:&JJBE^Z=Z*JH(=JE)1(9SP M-(SX F5A&" -[*J[GH;U?8'F>F 1JI:5O&G@(8R^T_KB+3)'%<(\WSO[[FD9 M58$(LM=3P_3O/%(O6;(9OYK .K]?L2E,Z2?F/[!5#$/]91[)U1QXBEO*AIX: M\248MI64+CUWG'5!!?X;06W_%H6@?344L(8"/O^Q-!1P#="F8LIY:^<4@SF6:RPP45^J;=T8CU9\UC)^;O]!J5&E:GX^[4-#F[9U)'M!N> M)0A9M[639WXZ%'E).>73),%V1Z/TG@T):AR\DU_?Q>#@Z;.LNVKHM!N[)+*T M:M D6)EUTFOL0)L$ZDJ"V3DY^?1=CG=06I;<8$\EPU/:#\,,HQ(>=OUUS M1-YJ4 [12Z[M%E4#;UC$@YV5B*R(*2A 1=TG< 4W@01W0C1M&#<9E"=\M AQ M#.8;S$F\>T^B!4[9?1@)V+,Y"P+NPR@_#.;'^-H@B;Q)6ICLY@I%O?@S2+RU MH^(ZDU*]4&(/("S1*=I?$M02$;8B40DF>TTWZ"P%Y7:$50*IYEL0ONO%H+]S MD.-@/GI+!,<.TP@F[D7NU9\IK(E'Y?U]@(T1PEWM"J&.9QC51A F1IQ._N . M;5@1FUN!<@L(;QSHY=CEKT(=#P,XAVW0XX3Z[88TR>]!^&"LX*0>YAQ>&<$F MP'P2'@C$\U#LA!@CGR>M?Y(AL3>,SX*0\B?XCZ47<9S$-MQSH$\'W$OB!&A'1[![SW@$$O:5(1F)_I'X�QD23]#V7+98\H(F7="LHJC"= MS7$6%O!/: #)\2CVIBMZ=L&"= HZ76A@PB7G_E(1,N$4N_@\-Z9P!($#=(Z8 MZDR F>,;)K#T@,>Q8JM\081=#_+,F(9.BG(?OA&#IZ)T?3XV70>*+\N.$PQB4CO(?<21#WLT8PAGCNL?<59E /KST*8'KQJPG$,ARW)-H$_E)DKE^D#.MF1S1 ,+J&Z7R M!?>Q\@4-27("D"2MKMGI:&RM4Q?$FL?JS&,=L]O14,*:QS2/'8S'!DVMQ,Z: MP4X,5\MN="X35TL3L-80M=00O9;9T@"GFLV$BGD&ODY-D[<[KW&(7?1+D2YG,VK&E;WP9PF89K4: MNX"QGPY]7E(&^F1)X9P)SW..@.CD" MYY$.JG<2!U4%EJH7%\!4B^"I;LJ1W]Y;!3A46EJ<1*E"473F+)J!=&)Q'#H> M@:UF0(P11QA'_!KBAH;1]VD8.;P(]!QS)P1YIX!&!!*7^1<6?><)_+8/H._F M+ O?+WEX&J]7X_76'QJVII,_U[$T7N]EX[9JO-[+/'>-UZLQG32>W-OFSBZ8 M>HZ-)Z<)1./U:KC4>@"_O3W]U1K;[9((\%(%8#U,*$T#QZ M]*<-H1H2X 7&FS3([?G)EDLYTXO!L2VF[!?;4_8:$N,$(#': [/9W:5316-B MU$G0:AZK,8]UNF:[J:&=-(]I'CL8CWWLF:UVI=A.F]2WST*K.KE='(F+9

.!QK[5/*9Y[& \-NB8=KM2T'?-8YK' M-(^5C,N!V>E7&H2HJ76IF?*,':3F3K"CIT;"&C#W_/# >AJ2[M1%Z8F3H&UI MP-RS(4$-27?RZ[L82#I]EG57#59?P_EK$CPN"0XT8.[9D*"V3DY^?1=CG=06 M,'=KB6V.E*AP(_=!2NQ5 !6X'U(BECP<#2JQ/6A81\7@ZU4-E7BF<+F=;@60 MGGL<%(9.3N*@*H)+5++%>&!%O$26))$W207P'7">RWVV@IE[BZ7/$<>5)1(^ MT0%5P6"IN=QBB$;H)1ZA*!H,$0I3/\%G<3M@GBY?>,X6P%J5:GV^+>O=TS*[ MBA#:^FU]].\\4B]9LAF_FL#6?;]B4YC23\Q_8*L8AOK+/)*K.? 4MR2FGQKQ M)=B)E23'GSO.E3Y^SLG8>LD1KQ5$@NXXP>@RQS!>1-8><[\:8ZJO&3HI:8^BV!+ M\:EIF$;)7,$OF_#2(/;B!&'G"<093B0)(W1LC20"6J%I(#0S;*K#?1ZQA!.P M,WZPX*['Z' B[QXFPQ.'[L(+ M8#=@Q; X#<"L 9C/?RP-P%S#L30 \V4#\6H YLL\=PW 7%]@L%I"Z!X;/5 # M,)\R]6CR*OJ\$[3@"\P[;,O@:A.GEIJWFL MSCS6-#L#C82M>4SSV,%XS#+M[GH)O6:QLV*Q$X.4ZEX"H)0&W-4ZXF1T1+MK MMFU]6X+F,:![3/*9Y['#Q!'/0JO0V!\UB=6.QD_-U+N""'(V= M>W;08+U&7R.#G;88/7D*W*<63%-@G2A08].=_/HN!IM.GV7=-<- :P9-@<>] MH$Y;QV=#@=HV.?GU78QM4EOXLT$ M*" AY8$TF4YCGA@3^"Q\@.^!X+OG_E7$?7JEP-/#X9N-CAJ^;J" ;R6_[0H$ MV+[R>P]4Z7VQSX\,J3VH6BZ<)2YKNY7SZ3%.J5^UEJTE+.O3LAO%93L_!K42 MYH.(98&# *.1 <^Z7@)2-XX)@K4LQ?'Y-)"HK2"X$<(U)'F.+R0:49"N3AJ# MM0^BFSE.F 8@K@64*TA=\6 1S]440*6^3Z"O:W,N:)BR_CF@OH&Y.]^O)B29 MG7"!TEH\C\+\4654D,3T(&BG?JX<8?T($0ORWU_MJJO>$%!UN C!W?MWAM4[ M=/Y,/: .XW.0L&#F(6;I$*@DB?=4NZ56RG4(U[@2L_<8T:425"GM7O:-2($Y>PFL5JS&(MT[(J M!?W3+*993+-8\1L?+7-@5XI7ODE]^RRTJI/;Q8&X6*8\,;2DCUUKI][N4R-A M#0ZK%P-N#P%&UW=KJ:Z)FUUM;Z M.0-Y>NX$V=TI_J0)4A/DH<+Z.Z6F7[C6FBG^RZ3@ MI^3M-'<*%VA30!/D@0BRO5,:1A.D)L@#:?G63M&HTU3RETG!YTBUG=UJ3$Z3 M;/>*I9YZ;?ZW,$%0TR(ZW)/1UK?+X.W6FGVJZ;W=5EME!4NKTK*RXYZ>SKUK MSKT0SFV9K7ZEM6>:^E-XP$FG5_6KFY.E[.'LU*'XGIQ$GF3E$Z+Z#S>."CC8>XYBG+Z3\;G Z: MF\:O/'GYW)^ZJ4#-M?#]DB#2=Z@_%C'6=ZB_Q5CZ#O4:CJ7O4-_UVIGSN$M; MWZ%^F>>N[U"O[[V"-;N%MAZ7CY[ '<::>AZE'GUM:7T(Y.UI0%];>GQPDSK0 M@;[/7 N$&ID4F@:.3P/:,+AD&M"&@38,]'WF>P2C3B/8I.\S/_29ULSIUY>= MJV_(K"]765]/9GV#]:RO[A8\A6[!5O_X(!4'/S?=*ZA9\F18TC([K5TZ>'2/ MO&8QS6(OTWJ6.;!Z6N]IICSA'GG+[C0N >=!8XAIS7(ZFJ7=K-1VJRE/:I;4 M+'DJ+&F;?4O[4YK%-(L=,(IHVM8E #9IICQC?\IJ[X2<^BSK+MFT-:)IL%CTZ"V M3LZ' K5UP"(!7O @KVW&IW]IS -HP)P60TQUO;9HDJ1TR(>+[F3>/?<7S4,060%TL*? M_=3E!)/&X>$D^S3[@R1)$W<=F"(PG#2*>."LC!GS@MCXZ(=QS.-/B"RW@3.F MN.\CC:U1W30*%_">B"5\YCE MMO= M O8C;AA()JCP U<&6X$3$!H?B@Y'.H!B]8!K)8&*<1WQ%C\% Z:1=J/#C*H4 U-+ZQ'X9$.C0^7O. 3[WDTZ;\ MV8MU"M\OV3T:Y_ 9G$.['M!S9SM6\Z1G?Z9C::##RP:\TT"'EWGN&NBPOH C M->M:KP]*<-H1H2X 7&FS3HX84)GDM!+KT8($N9V$_8#U5R M9'RC*@:FU:O4?-.:0K.89K'B-SJ# M7?*#FL$T@VD&>]&*^F:GM]Y6J5GLK%CLQ+P=RVRWK)W014[,V;D$W,C;Z51T MK\NV=,H.8:OO68+B6-TS F:Z=%2L:0JL(P5JX,B37Y\&CBS, MYTE$K".!@,S*'XNP[L49&,G\L/.W]SW; M2MARBZPX\-'NRR!O<[08(?RT[]G"A"+.8OR!=O3QJ3ZP6$)XPFL--^4(H DZ MGT?%HXE) A\OYK 2"XA=P*'L@3(HF'.L]1A;-)3 M(P3^#%;_S__IVU;OY_B)*4M,79>^)N>%@^*V,\/U8EA[4J:L=!FN;T3,D\3G M"&0JOJ= 0_%K+'6]9%^PT((O4S(*FM48!5_2J);"I?8"VO5@UQ!AEI!M<:93 M[O*(^? :EJ1)&*U*^VA;'S8Y!+^64=H:#18I"1YPD7U0R8>$#EWBJ@5SN;$, MX]A#V-+)BMXKSS*;7@(C3_%"MVD:N"5.=',F^S-E4<*CQBL@6H]!M00-#< ;V7C(6.%T"AX1#E9RH%[+1W6W/[\$QB\L ME,;&T'--XROW/3XUZ81NG3 (%YYCW'$'MC99&4/8QH_O M1L.OMW?X\[M/M(4\@.T5 A?MDA#W31+%Z,O_?+ZYL@8&S-?E\*Z& 98PO#?Q M D$Z_)[Y*=)6LGY21C:.:4S2Q& )$!Z<'SBN;F@$H;A!!AXO/8OO%"I *( 5 M4!7X!QX0]&;D90=Q)M,(%=T]LCWH_M?_EQF>^Y_OXM[UL&_U;H?7W7&KU^^- M.C>=H7W3'5C]UGA\8XWA!7]ANY#F;-WHF9_2[9AH'7P$$;? M<:\<29X/AP7'#L+&#V?P(L]!ER.\]\ 4C$EG3] PN$+:+A2J >=HEJ.M#I8%"V(:ST<4+=B_!R[G+HU++$7P::+I M<7DT!O9LI$SAA[D'>U;8@0=@$-A9V"MO,4DC-"JEU>O#.OTP-S4.1H@\'!4X(@1L,+]I+'=.0^+!F7$H.:FB8/3!(>2@R@NHA^0<6T MQ.^"[?TYJ'4\O#[1/" M/+<]3)+WUJ#1/'8$V&I78$248YM W$%&V^23@44$ M@BNNF3Q&TT+>%;@B >*"N+SGY(^"X(W3!2^*Y)!X-I/8H93#X'TRSS><%+S, M!0KGDG@MBD=X@Q3/)-<9>&", M0"XPFLKV&-JHOF$X%,312(\S]0)@80)'^+M*W)XA)/;7!GZA^R[\/9! MO$@!*7<(#YV!D[?@J(D,\+:];3(OE_ZXQ3 T"XO4-15=K@Q6..QL#$?T[21U#S22:8@!PZ\!)M_ M+G06J40,,0C"61JF 4=^#)YXI\<&1ZF3R):"J5L+W#[BJ'2F,,6NBJ/3B%>'#(K M-J&U*GL:W6<000Y%9\LS[WPP07Q&/AK+^+@0EU=3NGT41&'TG=/RXX1-ISC- MVS0*E]S,!P 93<8^V+X@Q>(TLV5G(8I:\0HA?]':#TG9B<=)+N($O_$H F(* M)R&(7ZKF(364(D'0WJD )P+*#@U!.Q1=H!M%2 %BJ/0"UCW=/2@#SE(Y AO M_>4_8'M(;9&*O>."'%I-R_@'* VC)>/4L3+H_QF0!7Z7P&[%QK<(0]U?N0QH MTD%A6@BL]OS-',WV@)['-]B=#RKX#1]^#9=*)1:LFQ:=P1V5#"*0=Z =-$ MZGB<0>1Q/#1:$=AU4[+,W&))&MA!BM>%$!7>(SP/#F@@/%+?^XXFC+!/RM'&QD]1#CS.S MXU!F8Q#!X4H1S!$:G:V$>06RBL4DDTD>PL'*1$ >G$!'&47=/3G*)(/E:NAD MR(HRW(@]X(ZXX4. O(2S!UH+?13*!NI '%XDJTS*(4S"* H?R%/VIIDU9J*7 M75PV+HF70Z &,##>P+U#?DBF&OIK30V6O::'#W?@65X+QDFC6O1]DO$&WW*RCB*8AMF?>768F"(T)B'OD%K1B94-LK MMM]N5A!!%Y(L"(,K(@7PIB(9A=PCA-VN(()M&NAS>B2?\TQS43SON7O=QJ"" MJCM4+LI")EMV+4TB*E8%@@!1(QTK358L0 %#QV;)55ZS/6RPJ_-_"D\R4 MP5-3/FM%8+4;5@6ITD(7P_HNE3L9CYNLS'(R^QQ>1;%S:=[+8!Z7?@P8(C+4 MD&5&3.E;"[=X2S:&"#3@#[ES)Y->,IB(C^0)*B_(XK4-3+D@FZ'PHMVABBH9 MF/:"-Q+H-=IR3.MTWYK,6YW:J*T9QYR4J;^EP4!Z#!4Y19.X_2 M[;;,;M/>?:=BL-H%GXN$U0(.4R1#\(CW5#OO[4X50A[L/QD$$1,K[!V(L5G$ M%D(>4Z7E;D;?5HE0722+07\I5?+]+TU[5[XVSJH/:"S>*UZ@)K^HERD Q M"V^@:?5),U.:AZ0:!651W;,9>!"R+B29&]26#L'40OC+VBY$!=+?CA(GU9-&\6#)T.0"XMCSA_#ZZGQ@"O&>> M3V8)[ 0%U]<=Y+S@W0DC3"$D9"EBM#Q6[2!(#S'EOOT04QKYU-;WFSE.E%)U M44*?D/W*-Q/EJ?C']\OO[RU5CZ*<;90?3//'A$.N 8,/XSA:G!E*U& M\X-IB*)V%0[%2A]<)?+!!*PK*@*"9X?N'RG9V[?7G[_=#(V/2!#O,)?CTLVY MQE=8V[M/I@%:^:/]210SH3Z.L@YG'(CZ"<3*'_L4=S:;(L6"@66YR!#@ZHJ] M"M(QIVW%Y38;F(YZ9'S4@W((/)>/+?'4VAK$BW!K&JJ2"=,1B4CNB:WU8NH: M$"E(D= 0>0!AK@#Q6H+9\T+U[)PCBI.HO!5N,OR"I124)$M!@8CA5(U8=CSR M@%45!L]W+,9-)RGBBLYO4$\^@"#;",1?,"T3&U0?9Y*X>X3807F#0T1OS$GTZU6AM7_9NIZA8?'_;(O5D MX4TLJUHP*XA"4A:^A(%PP\01E[\KW1DJI4Q6F /-/4+< Q#WXJN2&0M[#@]B M66-DS%)&:4F>.7Q47)DSJXF#(GGX'L=\*BDUWU;S.UD=3%8VLG!BL?8AD M&2TH.VY03&0F?L[.%(D\A-U7[Z9Z+Z*;0M=/D2ZF;XB8H$T>$* ML@V3RD+6^46AD&_XXP9@O:OAUB\%U-5P;U(-MYF%.9"3CIUU@9"'PL7=C>W[ M;X=T0N4V\+7<&_5Y(HO+UL7:4Z[NIE\EWA,77I0NJ:H)Q.X,5/B,S(B"\9F[ MQ^_!XQ7B13JYM?14-Q=87 TNH]GHE991\!,?W^7<__05+ M<])IE;]X_T[GH2E6^X_$W4IA6,(6)=0D+ V7^.4T9MO--2(S_LY@95B5]+^\ MGA2W'AMA/JG*7"\^MJD-,9.*K-8CACB+[8^)\2MFI>IE8_W."_$;HO\@ MS$U=4?P2+A:>I$9$L9R!< MZIAV\Y9$ZG$KIDKE6ZD EN3 6I_A! 3CXRV%8GI9WJG4=[(Q'WBOJ#9XM%O; M?*1!VBQL0T$HR2W;%@14<:$XQ1Y'CR)3T@E6E=KKN[SE/*D4,Q:UG2RAXTP> M*5-="X/)F"D5Z&(-MN&&7/@VV1Q$;$DY=I2.7N55S>@-R<+L,H7A,N"\9^NH M$,&VA8GJ]FE*BU$+E&$!(;UIHUR. ^ [%NB?(76$45QT5674DPNG5*QK%H4/ M&(G ^)R##"]0,_+D>YAW^Q1:%! [("3;O'J*D@@/[%VN^E ;QB]AQ)%<3146EMNW#^_1DZ)73H@=(MCL'?1)X;M91)-B4%Y0 M9D%179\39?'D)0^H^N>(>7$I@"<$@&+[93H!%8:[O8Q@$4";N!K@_5 %C)5< M(LL"2PW51F=]NZHK,1N;>N50MQ>&+9RWL T)DU2<;.&<:4=R2A'"7L1S96.; MJ*\6G08QY]^+@SPQ]_4-H#VBNNZ",,1$%<57I^P^C)31EHJ@=X(::(^ 2#66 M1]G.&$G)@"F,+WF,IUX6Q3<)W>2',1)KEGW/IUX,3\E^;V5@8#0+:UI1<+ M)N.Q1X1W#@+UXY4X)R>^4II GKD M2\:9QI7QR-:^HSI3F/\P"%("GR$1"B\;@_5C6,VK_\K*15:<1;)0Y(:#2)S MW.V^Z.462J54 )TM.>^JEUVGM&<;(;PM*EMVVJ+U.+=U7_5C$2^4.?/-?0S /[ QW+<^JN07A2MV'XK10!@G0\#1KOX_4 M^IEU!L]4?VM?C]G \&@W:U^,> M0%N_X4W9\,D(;$?7@]G=4%$._@5K MY6/LFP[@M1//I)H=89!LQ%FQA"9O_H5Y"2+ 0*X+[F/,B^8.5WLORFC6FX%E M>C!;91Z%=IK[D3 9##CX*1I2&5A L1D*-T)$*6BJ9 C"M@J0D;7H MQ]:=KZQRH"(2*51JB)J5XIPSSQ1+9%)5*J7VK4@:ZNRV4]L:<5%OM"C?BNG\ MLT9M6=.50SV0Q_C $0@!CGJ&]0S)QH&86[:[!&\C\_'B>#"57W*'1<$4O-.C MH,<4Q-&DD(HI%_5DY5.J.0ZL>4=$5RD$N?7L-V"%ZD8%=.4!6GL1:*9%&'B) M MF!LW:8\%NP9[-X2MMEB0P/T79L^Q:\G2=8C$*U2?2\[ZD-EB8KQ21_N*1M5]/I7;Z3H]XU0WU=,W2,FJ$#JEH* MP!>4 E?@[9*',T@J%.%E^:VD-F8YL,@AE]PD$I:A%R0%P8SPJ%D.[U52.L>C M*UZE-J=Z"\RKB(QTWEXO$PXR0TW= B7%),SE4HMH*6.)4_4I::1E_PME_SK9 M'$ST=ZT*.AOWE/R=?@47.CXK^(\J&6I"^"9:YJG(>&.E"#E;]V#R23870'Y( MA0DA+&7.F_#]I;?&J8(Z=^1$I8B%S4OD5S!/Y=YS"BTZY5M,=]'?DL&4B$R_ M^'D#X6X/$Z-7 4Q+5>7>%5'6,U=7=+N=)L8-!ZW6[;#5'-JC\0W&$^U!L]/I MM4:UNKHB#R>V&R*W&,K*G]\0G,#%LI1ZA8Z_4)F)2JZ:>9B*\(:H\JI0D#*: M>WQJW/[@3DI!T2^4?!38B.*S/-8L/S.SFUG<\O54%+N1[RTDCIWBKBVS73,^ MEM-"7U.?&U:+75F=C_R3:BC-0I]X@0M3F.<&%S"%^84^HF-&H:1[",6#"=Z& M<:V:X\C,D3.G1J$=EX_KR6Y;E6V6+UCMZ^4FQ&E MW$3T X.50:S@61BVT$U#ZI&A?K^\'6J2Y?7%F&DL+NC!0:4Y^( @P#Y)O3B= M++":.DOAEX[DH_=)L(<79]=8FF+=,>$]@FQ'!YY '0G(&D?)6V)DF9+:BKC4 M#*60)3,\#[QZ2(T^PCPS)3JR]LTH598A+CS^631Q>FJ*8+ZFBU28ERI3G08( M7:\ \'.N*5=_[<0E3-Z&L(PP7DQ%202(3>OU5X5,#6[=C$6RRT\>5$Y3:[K3QYS#" Z?"-C3EY5I%Q @/Q&$!&OH*))Q-XM#'JR%R M*+W1KR=DE6RC8I4 MO[SX9AJQU#5E@,[,NJID4=*J4+N T3RG?HU0HL0"@3]@LW+0M$((-]\$*KS, MFQ4%XR"%/"$WIUOEYB?-UZWQB6QDR^ZV>_VFU1]VNR.K-1SWFFUI/0SZP[Y=KVSD;UAX]_FS M*M'YG$OD)U;8N1ZWK-O^3=/JC(9VL]=IR:N]VDVKU6W5U#ZR&L8_0(KYPC#B M.')5EE%%=BF!*!>5(OTJ=3EP$B;>G93UL%+X($>! M7,T!#M. [DSGI49FMT#M<9ZZEPVCB)HI,2!< T6%1]B#$<=[&%%24B"FL.7( M[4ABXM?/![J#TQZ\B5\P&-P,@,)'G?%@<#VR1[WF;4?2O07,WGPQW1^8SH<- M*A% .!E,][U\SX\4^ZP^HBB-"0)E-B*V]%RL>41]0X&BX-Z+0L*_5G8HML^B M0C>"E H!L3(%ME :FR(QNJ$S2M7*9JEO7Q6"AEDIM4R.@;TI<6=%SA4-E E? MA0K-6NB=$F* XE<1>2B*A[Q^E9@]TXLBIB 6@)R+1334%TY&JK*?E<%&-A+" MEXO^,;K."N:]"E,!;*YJKB.N+$(AC83J,(UW2'K&.M7M6,]:HPAC(2=>R=$W MC&*U^&.G(TQ?@A6 T;X'B/--M>)FWJ&4]U&Y'+;>6V1EL%@=D-%5[,$:86>) M?D)Q#9?L4))X/K)4/C?QW#1.(DJ99K4.\)FL&S8ICTK1>DP+>U&Y7+^8\S6$ M(2F"]IM5NI*BB_2"WH 3>1-!6Z=,./)VX#GF(XHUYL!OX<-/AVE-M=MOUH+X MI7CF:'NC/R,<+"H$*MZ0.P&O4I8L%2QS!5<(.IW=*4Q0)6O?45!$V5U8PM',?E6% M.V7^*U=WJ6(,O'Y87@_E%]JU\ YI6=NQUF0FA5:A9ZN0@PP"E2K"[IN M(M2\Q,X!X8#E,0ILPRIJ+GHAM=0)U!P,68'GI;R^XH:H"IK"C3@2RF7C490* M"!Q46)V)++ 8)E+B<<[Q0T>!@38A/ M0=\B A2LN;PMA2LQI(^+NQ0&_BJ/=<9+/&(U,NA53@A#=%DT"MC\00?.5&Q" MUBR7W]^!0EE4*F%3)RJBV"%!G54589!/]&+)^:M[KO>^A^[ +";KX(KGJT2+ MZ-&B'30?TT%2THSE&$%$@M*T/1X\0Q1/D8VH]*+8GE!D>R-DXL&)AC3-:$,KX8R M9==GL>L8VS>%O8P89U+";]V""=\FWHEV"[>\B6$IHRTO\RR/!Q(R76PI716+ M7QGQ/$W$;A(>%V;R76FH4]0-=Y]^S#MLYV$JK@@4R35\#SG%- &JN)XXWI@Q=7I++5 05U@F64\.X$S%C M60*WA0Y$9'!))80D.K?MMOS8+-T\2]BMTDXK'9R+ESC&]!B=@FR\+8)N*Y,2 M!Q*(% 7LJ5+M;K'B4_4WR]W-9:B2@?)>I378LS\%%@/RJ8FAA17F"^;D#$6N MNLY7VDYB@^BP)#=_?)ASD7D%8@E(M!$QB%CT)YP%=V4G.YQ4N.(\EF'WXN3K M7=HT*$]/ES:]<6E30:-5,$^N.JM%OZ6\%@P4/2(LKU\%5P %1UE.,I6ORZ'LJ(,W_X60/H*K NB9R.EE[?$9TF'=;9=O M3VVL.KPYU1\3/CPS)E'(7"5+A9. JN)Q<$TI(YF\_U!(5F,9^A[U9"S31+@< MA***'I>RD>0QYC8D3 BG@N54V[3.NF+(RJRXC(2LHQR4K(ND:%Z)_*K(;R[ M@!&0&:KNG,3]&DU*PY@F6##(%&VG@1#VV9WL,\(-C?))YL&559%IUJV60DM" M?J/MA,/:O3 J,(V\2!>OKH,S%=E/.E"AG/)+%A'X@(.W$Y#"9K'(>,)_E0F4 M>VK"5A%[4S[C:0A^ QPT"A+2[SALO'%"&XL1]>1KN!4-8U2ZT9A'-/&0V!._ M3 -BAU[)O,BO@"^@II@JDSE+MQC'E$E. P\/6K2;8]U3@C#^LAY2HA]D7F!> MQ)1FY??%RXI,PH*0<:'L&E13^L7RN]1F@1D^;QZ&;E9 E<-D.J'O2XI5R"1H M4GEA&N,<0W_O;.R!Q8H 0":6"M&1+[&CE!W*77;3*,MSEYA0-O^X'E(5.C!( M0723M4#K(.^=X(Z+WI 05*9*!!4O)E1HR%/%)$7ZD4Z7G(B,?N3A4E'RMFXJ M,CIZJCQ 98'A4 59(PS$.(WIXG W:XB3M7/"FQ)S(A#7[%Z61]7<9H0W<#=9 MJASOE60JP7,1$H6[);BB-1K%,4ME?<4K(JAZ0D):KV -&//=%K+)SSQWJ,2A MQ^M"V-P(YQ(:FMA]03$K<84I" "?%V%,_)6ZW*9XC,IY$#$@4,I@>)(3[LNY M/A+/D"8.+-YQ"+U/[D;$ECS%B\R)T#Q$GG!\#.;2%=\4Q182M>C>4"AF*F/9 M#)E>Q*X($]H7+HD N\N8 BM^[O&.(I'TP*=1R(:R:),D/OPP121H"691N)LX MOR$]NVNW=).[N$ TJT;)#TAL0URJ+]\685+G5K"G2OYV\4K3-4-+$:S BUT/ MO!9[UF)/-DF1PL)"W]VDG/4V8NY%0>C/4X5-+Z^-I;YR%A.&I)(2Q79-@G=* M,#H9@CY9Y'!&,GXI(7DDO6 '+G(WPM!AA"46(X3T'W M*Y%0C-'E;7N(+)ZHEL@YBQ:F*/K'$H6L!;#F&FG+.?BA(Q)1L.:L]_0U)T,7 M"*!P CYFH%+ O,6;T>$%41@A9@Q+$H88[#D7J??2A;5B=-C^*[I"3(UN9@E6 M<>&!/.)B^)N*)K *U13UF!F$DX@?*(,*-$,8!-R7$-@"#2?'Q\]%OKA$#8&A MZ,QE]%;*?SA\0@+#&S"R.C\%'B26HVQE465 +E'.MN4TH5KI;"MKG(JN9)5EZ:5D@)?@ M'8L(ASNG6=_)BMF@V@U[F^3FKC/&ZRWKK ]>I+KOBMY!,H"$T:DKC)! M50BO4W>-A(!5\0[R1^?LD<@Y?FH6@QC*;=@>P]A>T/$H)]1<1W]3#4EYR(=( M&Q/*HK2^EL1F+:,X%#8?96=%H5-#J'$D245\%F8B,IR5#+J M)'UQUPSU8)I9SB"+\4U4V(!4#\K<*_4',6@>!!1Z%B,^GFKWR]JE2,,0[NYM MUI]PQT$7")RWMBFO,TNV;$Z6ZJ'(G-7\H&Y11A-:SG<68B^ J)C"HDFD7<1X MR7(JLFZ3!EBP/\!R20K>2_9%*2U&HD93]8G*#(JZ!T+H/0KJVIT/.(U?&#:/ MB5(5(9WPR3CK3%4Z)P^.A$8+%@(S_P+ZAO8 OXK-LCYJ!M#:5W F:2(Q2[P% M,"?L^0,%WO!6$Q3UR0/G0G?],R!-0NA.L6HS"!C8)#ZL$!% GWC*4'7_9*2L M'2O.\>^@03"*AHU[IBA.4V&,+&!S53PFM6'A$R<#ZT"T$K+Q*"CZ,8^N)O-\ MT_-")#8!HOADKE5IK>2+2+G+2J8"PBJY_R'R./XFJRE@]@6?5*9G7[:A]18N M8]S> F,!4TFB&BXC^%><( K7KV&XF+#<,A(4FY=*W(F+X(!,K3R#N.WU"F)6 M7E79-^4@#QCD\MPUL'N\/:&7(S7\_^U=ZU/BW!G_W/X5&3IM=4>!!%#1[LX@ MEUU;5RW:MSO]T@DF2N8-P29AU?^^Y[F6/V, MEB0'2'6RK%UZQRV=@^I2BQKD@Y]< M]AL\"GVEKM!/K#0'Y>2B-T<9[!0@ 10AID_I6>:UF-Q/1.N<"LMPRBAO!HQX M:W*)^,P)DWW&Z27(3+3RR"SZ7PR3*-@(0%2LLO9M_&@C_K$Y"(C%DWV+K'L< MPVH_B>GD##@OU?6]])!1*C,G4- IC!+T4>\(*2V)W!?HX;?(OJVV"367Q++S MRZ(YWH,D)>@I1EO*?"2TC&:9F0>RTA:IKFH#'AMA7,S[Q<)0WK-RGS<1EFGB MPF"(=Z.>#*KVA5V,K3WT5$KS?J2HA!C+^][Q%'-W@$9N3OPCF":TK:(?AD] MO/5!;F#SKTIKB1PB %$1987&A]U M[C+/NRQM1G5C;0#N$#0G37KB:IA3NF"ZP;U7Z1/:69CO2)5:M8A4V:)(%2G/ MQDX8]FC@,1S'*!1*T "= ?#4P/^(S,-1JXPI@IQ+4JPY=(A4?5;ET52E"-1@ M%(_DZ8$9.(3&EF++3.L3BBD3$X+>9]:KZ*76#(T2D0]G>-:8+0+(L#S#2DF- MNP@'2 WQ1'/0+2-X4,E.?N[1]!6SZ$QB3CI=)*KZOR3DR V31EZ%N:8)U8O( M>(+][L7V4B3=QT<$?"!J[HS:+?,F*T MK%V#B"M?" L3!ZY%@AN%G.&290[!!K> ZP1#F1J0'$;L2EG3XM97DDW]&AZ3 MURZM,8DV1]*+_GKIA5.">ZW6:;/5-AKBK][L]4[K[5-."3;:1T8SG1) G@P)\<8EVCMD+8HP<2#]%1"+?YD)FY$&7HD04OH\!E)BM$7G927N,?L@UYV0! M>.8NJ;=CHAJKC\17R8%/1<02E>4)0QGFF2HO(V8"OI,P3&!!W!E 0[&QB:)W MK)].(!&8HN;O$F/AA!/NJ6J.;HLY];26=P_^[1G8/GO:/VSHVC?3#X,[QW8M M^>@5!S=&#]XX(^W:M._A,SW2_XLY>CCI*%A HBM?7='Q?Z/US(:LINYO5PJ M$&%GJ.!!4EKY/AZ:(]/26JZSIW7LP=@WAUK7=0&,0CS9\BQ?\/CO#FCY^,+O M0C0$G1_,GB#Y@'\!G>HT%=+6STZ178;!Q]+S5M9B[? +2G!&2@R=A+&>"&Q( M$CC>#$J[A"6#/V9$)R3RL4436W<"*,7@BQM"(II.0?XGA@%@+%AH6 M)HZ0>D8CH.?JR M.T<"2_BRGND,JIFBL9B#*\7QU+%*6%&1OJ&3V.+8&8PFI,QGL2Q75)L.0^ >+BXN"EY,G5TV;CJK,$O;.,L[! MP3@4>CQLSK68DA:4/]^U5[G228R5Z22 4MIKZK6CFM'M-FM'U4ZCRCI)K=FK M3L$4%3K),J981&3;%^1D7W07 'F/"4CR>7')X1KPR MQ&AQ2+/GNY]+U1)>BV[>RNN,P0HY7#"'"R$,]\<_Q E7IBESR7$WPLM^,>/[G)O9!-_/I$/I>\U9M\Z M4NYEO%NP773!<_>(I,N12 +_\*0AU)SVIRK^.4DL"NBIZHRKU_P&]2L?5\J@ M5%,4+;EJV0NR 1.>36]>-+IWWFY3 M#&M5R]VQH[*X&;/RXM.XCN&#O TE=XZ'CB5(Z0D3T,9JU*>E=T(QU 6'RD<' M.=W4N"0X_]8YS17B\I.]K$ M3TY*VM"W[SZ7AF'X$!Q7*H^/CV7Q7%DHM966?SL$J.N*;=V;?D6HBF9%UQM- M_>"P(E[)'PUUJE$M#\/1,HNA5\NQN\3,W0E\EV/W?KML<12M MD>U9(X[L1W-"?RQZI+49QQ>L"AA5>PVIR-IE'-9PAFYFL.. X53;(6N'&4CU M0VLVRWJ$Y&C?0U"7Z85_#:(+*I4M080C(\KU_A%\AA(M6JW*(:D[/4@YOAB7 MM5JMMF_4FHW#VJ[,[X\QAQ-@PV0$V2WX86Y.8S'4@N4MR_(*H6[C M4#\FMS!>J5L80K]L@*V85^A.DK[7*4RZS7&E4,U&I!KH]M)1Z7#S6K M!Q$C,?V!Z=G!_N63:S]+'F)4J^G CH*'%$/=GJ'FF8O0R]?M;Y]RNJ2% MKV->KAW(!=J/T_ZY=F,^4?)X-X):N+X=VB-3ZXQO)^"/*,AR;C9V,=2"+,\A MR^W6>4&6-W/YYI#EMND"]BC*T^>.]_L ,H@+(IV[;5X,M2#2>NT(-*; MN7QSB/2Y.;#=@CP7-.L##77KR/-5OUN0Y\US.6;0Z4[]IWC.06-+@C7!QOJEM'H>D&?-W/IV@B)=&7>V]H9Y.F: M5!>D8X:FAOE'.P2U$E*BDZ.0I@/"3F(0!NVG>M]VMIEG/@>X.;-7\IWH,\+(B>MK<5<(675 M5H:4I1M&O=XYJ-?:#:.M-]IZVV@R4M9A^^BP6_I2(&4MAY2UAI[AI0J*,CLR MO/3E^NSK1>OF7_WN]:H02M"% M7"R:ZZV!D!I"V;&AZ=[)"E0X;?P EE69 @HOL^;A_RW MJL%7@@JLLV-K_[$=-Q/A,5=D>MO)U;:-;PU;MMBNQ7;=H.T:5U+YS;FU,7;* ML:@:L:QUTHLJT'&]$TW;Z0#S;44:<70'?G7E.QX4>'"G?[FHNR=7IK8T_@7\ M^P=Y,1A;SU_^^+?*,!RY7_X/4$L#!!0 ( F8_E 7OK9^ @@ .XM 7 M :7)B=&5X:&EB:70S,3$V,C M2\XY]\'AX+O3S\.+?_\R8JG/-/OE7^\_?ABR1JO=_K(_;+=/+T[93Q<_?V0' M>YTNN[ \=\HKDW/=;H\^-5@C];[HM]OS^7QOOK]G[+1]<=ZFJ0[:VA@G]X07 MC>.7 ^HZ?OEBD$HN\/O%X+M6BYV:I,QD[EEB)?=2L-*I?,J^".DN69>U6M>2 M0U,LK)JFGO4ZO0[[8NREFO%:PBNOY?'H*E5CY0?MV(2R=J5M,#9B<3P0:L:< M7VCYKC$QN6]->*;THG^A,NG8)SEGYR;C^=OPS*G_R'ZW4_BW9#U&'@\XRWF& ML6[4&;T9'0S/3LYZ9X=G[X^ZG1\[O=.C-]W1P7YG?WC4.!ZT.?Z'4?6/6K-6 MN6REDM;2[_8Z?]M4-Z">;8:J/)56^2TCQA;JJ+O6NJ0[/+O3BH(+@;UOC8WW M)NL?%5?77=X4H>WEE6]QK:9Y/[R*K[<\-.?1BK'1 E-4+Y'M=_>Z;'5-CV=^ M LQ)^R3V#Z7U:J(23BQQ_\4*R-QN;]5>+2>/L-N-XP]-$ F:V<][["2?:MED M2;!WP7S*?7_-7,_'6D)"Z\JX=XU.([1=P9.Z71FP8?\?48QM+L8#IE[4L\V5 M\&G_X$?,0VSR@AY6?[2#Z(KXC%:1<%WM%VQH/(ATM?&TT?U.5/K@W>WNK7$P M6GV[C6_O,/(I$,!2/I/,RIF2>![Z>T =MYS!\0 &]F"7>9FKJ68 MPH,$"-D('&'PJG) )<%@#D?#\P4K#/8E/%B M>1N>R?&XY-C?97)(-E$YX$=(OH%;$\R .![;I>+OQ-="LP)2"]A MJPDZ*'+5!1!)9"*2:7W#E@JH;DTU""E"YMXDB5)# !0QP'&5J9 ]"7\:I,]H-*YM+-'"U,1O6/C/A<9EPL -,N%B!S=]=A?(JT22' M:B9(D-%%4/K N)4!M "A(C 7$PZ H9R*8F36(9@0@&%VD*Y1!M78AR%&6MT M1&]A32(%NAU[!; *"?1'1(ZNDI3G4\E.X,'/2PV)[CYO=0]?R==A:/=0Q%9L M*BH/\L@:FI^1FU\B4P0WV7)O19,511,HHG6N4PP2E)_UOWG:O#GZ,VA3D_7! MF.2OOWW>G$J'Z8"CD)G<#?(F)4T)+]W]AU#V,I8 ;*4IYD.FM)@ KGRF7 @0 MD))YF(>JPIO0LAR>K-0\,*!*B&Y0W*Q"%SU4"#.PQ:'H%.& QY5CIX3B5M$" M5$S;0L#,::;242H5'(8+>5<()\9)&.01OFA0P>EEE9I3%,2R@A$W*1E&Q 1O M.2_%7V-)@@A4&"_%MQ^8=HQAXYUCV+V=_ ;1[A\>[LTW<'2F!-&(.Y,'['$' M"E+=0MSB5M0X!_,4'RNM_(*RM&UJB?6!$@'MD; KHDMU3PBW5]6"BA(5O@-< M*:M,$F-%,"!40%.9(UG4(!V>R(+83"*H[B*QP'I5(.(]4^N1J97L +5&,Z[+ MX.$)=W(R00FB9D",VU)*(">\1ZR*S>UU1> 0!B+.N%B]C$WI;]=]GVC*KZ4E ME6:3N^M\-JZ+ON 69-P#.AVCR9]I\+@T$#M @].(LTV\TCE851J$)VMT>$!$ MH8S,)$EI"8]+Z<_*?)EQ'CWTG0.S.&P+^RT>\K)7&\(3D G^?4VN,C,!Q,.! M'9WEY>6U+:^C)2EWU_DA189 /BE"R RKK\+9@FEU*75U>KNFR+),EUNO'CX\G'_)'&C$()1'&60-]9=9V2A Y-E MF?)>RJVQ<6R0[=$3H6!3&/X*=$(H3 ]#)/PF'>Z^<# MA/_# X03C<0>$X;/SQA+YU*)D@!JE4U=%_)SR2\I/8J)?DB00HD2/L/41\(/ M@G]5<\>SO"T^GPL,=/+:Y6^A2E720!BH1^71C-F90VKFRBSC%DL-RZA"ZM9C M\]T(!SL&_EVH[4^08$TLW&L34)0A%@#,X4M>A?IFS%A4/C-Z)BEMR?FT^B!I MJ_ ALT*;A<33>6IBS. KG ('OC*#VV-WP?.>._=8EUBV71_Z6A.6QF]D)&&\ MR@7&AO:R@IQXK%?OPE19S(-(^T<<7;,6CF6J\F@>+[VI.\(5I]@32=OM8/%C M."9I6XG1FA=.]NL_-B!]PWR(P,+\7:/7N)WH4<4A-#0V^+7Y[&Y/$>]!K?*_ MMW8I:KE=W9M:[HH;T(N[O_1"GZ)L D7[[)\EPL-^IQFN^#W$XU2+K=Y-M91N M<<7"N3/[OA/^/CCX< M]U,EP.S'6/0/WW>/.ML.$_\BH%^]B7>K_WT*S2E7\+-Y77V\#P4'I5;#5,D) M&UW)I*0C-/8YUE!W1:RU.Z?_VZNNMU]RW8Q4#\N>GCZ6/HG"\/-%W0A7GU\. MPIWLX]\!4$L#!!0 ( F8_E#Q!(8JZP< ,\M 7 :7)B=&5X:&EB M:70S,3(V,CHSS7[]_=V'BSZK-9K-C\?]9G-P-6 _7OWG SLY:K79E>6Y4UZ9G.MF M<_ASC=52[XMNLSF;S8YFQT?&3II7ETV:ZJ2IC7'R2'A1.W_>HZ[SY\]ZJ>0" MOY_UOFDTV, D929SSQ(KN9>"E4[E$_912'?-VJS1N)7LFV)NU23UK-/JM-A' M8Z_5E"\DO/):G@]O4C52OM>,32AK5MIZ(R/FYSVAILSYN99O:F.3^\:89TK/ MNU.?67[+9;A7]-UF/D>8^SG&<8ZP9GK6&K?=H9O.N? M#=[W3X[/3EJ=P:L?VL-A__2L=58[[S4Y_H=1BQ\+S5KELI%*6DNWW6E]MZFN M1SW;#%5Y*JWR6T:,+-11]T+KDN[P[$$K"BX$]KXQ,MZ;K/NJN+GM\J8(;2]O M?(-K-RX?=197=+^K$\ .6D_B_E]:;T:JX03 M21S;?05D;KNS:J^6XSUL=NW\HLY^*K62[ ^IM+1UE@1KY\RGW'?7C/5\I"4D MM*Y,>U-KU4+;%3Q9M"OU&];_';_8YE(\,.K%8K:9$C[MGOP;\Q"5O*"'U1_- M(+HB/J55)%Q7NP4;:CLQ;F$\;7.W%97NO+?MHS4"1JOOM_'U T9^CO?/4CZ5 MS,JIDC-X6Y\JQWXKN04;])Q=RL)8STS.WAN;L7:K\1LS8Z8N#6@%#VSQ..#Z M]9:EAO?2#*!YPLZ.[Z5S -AYQQT0 VQD1 MC%]+Z%V:TZ%/P!BHU"%'@ X22)1%?@&Q',-AB9"6S5*5I,R5].-N_$Q:64U" M"\B4T\@<*!>9*9]B@:Z023"0YBU@FA%8)MX,-F4T7]Z&)W+LEQS'ATP.R<8J M!_P(R7=PJX,9$,=CN_1!@\7>B2X$Y >DE;-5!!T6NN@ BB4Q$,JWO MV%(!U:VI!B%%2-OK)%%J"( B!CBN\A2R)^$N96-M9F[!'RLGRGGD_)YQZHQV MP\KZ$@W-C^\^A*T69!U9TSREU\_;P;283K@*&0F M#X.\3DE3PDOW^"&4O8PD %MIBOF0*2TF@"N?*A<"!*1D'N:AJO NM"R')RLU M#PRH$J([%->KT$4/%<(,;'%&*Q%.=UPY%<&*X8L&%9Q>5JDY14$L*QAQEY)A1$SPEO-2_#62)(A A?%2?/V! MZ< 8-CHXACW:R6\0[?'AX=%\ T>G2A"-N#-YP!YWH"#5+<0M;L4"YV">XB.E ME9]3EK9-+;$^4"*@/1)V172I[@GA]J9:4%&BPG> *V6526*L" :$"F@B<"?'8Y0@:@K$N"VE M!'+"1\2JV-Q>5P0.82#BC(O5R\B4_G[=CXFF_%9:4FDV?KC.9Z-%T1?<@HQ[ M0*=C-/D3#?9+ W$ -!A$G&WBE<[!JM(@/%FCPPX1A3(RDR2E)3PNI3\K\V7& M>?305P[,XK M[,]XR,M>; B/02;X]S6YRLP$$ \'=G26EY>WMKR,EJ3:' M%!D"^:0((3.LO@IGG#.&SAUC0LW[G MNBF2+-/ESHN'+Q^/3Q(W"B$8Q5$&>6/=;486.C!9EBGOI=P:&T<&V1X]$0HV MA>$O0">$(D>A#K^I#%OP7OY9*I@_ET@/ //$!XJY'88\+P\1EC MZ5PJ41) K;*IVT)^)ODUI48Q9'P3O"O:NYXEK?%YW.!@4[> MNOPM5*E*&@@#]:@\ZC$[# P'\(M?U;)%AC M"_=:!Q1EB 4 <_B25Z&^'C,6E4^-GDI*6W(^J3Y(VBI\R*S09B[Q=)::&#/X M"J? @4_,X([80_!\Y,[MZPK+MKM#GVK"TOB-C"2,5[G V-!>5I 3C_7J39@J MB]F)M'_'T35KX5@F*H_F\=*;14>XWQ1[(FG;+2Q^!,[BCPU( MWS$?(K P?U/KU.XG>E1Q"@VU#7YM/GO84\1;4*O\[ZQ=B5IN5[>FEKOB!G3B M[B^]T,]1-H&B7;J8-&?'K7JXW[>+QZD66[V;:BGMXH:%/SDV^D;<394 B?>QY.^_;;]J;3LW_!+KV\-Z MEJ_8W>M8]Z"GGRHY9N]O@\POL>1Y*,"LW0_]RJY4[AJ//I?">Z[-;JYXMY1L MCY=[GRT:X6[S\UZX='W^/U!+ P04 " )F/Y0H(;'PKL% "]'@ %P M &ER8G1E>&AI8FET,S(Q-C(W,C N:'1M[5EM<]HX$/[<_HJM.]=)9@"_D.0: M0C/C&'(E0T,+9'KM-V$+K*EL^6P1POWZ6\DV(4 N39NTX:Z9A"!I5_NB9U]D M-U^T>M[PT_LVA#+B\/[BI-OQP*B:YL>Z9YJM80O>#M]U8:]FV3!,29PQR41, MN&FVSPTP0BF3AFG.9K/:K%X3Z<0<]DVUU9[)A (? YI] 1NJU06E)Y)YRB:A!,=R+/@H MTB_LDI04DDE.C]M7(1LQV33S(0HS"VG-D0CFQ\V 74(FYYR^,<8BEM4QB1B? M-X8LHAF:2T1\[C)H&81,B;>=:^VW(]VSXYM5WW ML.6Z)Y[3.CBT3P\=:V^_91PW38)_FJO\*"5S%M-J2)4M#=NQ?EL7UU0SFQ1E M<4A3)C=PC%(4IZ9+J4NR]=J=6B0D"-#WU9&04D2-@^1J,25%HL>27LDJX6P2 M-_11?+_F>CC+M1@)'N 6Q2%"W:G9-TUZ..U]A!Q-'\?Q3T_+#4[VVOUAY[3C MN<-.[QQCOC^X<,^',.S!%AICOX:+VJ#FU6#0]K1!=GW?VD9+W &XK=[[8;NU M[6=2GL2A=0"]4QB^; !PKX3@R_BF/JJ%,*,R1!D2.'#E*3H43Z'/DU$*@$73T4:@6U5/X 8 M ^L+U!R+68K+1#/O*$;#$U%"XKFQ"V.1ZKT2E"P"H*AXL'#0O14]F\;TU4O[ MP#IR?J_HTOG-6[UZ67>.2 9CQE&CA3 XX9W-7#C"<>Q(O%"1L>X*0J1[))" M;SQF/DV5+_5R[C8M^6S*&87/%-5+EYE/64QBGQ%^"W,%<$ZR,7Y)IFDV)>@7 M*6 IJQ3'K+)*!= #)!"):E:6R4LB!?AB_P%)1R2F6;5WQ>D<7%^J%07XBN(0 MTQ2^Q&*&WIQH:XELK$2")"-.43W."Y"_,2Q#C[.$^.6X.,35.-@0*O_6],!Z M6$BL;3(H]Y^Q0(8-9P_W4?V-#-1B\<74I#?(+Y53?<*+4$2MC'NU0:7Z*H8; M5B[TWIC=L7=7VJ)<[=N5/+I#R]7L\@#)1&&ER!?C*A^@B/ LTVH?UO9PMTIGF M2(72!I?I S8U'G_!\OMAZ6P)+%F,Y2C*"Q46/$E0;H"SL(Q9PE3%2U*:*7A6 MU#+A') --\:TBPL)XC7+D_)XD8YQPT#?)77Z1JHIS]$ML/9IF=E*JJ[!7=#< M@MYA&+*L*#EXQMI^G!A1=?%-4G')@I72WP+_WNY)] M33N\Q+\6_LL6J/&R@%C%#K_A!+M(&?=*H?=X5A&1=,+B7#TRE:*;[J_)]H6QQ=D4 MIMC)%638'P?PTM(_C^*,%19[0\0^@'_,S 2OU^V:H_3#U\4LC[6;;^JC'_OQIS=M'MM.%SN]-M]Y\:)/Y[%:; DFYRUX#T MZ/&P_/#OQQ:?C8\8[[JFKKRC^Y'7^HW7HUM>$JY?CN[WL.0!7V4^*P?Z3>[S MIG[%?/P/4$L! A0#% @ "9C^4/F(ZQ'+#@ +*D !$ M ( ! &ER8G0M,C R,# V,C'-D4$L! A0#% @ "9C^4!E09VQ4 M'0 S3,! !4 ( !^@X &ER8G0M,C R,# V,C=?8V%L+GAM M;%!+ 0(4 Q0 ( F8_E!LM)YJ?$< &3 P 5 " 8$L M !I&UL M4$L! A0#% @ "9C^4$AH?1M ;0 &V$% !4 ( !&Q(! M &ER8G0M,C R,# V,C=?<')E+GAM;%!+ 0(4 Q0 ( F8_E"ZM%%P;((! M -PA%0 3 " 8Y_ 0!I^MGX"" [BT !< ( !*P(# &ER M8G1E>&AI8FET,S$Q-C(W,C N:'1M4$L! A0#% @ "9C^4/$$ABKK!P MSRT !< ( !8@H# &ER8G1E>&AI8FET,S$R-C(W,C N:'1M M4$L! A0#% @ "9C^4*"&Q\*[!0 O1X !< ( !@A(# M &ER8G1E>&AI8FET,S(Q-C(W,C N:'1M4$L%!@ ) D 6P( '(8 P ! $! end