Organization record
FormFactor, Inc.
All evidence-backed facts for this organization, identity resolved across official registers.
Facts on record
Newest first; every row links to its evidence page.
| Fact | Value | Period | Source |
|---|---|---|---|
| accounts_payable | {"amount": 77427000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-06-27 | sec_edgar |
| accounts_payable | {"amount": 54226000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-03-28 | sec_edgar |
| accounts_payable | {"amount": 47436000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-12-27 | sec_edgar |
| accounts_payable | {"amount": 58389000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-09-27 | sec_edgar |
| accounts_payable | {"amount": 59932000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-06-28 | sec_edgar |
| accounts_payable | {"amount": 64536000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-03-29 | sec_edgar |
| accounts_payable | {"amount": 62287000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-12-28 | sec_edgar |
| accounts_payable | {"amount": 52086000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-09-28 | sec_edgar |
| accounts_payable | {"amount": 62235000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-06-29 | sec_edgar |
| accounts_payable | {"amount": 65995000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-03-30 | sec_edgar |
| accounts_payable | {"amount": 63857000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-12-30 | sec_edgar |
| accounts_payable | {"amount": 61589000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_payable | {"amount": 63770000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-07-01 | sec_edgar |
| accounts_payable | {"amount": 63756000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-04-01 | sec_edgar |
| accounts_payable | {"amount": 69308000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_payable | {"amount": 75021000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-09-24 | sec_edgar |
| accounts_payable | {"amount": 60927000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-06-25 | sec_edgar |
| accounts_payable | {"amount": 65378000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-03-26 | sec_edgar |
| accounts_payable | {"amount": 57862000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-12-25 | sec_edgar |
| accounts_payable | {"amount": 64925000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-09-25 | sec_edgar |
| accounts_payable | {"amount": 62445000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-06-26 | sec_edgar |
| accounts_payable | {"amount": 67720000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-03-27 | sec_edgar |
| accounts_payable | {"amount": 62045000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-12-26 | sec_edgar |
| accounts_payable | {"amount": 62903000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-09-26 | sec_edgar |
| accounts_payable | {"amount": 44334000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-06-27 | sec_edgar |
| accounts_payable | {"amount": 40139000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-03-28 | sec_edgar |
| accounts_payable | {"amount": 40914000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-12-28 | sec_edgar |
| accounts_payable | {"amount": 50968000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-09-28 | sec_edgar |
| accounts_payable | {"amount": 26252000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-06-29 | sec_edgar |
| accounts_payable | {"amount": 31555000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-03-30 | sec_edgar |
| accounts_payable | {"amount": 40006000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-12-29 | sec_edgar |
| accounts_payable | {"amount": 49668000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-09-29 | sec_edgar |
| accounts_payable | {"amount": 42054000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_payable | {"amount": 38889000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_payable | {"amount": 35046000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-12-30 | sec_edgar |
| accounts_payable | {"amount": 37103000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_payable | {"amount": 43179000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-07-01 | sec_edgar |
| accounts_payable | {"amount": 43316000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-04-01 | sec_edgar |
| accounts_payable | {"amount": 34075000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_payable | {"amount": 41584000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-09-24 | sec_edgar |
| accounts_payable | {"amount": 54063000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-06-25 | sec_edgar |
| accounts_payable | {"amount": 28611000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-03-26 | sec_edgar |
| accounts_payable | {"amount": 18072000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-12-26 | sec_edgar |
| accounts_payable | {"amount": 21159000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-09-26 | sec_edgar |
| accounts_payable | {"amount": 21449000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-06-27 | sec_edgar |
| accounts_payable | {"amount": 16143000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-03-28 | sec_edgar |
| accounts_payable | {"amount": 20274000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-12-27 | sec_edgar |
| accounts_payable | {"amount": 21267000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-09-27 | sec_edgar |
| accounts_payable | {"amount": 18388000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-06-28 | sec_edgar |
| accounts_payable | {"amount": 15921000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-03-29 | sec_edgar |
| accounts_payable | {"amount": 16313000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-12-28 | sec_edgar |
| accounts_payable | {"amount": 28676000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-09-28 | sec_edgar |
| accounts_payable | {"amount": 24181000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-06-29 | sec_edgar |
| accounts_payable | {"amount": 24191000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-03-30 | sec_edgar |
| accounts_payable | {"amount": 21015000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-12-29 | sec_edgar |
| accounts_payable | {"amount": 10856000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-09-29 | sec_edgar |
| accounts_payable | {"amount": 17833000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_payable | {"amount": 15171000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_payable | {"amount": 9731000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_payable | {"amount": 18120000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-09-24 | sec_edgar |
| accounts_payable | {"amount": 16023000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-06-25 | sec_edgar |
| accounts_payable | {"amount": 14948000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2010-12-25 | sec_edgar |
| accounts_receivable | {"amount": 155777000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2026-06-27 | sec_edgar |
| accounts_receivable | {"amount": 132155000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2026-03-28 | sec_edgar |
| accounts_receivable | {"amount": 125416000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-12-27 | sec_edgar |
| accounts_receivable | {"amount": 133316000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-09-27 | sec_edgar |
| accounts_receivable | {"amount": 115199000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-06-28 | sec_edgar |
| accounts_receivable | {"amount": 98605000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-03-29 | sec_edgar |
| accounts_receivable | {"amount": 104294000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2024-12-28 | sec_edgar |
| accounts_receivable | {"amount": 116866000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2024-09-28 | sec_edgar |
| accounts_receivable | {"amount": 113277000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2024-06-29 | sec_edgar |
| accounts_receivable | {"amount": 96407000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-03-30 | sec_edgar |
| accounts_receivable | {"amount": 102957000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2023-12-30 | sec_edgar |
| accounts_receivable | {"amount": 88965000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_receivable | {"amount": 94013000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-07-01 | sec_edgar |
| accounts_receivable | {"amount": 103969000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2023-04-01 | sec_edgar |
| accounts_receivable | {"amount": 88143000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 110497000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2022-09-24 | sec_edgar |
| accounts_receivable | {"amount": 107726000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2022-06-25 | sec_edgar |
| accounts_receivable | {"amount": 113505000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2022-03-26 | sec_edgar |
| accounts_receivable | {"amount": 115541000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-12-25 | sec_edgar |
| accounts_receivable | {"amount": 105807000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-09-25 | sec_edgar |
| accounts_receivable | {"amount": 108265000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-06-26 | sec_edgar |
| accounts_receivable | {"amount": 103500000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-03-27 | sec_edgar |
| accounts_receivable | {"amount": 107603000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2020-12-26 | sec_edgar |
| accounts_receivable | {"amount": 96946000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-09-26 | sec_edgar |
| accounts_receivable | {"amount": 86616000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-06-27 | sec_edgar |
| accounts_receivable | {"amount": 90100000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-03-28 | sec_edgar |
| accounts_receivable | {"amount": 97868000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-12-28 | sec_edgar |
| accounts_receivable | {"amount": 84750000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-09-28 | sec_edgar |
| accounts_receivable | {"amount": 71289000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-06-29 | sec_edgar |
| accounts_receivable | {"amount": 81492000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-03-30 | sec_edgar |
| accounts_receivable | {"amount": 95333000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-12-29 | sec_edgar |
| accounts_receivable | {"amount": 88869000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-09-29 | sec_edgar |
| accounts_receivable | {"amount": 84779000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_receivable | {"amount": 78524000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_receivable | {"amount": 81515000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-12-30 | sec_edgar |
| accounts_receivable | {"amount": 87950000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_receivable | {"amount": 91710000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-07-01 | sec_edgar |
| accounts_receivable | {"amount": 79439000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-04-01 | sec_edgar |
| accounts_receivable | {"amount": 70225000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_receivable | {"amount": 77530000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-09-24 | sec_edgar |
| accounts_receivable | {"amount": 86137000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-06-25 | sec_edgar |
| accounts_receivable | {"amount": 35743000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-03-26 | sec_edgar |
| accounts_receivable | {"amount": 36725000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-12-26 | sec_edgar |
| accounts_receivable | {"amount": 36682000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-09-26 | sec_edgar |
| accounts_receivable | {"amount": 43979000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-06-27 | sec_edgar |
| accounts_receivable | {"amount": 41055000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-03-28 | sec_edgar |
| accounts_receivable | {"amount": 45152000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-12-27 | sec_edgar |
| accounts_receivable | {"amount": 47776000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-09-27 | sec_edgar |
| accounts_receivable | {"amount": 41962000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-06-28 | sec_edgar |
| accounts_receivable | {"amount": 37057000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-03-29 | sec_edgar |
| accounts_receivable | {"amount": 30189000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-12-28 | sec_edgar |
| accounts_receivable | {"amount": 46320000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-09-28 | sec_edgar |
| accounts_receivable | {"amount": 38964000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-06-29 | sec_edgar |
| accounts_receivable | {"amount": 33453000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-03-30 | sec_edgar |
| accounts_receivable | {"amount": 28919000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-12-29 | sec_edgar |
| accounts_receivable | {"amount": 16891000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-09-29 | sec_edgar |
| accounts_receivable | {"amount": 27726000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_receivable | {"amount": 21203000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_receivable | {"amount": 12662000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_receivable | {"amount": 29142000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-09-24 | sec_edgar |
| accounts_receivable | {"amount": 28017000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-06-25 | sec_edgar |
| accounts_receivable | {"amount": 28598000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-12-25 | sec_edgar |
| capex | {"amount": 24791000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2026-06-27 | sec_edgar |
| capex | {"amount": 15192000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2026-03-28 | sec_edgar |
| capex | {"amount": 103658000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cu | 2025-12-27 | sec_edgar |
| capex | {"amount": 92345000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-09-27 | sec_edgar |
| capex | {"amount": 84840000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-06-28 | sec_edgar |
| capex | {"amount": 18584000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-03-29 | sec_edgar |
| capex | {"amount": 38436000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-12-28 | sec_edgar |
| capex | {"amount": 30773000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-09-28 | sec_edgar |
| capex | {"amount": 21834000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-06-29 | sec_edgar |
| capex | {"amount": 13436000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-03-30 | sec_edgar |
| capex | {"amount": 56027000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2023-12-30 | sec_edgar |
| capex | {"amount": 46094000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2023-09-30 | sec_edgar |
| capex | {"amount": 40177000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2023-07-01 | sec_edgar |
| capex | {"amount": 19701000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2023-04-01 | sec_edgar |
| capex | {"amount": 65254000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2022-12-31 | sec_edgar |
| capex | {"amount": 39024000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2022-09-24 | sec_edgar |
| capex | {"amount": 30116000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2022-06-25 | sec_edgar |
| capex | {"amount": 15606000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2022-03-26 | sec_edgar |
| capex | {"amount": 66496000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2021-12-25 | sec_edgar |
| capex | {"amount": 51353000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2021-09-25 | sec_edgar |
| capex | {"amount": 31322000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2021-06-26 | sec_edgar |
| capex | {"amount": 13470000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2021-03-27 | sec_edgar |
| capex | {"amount": 55865000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2020-12-26 | sec_edgar |
| capex | {"amount": 41887000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2020-09-26 | sec_edgar |
| capex | {"amount": 36743000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2020-06-27 | sec_edgar |
| capex | {"amount": 12050000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2020-03-28 | sec_edgar |
| capex | {"amount": 20847000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2019-12-28 | sec_edgar |
| capex | {"amount": 14242000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2019-09-28 | sec_edgar |
| capex | {"amount": 11460000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2019-06-29 | sec_edgar |
| capex | {"amount": 6028000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-03-30 | sec_edgar |
| capex | {"amount": 19869000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2018-12-29 | sec_edgar |
| capex | {"amount": 12326000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2018-09-29 | sec_edgar |
| capex | {"amount": 8545000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-06-30 | sec_edgar |
| capex | {"amount": 3831000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-03-31 | sec_edgar |
| capex | {"amount": 17756000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2017-12-30 | sec_edgar |
| capex | {"amount": 13918000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2017-09-30 | sec_edgar |
| capex | {"amount": 7759000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-07-01 | sec_edgar |
| capex | {"amount": 3465000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-04-01 | sec_edgar |
| capex | {"amount": 11521000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2016-12-31 | sec_edgar |
| capex | {"amount": 8217000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-09-24 | sec_edgar |
| capex | {"amount": 3633000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-06-25 | sec_edgar |
| capex | {"amount": 1111000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-03-26 | sec_edgar |
| capex | {"amount": 8640000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-12-26 | sec_edgar |
| capex | {"amount": 6644000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-09-26 | sec_edgar |
| capex | {"amount": 4245000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-06-27 | sec_edgar |
| capex | {"amount": 1443000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-03-28 | sec_edgar |
| capex | {"amount": 5670000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-12-27 | sec_edgar |
| capex | {"amount": 4539000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-09-27 | sec_edgar |
| capex | {"amount": 2994000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-06-28 | sec_edgar |
| capex | {"amount": 1638000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-03-29 | sec_edgar |
| capex | {"amount": 8530000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-12-28 | sec_edgar |
| capex | {"amount": 7363000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-09-28 | sec_edgar |
| capex | {"amount": 5071000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-06-29 | sec_edgar |
| capex | {"amount": 2725000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-03-30 | sec_edgar |
| capex | {"amount": 2725000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-03-30 | sec_edgar |
| capex | {"amount": 7952000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-12-29 | sec_edgar |
| capex | {"amount": 6122000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-09-29 | sec_edgar |
| capex | {"amount": 3928000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-06-30 | sec_edgar |
| capex | {"amount": 1804000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-03-31 | sec_edgar |
| capex | {"amount": 7700000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-12-31 | sec_edgar |
| capex | {"amount": 4874000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-09-24 | sec_edgar |
| capex | {"amount": 2733000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-06-25 | sec_edgar |
| capex | {"amount": 1537000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-03-26 | sec_edgar |
| capex | {"amount": 30914000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2010-12-25 | sec_edgar |
| capex | {"amount": 22479000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2010-09-25 | sec_edgar |
| capex | {"amount": 16484000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2010-06-26 | sec_edgar |
| capex | {"amount": 19173000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2009-12-26 | sec_edgar |
| cash_and_equivalents | {"amount": 109761000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2026-06-27 | sec_edgar |
| cash_and_equivalents | {"amount": 123539000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2026-03-28 | sec_edgar |
| cash_and_equivalents | {"amount": 103330000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2025-12-27 | sec_edgar |
| cash_and_equivalents | {"amount": 97678000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-09-27 | sec_edgar |
| cash_and_equivalents | {"amount": 67380000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-06-28 | sec_edgar |
| cash_and_equivalents | {"amount": 129889000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2025-03-29 | sec_edgar |
| cash_and_equivalents | {"amount": 190728000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2024-12-28 | sec_edgar |
| cash_and_equivalents | {"amount": 184506000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2024-09-28 | sec_edgar |
| cash_and_equivalents | {"amount": 195914000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2024-06-29 | sec_edgar |