XML 17 R33.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) (Fair Value, Measurements, Recurring, USD $)
In Thousands, unless otherwise specified
Mar. 28, 2015
Dec. 27, 2014
Assets    
Total Assets $ 324,548us-gaap_AssetsFairValueDisclosure $ 325,705us-gaap_AssetsFairValueDisclosure
Money market funds
   
Assets    
Total Assets 39,633us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
21,478us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Certificates of deposit
   
Assets    
Total Assets 9,465us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
8,060us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Commercial paper
   
Assets    
Total Assets 21,690us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
46,072us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Corporate bonds
   
Assets    
Total Assets 223,238us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
235,285us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
U.S. agency notes
   
Assets    
Total Assets 14,508us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
U.S. treasuries
   
Assets    
Total Assets 16,014us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
14,810us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Foreign currency exchange forward contracts
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Liabilities    
Total Liabilities (117)us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
(64)us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Level 1
   
Assets    
Total Assets 55,647us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
36,288us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | Money market funds
   
Assets    
Total Assets 39,633us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
21,478us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | Certificates of deposit
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | Commercial paper
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | Corporate bonds
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | U.S. agency notes
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | U.S. treasuries
   
Assets    
Total Assets 16,014us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
14,810us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 | Foreign currency exchange forward contracts
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Liabilities    
Total Liabilities 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Level 2
   
Assets    
Total Assets 268,901us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
289,417us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | Money market funds
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | Certificates of deposit
   
Assets    
Total Assets 9,465us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
8,060us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | Commercial paper
   
Assets    
Total Assets 21,690us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
46,072us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | Corporate bonds
   
Assets    
Total Assets 223,238us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
235,285us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | U.S. agency notes
   
Assets    
Total Assets 14,508us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | U.S. treasuries
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 | Foreign currency exchange forward contracts
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Liabilities    
Total Liabilities (117)us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
(64)us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Level 3
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | Money market funds
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MoneyMarketFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | Certificates of deposit
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CertificatesOfDepositMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | Commercial paper
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialPaperMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | Corporate bonds
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | U.S. agency notes
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AgencySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | U.S. treasuries
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 | Foreign currency exchange forward contracts
   
Assets    
Total Assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
Liabilities    
Total Liabilities $ 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember
$ 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ForeignExchangeForwardMember