XML 54 R20.htm IDEA: XBRL DOCUMENT
v3.24.0.1

QUARTERLY FINANCIAL INFORMATION (UNAUDITED) | 12 Months Ended
--- | ---
Dec. 29, 2023
QUARTERLY FINANCIAL INFORMATION (UNAUDITED) |
QUARTERLY FINANCIAL INFORMATION (UNAUDITED) | 14. QUARTERLY FINANCIAL INFORMATION (UNAUDITED) The tables below reflect selected quarterly information for the fiscal years ended December 29, 2023 and December 30, 2022. ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Fiscal Three Months Ended |
​ | ​ | March 31, | ​ | June 30, | ​ | September 29, | ​ | December 29, |
​ |  | 2023 |  | 2023 |  | 2023 |  | 2023 |
​ | ​ | (in thousands except per share amounts) |
Contract revenue | ​ | $ | 102,603 | ​ | $ | 119,077 | ​ | $ | 132,738 | ​ | $ | 155,677 | ​
Income (loss) from operations | ​ |  | 4,014 | ​ |  | 2,474 | ​ |  | 3,837 | ​ |  | 11,749 | ​
Income tax expense (benefit) | ​ |  | 756 | ​ |  | 243 | ​ |  | 713 | ​ |  | 1,953 | ​
Net income (loss) | ​ |  | 932 | ​ |  | 397 | ​ |  | 1,566 | ​ |  | 8,031 | ​
Earnings (loss) per share: | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ | $ | 0.07 | ​ | $ | 0.03 | ​ | $ | 0.12 | ​ | $ | 0.59 | ​
Diluted | ​ | $ | 0.07 | ​ | $ | 0.03 | ​ | $ | 0.11 | ​ | $ | 0.58 | ​
Weighted-average shares outstanding: | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ |  | 13,266 | ​ |  | 13,344 | ​ |  | 13,462 | ​ |  | 13,503 | ​
Diluted | ​ |  | 13,470 | ​ |  | 13,487 | ​ |  | 13,709 | ​ |  | 13,731 | ​
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Fiscal Three Months Ended |
​ | ​ | April 1, | ​ | July 1, | ​ | September 30, | ​ | December 30, |
​ |  | 2022 |  | 2022 |  | 2022 |  | 2022 |
​ | ​ | (in thousands except per share amounts) |
Contract revenue | ​ | $ | 91,838 | ​ | $ | 102,645 | ​ | $ | 121,399 | ​ | $ | 113,256 | ​
Income (loss) from operations | ​ |  | (5,608) | ​ |  | (5,298) | ​ |  | (755) | ​ |  | 4,598 | ​
Income tax expense (benefit) | ​ |  | (2,389) | ​ |  | (1,673) | ​ |  | (1,526) | ​ |  | 2,584 | ​
Net income (loss) | ​ |  | (3,773) | ​ |  | (4,326) | ​ |  | 76 | ​ |  | (425) | ​
Earnings (loss) per share: | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ | $ | (0.30) | ​ | $ | (0.33) | ​ | $ | 0.01 | ​ | $ | (0.03) | ​
Diluted | ​ | $ | (0.30) | ​ | $ | (0.33) | ​ | $ | 0.01 | ​ | $ | (0.03) | ​
Weighted-average shares outstanding: | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ |  | 12,786 | ​ |  | 13,016 | ​ |  | 13,110 | ​ |  | 13,138 | ​
Diluted | ​ |  | 12,786 | ​ |  | 13,016 | ​ |  | 13,360 | ​ |  | 13,138 | ​
​ ​

X
- References No definition available. + Details
Name: | us-gaap_QuarterlyFinancialInformationDisclosureAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Publisher FASB -URI https://asc.fasb.org//1943274/2147482964/270-10-50-1B Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 270 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org//270/tableOfContent + Details
Name: | us-gaap_QuarterlyFinancialInformationTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration