0001558370-24-007250.txt : 20240508 0001558370-24-007250.hdr.sgml : 20240508 20240508123044 ACCESSION NUMBER: 0001558370-24-007250 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 89 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240508 DATE AS OF CHANGE: 20240508 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Mayville Engineering Company, Inc. CENTRAL INDEX KEY: 0001766368 STANDARD INDUSTRIAL CLASSIFICATION: METAL FORGING & STAMPINGS [3460] ORGANIZATION NAME: 04 Manufacturing IRS NUMBER: 390944729 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38894 FILM NUMBER: 24925013 BUSINESS ADDRESS: STREET 1: 715 SOUTH STREET CITY: MAYVILLE STATE: WI ZIP: 53050 BUSINESS PHONE: 920-387-4500 MAIL ADDRESS: STREET 1: 715 SOUTH STREET CITY: MAYVILLE STATE: WI ZIP: 53050 FORMER COMPANY: FORMER CONFORMED NAME: Mayville Engineering Comapny, Inc. DATE OF NAME CHANGE: 20190130 10-Q 1 tmb-20240331x10q.htm 10-Q
0001766368--12-312024Q1falseP3Y0001766368mec:OmnibusIncentivesPlanMember2024-03-310001766368us-gaap:TreasuryStockCommonMember2023-01-012023-03-310001766368us-gaap:TreasuryStockCommonMember2024-03-310001766368us-gaap:RetainedEarningsMember2024-03-310001766368us-gaap:AdditionalPaidInCapitalMember2024-03-310001766368us-gaap:TreasuryStockCommonMember2023-12-310001766368us-gaap:RetainedEarningsMember2023-12-310001766368us-gaap:AdditionalPaidInCapitalMember2023-12-310001766368us-gaap:TreasuryStockCommonMember2023-03-310001766368us-gaap:RetainedEarningsMember2023-03-310001766368us-gaap:AdditionalPaidInCapitalMember2023-03-310001766368us-gaap:TreasuryStockCommonMember2022-12-310001766368us-gaap:RetainedEarningsMember2022-12-310001766368us-gaap:AdditionalPaidInCapitalMember2022-12-310001766368us-gaap:OtherCurrentLiabilitiesMembermec:MidStatesAluminumMembermec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember2024-03-310001766368us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001766368us-gaap:EmployeeStockOptionMember2023-03-310001766368mec:OmnibusIncentivesPlanMember2021-04-200001766368us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-03-310001766368mec:MidStatesAluminumMember2024-01-012024-03-310001766368us-gaap:OperatingSegmentsMember2024-01-012024-03-310001766368us-gaap:IntersegmentEliminationMember2024-01-012024-03-310001766368mec:TubesMember2024-01-012024-03-310001766368mec:TankMember2024-01-012024-03-310001766368mec:PowersportsMember2024-01-012024-03-310001766368mec:PerformanceStructuresMember2024-01-012024-03-310001766368mec:OutdoorSportsMember2024-01-012024-03-310001766368mec:OtherMarketMember2024-01-012024-03-310001766368mec:MilitaryMember2024-01-012024-03-310001766368mec:FabricationMember2024-01-012024-03-310001766368mec:ConstructionAndAccessMember2024-01-012024-03-310001766368mec:CommercialVehicleMember2024-01-012024-03-310001766368mec:AgricultureMember2024-01-012024-03-310001766368us-gaap:OperatingSegmentsMember2023-01-012023-03-310001766368us-gaap:IntersegmentEliminationMember2023-01-012023-03-310001766368mec:TubesMember2023-01-012023-03-310001766368mec:TankMember2023-01-012023-03-310001766368mec:PowersportsMember2023-01-012023-03-310001766368mec:PerformanceStructuresMember2023-01-012023-03-310001766368mec:OutdoorSportsMember2023-01-012023-03-310001766368mec:OtherMarketMember2023-01-012023-03-310001766368mec:MilitaryMember2023-01-012023-03-310001766368mec:FabricationMember2023-01-012023-03-310001766368mec:ConstructionAndAccessMember2023-01-012023-03-310001766368mec:CommercialVehicleMember2023-01-012023-03-310001766368mec:AgricultureMember2023-01-012023-03-310001766368srt:MinimumMemberus-gaap:LandImprovementsMember2024-03-310001766368srt:MinimumMemberus-gaap:FurnitureAndFixturesMember2024-03-310001766368srt:MinimumMemberus-gaap:BuildingAndBuildingImprovementsMember2024-03-310001766368srt:MinimumMembermec:MachineryEquipmentAndToolingMember2024-03-310001766368srt:MaximumMemberus-gaap:LandImprovementsMember2024-03-310001766368srt:MaximumMemberus-gaap:FurnitureAndFixturesMember2024-03-310001766368srt:MaximumMemberus-gaap:BuildingAndBuildingImprovementsMember2024-03-310001766368srt:MaximumMembermec:MachineryEquipmentAndToolingMember2024-03-310001766368us-gaap:VehiclesMember2024-03-310001766368us-gaap:LandMember2024-03-310001766368us-gaap:LandImprovementsMember2024-03-310001766368us-gaap:FurnitureAndFixturesMember2024-03-310001766368us-gaap:ConstructionInProgressMember2024-03-310001766368us-gaap:BuildingAndBuildingImprovementsMember2024-03-310001766368mec:MachineryEquipmentAndToolingMember2024-03-310001766368us-gaap:VehiclesMember2023-12-310001766368us-gaap:LandMember2023-12-310001766368us-gaap:LandImprovementsMember2023-12-310001766368us-gaap:FurnitureAndFixturesMember2023-12-310001766368us-gaap:ConstructionInProgressMember2023-12-310001766368us-gaap:BuildingAndBuildingImprovementsMember2023-12-310001766368mec:MachineryEquipmentAndToolingMember2023-12-310001766368us-gaap:RetainedEarningsMember2024-01-012024-03-310001766368us-gaap:RetainedEarningsMember2023-01-012023-03-310001766368us-gaap:RevolvingCreditFacilityMember2024-03-310001766368us-gaap:RevolvingCreditFacilityMember2023-12-310001766368us-gaap:OtherNoncurrentLiabilitiesMembermec:MidStatesAluminumMembermec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember2024-03-310001766368us-gaap:RevolvingCreditFacilityMembermec:AmendedAndRestatedCreditAgreementMember2024-01-012024-03-310001766368us-gaap:RevolvingCreditFacilityMembermec:AmendedAndRestatedCreditAgreementMember2023-01-012023-12-310001766368us-gaap:RevolvingCreditFacilityMembermec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-280001766368mec:SwinglineFacilityMembermec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-280001766368us-gaap:RevolvingCreditFacilityMembermec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-270001766368mec:SwinglineFacilityMembermec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-270001766368us-gaap:LetterOfCreditMember2023-06-270001766368mec:AmendedAndRestatedCreditAgreementMember2023-12-310001766368us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:DeferredCompensationShareBasedPaymentsMember2024-03-310001766368us-gaap:FairValueMeasurementsRecurringMemberus-gaap:DeferredCompensationShareBasedPaymentsMember2024-03-310001766368us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001766368us-gaap:FairValueMeasurementsRecurringMember2024-03-310001766368us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:DeferredCompensationShareBasedPaymentsMember2023-12-310001766368us-gaap:FairValueMeasurementsRecurringMemberus-gaap:DeferredCompensationShareBasedPaymentsMember2023-12-310001766368us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001766368us-gaap:FairValueMeasurementsRecurringMember2023-12-310001766368mec:NonAmortizableBrandNameMember2024-03-310001766368mec:NonAmortizableBrandNameMember2023-12-310001766368mec:MidStatesAluminumMember2023-01-012023-12-310001766368srt:MinimumMembermec:CustomerRelationshipsAndContractsMember2024-03-310001766368srt:MaximumMembermec:CustomerRelationshipsAndContractsMember2024-03-310001766368srt:MinimumMembermec:CustomerRelationshipsAndContractsMember2023-12-310001766368srt:MaximumMembermec:CustomerRelationshipsAndContractsMember2023-12-310001766368us-gaap:DevelopedTechnologyRightsMember2023-07-010001766368us-gaap:CustomerRelationshipsMember2023-07-010001766368us-gaap:TradeNamesMember2024-03-310001766368us-gaap:PatentsMember2024-03-310001766368us-gaap:NoncompeteAgreementsMember2024-03-310001766368us-gaap:DevelopedTechnologyRightsMember2024-03-310001766368mec:CustomerRelationshipsAndContractsMember2024-03-310001766368us-gaap:TradeNamesMember2023-12-310001766368us-gaap:PatentsMember2023-12-310001766368us-gaap:NoncompeteAgreementsMember2023-12-310001766368us-gaap:DevelopedTechnologyRightsMember2023-12-310001766368mec:CustomerRelationshipsAndContractsMember2023-12-310001766368us-gaap:RestrictedStockUnitsRSUMember2024-03-310001766368us-gaap:EmployeeStockOptionMember2024-03-310001766368mec:PerformanceStockUnitsPsusMember2024-03-310001766368us-gaap:RestrictedStockUnitsRSUMember2023-12-310001766368us-gaap:EmployeeStockOptionMember2023-12-310001766368mec:PerformanceStockUnitsPsusMember2023-12-310001766368mec:AmendedAndRestatedCreditAgreementMember2024-03-310001766368us-gaap:DeferredProfitSharingMember2024-01-012024-03-310001766368mec:EmployeesMember2024-01-012024-03-310001766368us-gaap:DeferredProfitSharingMember2023-01-012023-03-310001766368mec:EmployeesMember2023-01-012023-03-310001766368mec:MidStatesAluminumMembermec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember2024-01-012024-03-310001766368mec:MidStatesAluminumMembermec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember2024-03-310001766368mec:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerBMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001766368mec:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001766368mec:CustomerCMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001766368mec:CustomerBMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001766368mec:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001766368mec:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerCMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-03-310001766368mec:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001766368mec:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001766368mec:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001766368us-gaap:CommonStockMember2024-03-310001766368us-gaap:CommonStockMember2023-12-310001766368us-gaap:CommonStockMember2023-03-310001766368us-gaap:CommonStockMember2022-12-3100017663682023-03-3100017663682022-12-310001766368mec:MidStatesAluminumMemberus-gaap:DevelopedTechnologyRightsMember2023-07-010001766368mec:MidStatesAluminumMemberus-gaap:CustomerRelationshipsMember2023-07-010001766368mec:MidStatesAluminumMember2023-06-192023-06-190001766368us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001766368us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001766368mec:UnitAwardsMember2024-01-012024-03-310001766368mec:OptionAwardMember2024-01-012024-03-310001766368mec:UnitAwardsMember2023-01-012023-03-310001766368mec:OptionAwardMember2023-01-012023-03-310001766368us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001766368us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001766368mec:PerformanceStockUnitsPsusMember2024-01-012024-03-310001766368us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001766368srt:MinimumMember2024-01-012024-03-310001766368srt:MaximumMember2024-01-012024-03-310001766368mec:AmendedAndRestatedCreditAgreementMember2024-01-012024-03-310001766368mec:AmendedAndRestatedCreditAgreementMember2023-06-302023-06-300001766368mec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-282023-06-280001766368mec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-280001766368mec:AmendedAndRestatedCreditAgreementMembermec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember2023-06-270001766368mec:MidStatesAluminumMember2023-07-012023-07-0100017663682022-08-0400017663682023-01-012023-01-0100017663682022-01-012022-12-310001766368us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001766368us-gaap:EmployeeStockOptionMember2023-01-012023-03-3100017663682023-01-012023-03-310001766368mec:SecondAmendmentCreditAgreementMember2024-01-012024-03-310001766368us-gaap:CommonStockMember2024-01-012024-03-310001766368us-gaap:CommonStockMember2023-01-012023-03-310001766368mec:MidStatesAluminumMember2023-07-010001766368us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-3100017663682024-03-3100017663682023-12-3100017663682024-05-0300017663682024-01-012024-03-31xbrli:sharesiso4217:USDxbrli:puremec:claimmec:facilitymec:itemiso4217:USDxbrli:sharesmec:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, DC 20549

FORM 10-Q

(Mark One)

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the quarterly period ended March 31, 2024

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-38894

Mayville Engineering Company, Inc.

(Exact Name of Registrant as Specified in its Charter)

Wisconsin

39-0944729

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification No.)

135 S. 84th Street, Suite 300

Milwaukee, Wisconsin

53214

(Address of principal executive offices)

(Zip Code)

Registrant’s telephone number, including area code: (414) 381-2860

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, no par value

MEC

New York Stock Exchange

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.   Yes      No  

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).   Yes      No  

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, 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.

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).   Yes      No  

As of May 3, 2024, the registrant had 20,526,787 shares of common stock, no par value per share, outstanding.

Table of Contents

Page

PART  I.

FINANCIAL INFORMATION

5

Item 1.

Financial Statements (Unaudited)

5

Condensed Consolidated Balance Sheets

5

Condensed Consolidated Statements of Comprehensive Income

6

Condensed Consolidated Statements of Cash Flows

7

Condensed Consolidated Statements of Shareholders’ Equity

8

Notes to Unaudited Condensed Consolidated Financial Statements

9

Item 2.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

23

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

28

Item 4.

Controls and Procedures

29

PART II.

OTHER INFORMATION

30

Item 1.

Legal Proceedings

30

Items 1A.

Risk Factors

30

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

30

Item 5.

Other Information

30

Item 6.

Exhibits

31

Signatures

32

2

CAUTIONARY STATEMENT REGARDING FORWARD-LOOKING STATEMENTS

Certain matters discussed in this Quarterly Report on Form 10-Q contain forward-looking statements that involve risks and uncertainties, such as statements related to future events, business strategy, future performance, future operations, financial position, estimated revenues and losses, projected costs, prospects, plans and objectives of management. All statements other than statements of historical fact may be forward-looking statements. Forward-looking statements are often, but not always, identified by the use of words such as “seek,” “anticipate,” “plan,” “continue,” “estimate,” “expect,” “may,” “will,” “project,” “predict,” “potential,” “targeting,” “intend,” “could,” “might,” “should,” “believe” and similar expressions or their negative. Forward-looking statements should not be read as a guarantee of future performance or results, and will not necessarily be accurate indications of the times at, or by, which such performance or results will be achieved. Forward-looking statements are based on management’s belief, based on currently available information, as to the outcome and timing of future events. These statements involve estimates, assumptions, known and unknown risks, uncertainties and other factors that may cause actual results or events to differ materially from those expressed in such forward-looking statements. Mayville Engineering Company, Inc. (MEC, the Company, we, our, us or similar terms) believes the expectations reflected in the forward-looking statements contained in this Quarterly Report on Form 10-Q are reasonable, but no assurance can be given that these expectations will prove to be correct. Forward-looking statements should not be unduly relied upon.

Important factors that could cause actual results or events to differ materially from those expressed in forward-looking statements include, but are not limited to, those described in “Risk Factors” in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2023, filed with the Securities and Exchange Commission (the SEC) on March 6, 2024, as such may be amended or supplemented in Part II, Item 1A of our subsequently filed Quarterly Reports on Form 10-Q (including this report) and the following:

Macroeconomic conditions, including inflation, elevated interest rates and recessionary concerns, as well as continuing supply chain constraints affecting some of our customers, labor availability and material cost pressures, have had, and may continue to have, a negative impact on our business, financial condition, cash flows and results of operations (including future uncertain impacts);
risks relating to developments in the industries in which our customers operate;
risks related to scheduling production accurately and maximizing efficiency;
our ability to realize net sales represented by our awarded business;
failure to compete successfully in our markets;
our ability to maintain our manufacturing, engineering and technological expertise;
the loss of any of our large customers or the loss of their respective market shares;
risks related to entering new markets;
our ability to recruit and retain our key executive officers, managers and trade-skilled personnel;
volatility in the prices or availability of raw materials critical to our business;
manufacturing risks, including delays and technical problems, issues with third-party suppliers, environmental risks and applicable statutory and regulatory requirements;
our ability to successfully identify or integrate acquisitions;
our ability to develop new and innovative processes and gain customer acceptance of such processes;
risks related to our information technology systems and infrastructure, including cybersecurity risk and data leakage risks;

3

geopolitical and economic developments, including foreign trade relations and associated tariffs;
results of legal disputes, including product liability, intellectual property infringement and other claims;
risks associated with our capital-intensive industry;
risks related to our treatment as an S Corporation prior to the consummation of our initial public offering of common stock; and
risks related to our employee stock ownership plan’s treatment as a tax-qualified retirement plan.

These factors are not necessarily all of the important factors that could cause actual results or events to differ materially from those expressed in forward-looking statements. Other unknown or unpredictable factors could also cause actual results or events to differ materially from those expressed in the forward-looking statements. All forward-looking statements attributable to us are qualified in their entirety by this cautionary statement. Forward-looking statements speak only as of the date hereof. We undertake no obligation to update or revise any forward-looking statements after the date on which any such statement is made, whether as a result of new information, future events or otherwise, except as required by federal securities laws.

4

PART I—FINANCIAL INFORMATION

Item 1. Financial Statements.

Mayville Engineering Company, Inc. and Subsidiaries

Condensed Consolidated Balance Sheets

(in thousands, except share amounts)

(unaudited)

    

March 31, 

    

December 31, 

2024

2023

ASSETS

  

  

Cash and cash equivalents

$

314

$

672

Receivables, net of allowances for doubtful accounts of $669 at March 31, 2024
and $685 at December 31, 2023

 

70,331

 

57,445

Inventories, net

 

66,106

 

67,782

Tooling in progress

 

5,232

 

5,457

Prepaid expenses and other current assets

 

3,523

 

3,267

Total current assets

 

145,506

 

134,623

Property, plant and equipment, net

 

172,095

 

175,745

Goodwill

 

92,650

 

92,650

Intangible assets, net

 

56,934

 

58,667

Operating lease assets

31,018

32,233

Other long-term assets

 

1,698

 

2,743

Total assets

$

499,901

$

496,661

LIABILITIES AND SHAREHOLDERS’ EQUITY

 

  

 

  

Accounts payable

$

54,457

$

46,526

Current portion of operating lease obligation

5,010

5,064

Accrued liabilities:

 

 

Salaries, wages, and payroll taxes

 

6,131

 

6,368

Profit sharing and bonus

 

1,455

 

3,107

Other current liabilities

 

12,093

 

10,644

Total current liabilities

 

79,146

 

71,709

Bank revolving credit notes

 

139,817

 

147,493

Operating lease obligation, less current maturities

27,532

28,606

Deferred compensation, less current portion

 

4,182

 

3,816

Deferred income tax liability

 

12,847

 

12,606

Other long-term liabilities

 

2,340

 

2,453

Total liabilities

$

265,864

$

266,683

Commitments and contingencies (see Note 9)

 

  

 

  

Common shares, no par value, 75,000,000 authorized, 22,009,409 shares issued at
March 31, 2024 and 21,853,477 at December 31, 2023

 

 

Additional paid-in-capital

 

206,191

 

205,373

Retained earnings

 

37,359

 

34,118

Treasury shares at cost, 1,542,893 shares at March 31, 2024 and December 31, 2023

 

(9,513)

 

(9,513)

Total shareholders’ equity

 

234,037

 

229,978

Total

$

499,901

$

496,661

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

5

Mayville Engineering Company, Inc. and Subsidiaries

Condensed Consolidated Statements of Comprehensive Income

(in thousands, except share amounts and per share data)

(unaudited)

Three Months Ended

March 31, 

    

2024

    

2023

Net sales

$

161,269

$

142,645

Cost of sales

 

140,336

 

126,268

Amortization of intangible assets

 

1,733

 

1,738

Profit sharing, bonuses, and deferred compensation

 

3,800

 

3,003

Other selling, general and administrative expenses

 

7,769

 

6,966

Income from operations

 

7,631

 

4,670

Interest expense

 

(3,356)

 

(1,658)

Income before taxes

 

4,275

 

3,012

Income tax expense

 

1,034

 

441

Net income and comprehensive income

$

3,241

$

2,571

Earnings per share:

 

  

 

  

Basic

$

0.16

$

0.13

Diluted

$

0.16

$

0.12

Weighted average shares outstanding:

 

  

 

  

Basic

 

20,485,933

 

20,315,338

Diluted

 

20,700,046

 

20,749,948

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

6

Mayville Engineering Company, Inc. and Subsidiaries

Condensed Consolidated Statements of Cash Flows

(in thousands)

(unaudited)

Three Months Ended

March 31, 

    

2024

    

2023

    

CASH FLOWS FROM OPERATING ACTIVITIES

Net income

$

3,241

$

2,571

Adjustments to reconcile net income to net cash provided by (used in) operating activities:

 

 

Depreciation

 

7,521

6,142

Amortization

 

1,733

1,738

Allowance for doubtful accounts

 

(16)

27

Inventory excess and obsolescence reserve

 

(247)

11

Stock-based compensation expense

 

1,157

1,066

Loss (gain) on disposal of property, plant and equipment

 

2

(138)

Deferred compensation

 

316

(163)

Non-cash lease expense

1,215

1,286

Other non-cash adjustments

 

69

83

Changes in operating assets and liabilities:

 

 

Accounts receivable

 

(12,870)

(16,265)

Inventories

 

1,923

2,749

Tooling in progress

 

225

(100)

Prepaids and other current assets

 

(199)

110

Accounts payable

 

6,727

(2,290)

Deferred income taxes

 

1,159

441

Operating lease obligations

(1,128)

(1,206)

Accrued liabilities

 

(203)

(2,105)

Net cash provided by (used in) operating activities

 

10,625

 

(6,043)

CASH FLOWS FROM INVESTING ACTIVITIES

 

  

 

  

Purchase of property, plant and equipment

 

(2,775)

(2,408)

Proceeds from sale of property, plant and equipment

 

107

153

Net cash used in investing activities

 

(2,668)

 

(2,255)

CASH FLOWS FROM FINANCING ACTIVITIES

 

 

  

Proceeds from bank revolving credit notes

 

119,351

119,700

Payments on bank revolving credit notes

 

(127,026)

(110,360)

Repayments of other long-term debt

 

(195)

(286)

Shares withheld for employees' taxes

 

(683)

(661)

Payments on finance leases

 

(107)

(96)

Proceeds from the exercise of stock options

 

345

Net cash provided by (used in) financing activities

 

(8,315)

 

8,297

Net decrease in cash and cash equivalents

 

(358)

 

(1)

Cash and cash equivalents at beginning of period

 

672

 

127

Cash and cash equivalents at end of period

$

314

$

126

Supplemental disclosure of cash flow information:

 

  

 

  

Cash paid for interest

$

2,094

$

112

Cash paid for taxes

$

2

$

Non-cash property, plant & equipment, net

$

1,650

$

1,534

Non-cash 401(k) contribution of treasury stock

$

$

2,500

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

7

Mayville Engineering Company, Inc. and Subsidiaries

Condensed Consolidated Statements of Shareholders’ Equity

(in thousands)

(unaudited)

Shareholders' Equity

Additional 

Treasury 

Retained 

    

Paid-in-Capital

    

Shares

    

Earnings

    

Total

Balance as of December 31, 2023

$

205,373

$

(9,513)

$

34,118

$

229,978

Net income

3,241

3,241

Stock-based compensation

1,157

1,157

Stock options exercised net of employee tax withholding

185

185

Restricted stock units net of employee tax withholding

 

(524)

 

(524)

Balance as of March 31, 2024

$

206,191

$

(9,513)

$

37,359

$

234,037

Shareholders' Equity

Additional 

Treasury 

Retained 

    

Paid-in-Capital

    

Shares

    

Earnings

    

Total

Balance as of December 31, 2022

$

200,945

$

(9,352)

$

26,274

$

217,867

Net income

2,571

2,571

401(k) plan contribution

2,500

 

2,500

Purchase of treasury stock

(661)

(661)

Stock-based compensation

 

1,066

 

1,066

Balance as of March 31, 2023

$

202,011

$

(7,513)

$

28,845

$

223,343

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

8

Mayville Engineering Company, Inc. and Subsidiaries

Notes to Unaudited Condensed Consolidated Financial Statements

(in thousands except share amounts, per share data, years and ratios)

(unaudited)

Note 1. Basis of presentation

The interim unaudited Condensed Consolidated Financial Statements of Mayville Engineering Company, Inc. and subsidiaries (MEC, the Company, we, our, us or similar terms) presented here have been prepared in accordance with the accounting principles generally accepted in the United States of America (GAAP) and with instructions to Form 10-Q and Article 10 of Regulation S-X. They reflect all adjustments which are, in the opinion of management, necessary for a fair presentation of the results of operations and financial position for the interim unaudited periods presented. All intercompany balances and transactions have been eliminated in consolidation.

Certain information and footnote disclosures normally included in financial statements prepared in accordance with GAAP have been condensed or omitted. These interim unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Company’s consolidated financial statements and notes thereto for the year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K. A summary of the Company’s significant accounting policies is included in the Company’s 2023 financial statements in the Annual Report on Form 10-K. The Company followed these policies in preparation of the interim unaudited Condensed Consolidated Financial Statements except for new accounting pronouncements adopted as described below.

Nature of Operations

MEC is a leading U.S.-based, vertically-integrated, value-added manufacturing partner providing a full suite of manufacturing solutions from concept to production, including design, prototyping and tooling, fabrication, aluminum extrusion, coating, assembly and aftermarket components. Our customers operate in diverse end markets, including heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agriculture, military and other end markets. Founded in 1945 and headquartered in Milwaukee, Wisconsin, we are a leading Tier I U.S. supplier of highly engineered components to original equipment manufacturer (OEM) customers with leading positions in their respective markets. The Company operates 23 facilities located in Arkansas, Michigan, Mississippi, Ohio, Pennsylvania, Virginia, and Wisconsin. Our engineering expertise and technical know-how allow us to add value through every product redevelopment cycle (generally every three to five years for our customers).

Our one operating segment focuses on producing metal components that are used in a broad range of heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agricultural, military and other products.

Recent Accounting Pronouncements

In December 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2023-09, Improvements to Income Tax Disclosures, amending Accounting Standards Codification (ASC) 740, Income Taxes. The amendment is intended to enhance the transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. The amendments require that on an annual basis, entities disclose specific categories in the rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. In addition, the amendments require that entities disclose additional information about income taxes paid as well as additional disclosures of pretax income and income tax expense and remove the requirement to disclose certain items that are no longer considered cost beneficial or relevant. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, may be applied prospectively or retrospectively and allows for early adoption. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.

In November 2023, the FASB issued ASU 2023-07, Improvements to Reportable Segment Disclosures, amending ASC 280, Segment Reporting. The amendment is intended to improve reportable segment disclosures, primarily through enhanced disclosures about significant segment expenses. In addition, the amendments enhance interim disclosure requirements, clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure requirements. ASU 2023-07 is effective for fiscal years beginning after

9

December 15, 2023 and for interim periods after December 15, 2024. Early adoption is permitted and may be applied prospectively or retrospectively. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.

Note 2. Acquisition

On July 1, 2023, the Company completed its acquisition of Mid-States Aluminum (MSA). The acquisition was consummated in accordance with terms and conditions of the certain Unit Purchase Agreement, dated as of June 19, 2023, among the Company and shareholders of MSA. The purchase price of the acquisition was $95,945, subject to adjustments for the amount of cash, indebtedness, net working capital and certain expenses of MSA as of the closing. At the closing of the acquisition, the Company applied an estimate of the adjustments and paid total net consideration of $90,002. The Company financed the acquisition by borrowing under its amended and restated credit agreement, as described in Note 4 – Debt in the Notes to Condensed Consolidated Financial Statements.

Located in Fond du Lac, WI, MSA is an industry leading, vertically-integrated manufacturer of custom aluminum extrusions and fabrications that also offers related services including design, engineering, anodizing and finishing, assembly and packaging. The acquisition enables MEC to secure an attractive entry point within light-weight materials fabrication, while providing significant new cross-selling opportunities with both new and existing customers.

The aggregate purchase price has been allocated to the assets acquired and liabilities assumed based on their preliminary estimated fair values at the acquisition date. The estimate of the excess purchase price over the preliminary estimated fair value of net tangible assets acquired was allocated to identifiable intangible assets and goodwill. The Company engaged an independent third party to assist with the identification and valuation of these intangible assets. Management makes significant estimates and assumptions when determining the fair value of assets acquired and liabilities assumed. These estimates include, but are not limited to, discount rates, projected future net sales, projected future expected cash flows, useful lives, attrition rates, royalty rates and growth rates. These measures are based on significant Level 3 inputs (see Note 13) not observable in the market.

The following table is a summary of the assets acquired, liabilities assumed and net cash consideration paid for MSA during 2023:

Preliminary

Estimated

Opening Balance

Useful

Sheet Allocation

Life

Cash

$

324

Accounts receivable, net

7,381

Inventory

9,698

Property, plant and equipment

41,271

Other assets

291

Intangible assets

Developed technology

4,900

7 Years

Customer relationships

17,700

17 Years

Goodwill

21,115

Indefinite

Total assets acquired

102,680

Accounts payable

(2,386)

Accrued expenses

(1,509)

Other liabilities

(1,984)

Debt

(7,884)

Total consideration

$

88,917

Inventory was valued at its estimated fair value, which is defined as expected sales price, less costs to sell, plus a reasonable margin for selling effort. The valuation resulted in an inventory fair value step-up of $891 and was fully expensed and reflected in cost of sales on the Condensed Consolidated Statements of Comprehensive Income during the three months ended September 30, 2023.

Property, plant and equipment was valued at its estimated fair value using the cost, market and sales comparison approaches. The valuation resulted in a property, plant and equipment fair value step-up of $21,157. Depreciation on property, plant and equipment is computed on a straight-line basis over the estimated useful life of the respective assets.

10

The Company also recorded $17,700 of customer relationships intangible assets with an estimated useful life of 17 years and $4,900 of developed technology intangible assets with an estimated useful life of 7 years. The purchase price allocated to these assets was based on management’s forecasted cash inflows and outflows and using a relief from royalty method for developed technologies and the multi-period excess earnings method for customer relationships. Amortization expense related to these intangible assets is recorded on a straight-line basis and reflected in amortization of intangible expenses on the Condensed Consolidated Statements of Comprehensive Income.

The purchase price of MSA exceeded the preliminary estimated fair value of identifiable net assets and accordingly, the difference was allocated to goodwill, which is not tax deductible.

The Company believes that the information gathered to date provides a reasonable basis for estimating the fair values of assets acquired and liabilities assumed; however, the purchase price allocations are preliminary as we continue to gather the necessary information to finalize our fair value estimates and provisional amounts. Provisional amounts include items related to working capital adjustments, intangibles, indemnification of assets and liabilities and deferred taxes. As of December 31, 2023, the Company finalized the net working capital adjustment in conjunction with the fair value estimates for assets acquired, liabilities assumed, identifiable assets and the net income tax provision. Since its preliminary estimates, the Company adjusted the purchase price by ($1,084) related to working capital adjustments. The offsetting adjustment was primarily related to goodwill.

The Company has recorded preliminary estimates for the items noted in the preceding paragraph and will record adjustments, if an, to the preliminary amounts upon finalization of the respective valuations. Such changes are not expected to be significant. The Company expects to complete the purchase price allocation as soon as possible but no later than one year from the acquisition date.

Pro Forma Financial Information (Unaudited)

In accordance with ASC 805, the following unaudited pro forma combined results of operations have been prepared and presented to give effect to the MSA acquisition as if it had occurred on January 1, 2023, the beginning of the comparable period, applying certain assumptions and pro forma adjustments. These pro forma adjustments primarily relate to the estimated depreciation expense associated with the fair value of the acquired property, plant and equipment, amortization of identifiable intangible assets, interest expense related to additional debt needed to fund the acquisition, and the tax impact of these adjustments. Additionally, the pro forma adjustments include non-recurring expenses related to transaction costs and the sale of stepped-up inventory. The unaudited pro forma consolidated results are provided for illustrative purposes only, are not indicative of the Company’s actual consolidated results of operations or consolidated financial position and do not reflect any revenue and operating synergies or cost savings that may result from the acquisition.

Three Months Ended

March 31, 

    

2023

Net sales

 

$

158,720

Net income

 

$

1,384

Note 3. Select balance sheet data

Inventory

Inventories are stated at the lower of cost, determined on the first-in, first-out method, or net realizable value. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Work-in-process and finished goods are valued at production costs consisting of material, labor, and overhead.

11

Inventories as of March 31, 2024 and December 31, 2023 consist of:

March 31, 

December 31, 

    

2024

    

2023

Finished goods and purchased parts

$

29,862

$

31,489

Raw materials

 

25,238

 

25,929

Work-in-process

 

11,006

 

10,363

Total

$

66,106

$

67,782

Property, plant and equipment

Property, plant and equipment as of March 31, 2024 and December 31, 2023 consist of:

    

Useful Lives

    

March 31, 

    

December 31, 

 Years

2024

2023

Land

Indefinite

$

2,640

$

2,640

Land improvements

15-39

4,378

4,378

Building and building improvements

 

15-39

 

81,558

 

79,682

Machinery, equipment and tooling

 

3-10

 

300,627

 

295,960

Vehicles

 

5

 

4,452

 

4,571

Office furniture and fixtures

 

3-7

 

22,089

 

21,325

Construction in progress

 

N/A

 

6,303

 

9,779

Total property, plant and equipment, gross

 

422,047

 

418,335

Less accumulated depreciation

 

249,952

 

242,590

Total property, plant and equipment, net

$

172,095

$

175,745

Depreciation expense was $7,521 and $6,142 for the three months ended March 31, 2024 and 2023, respectively.

Goodwill

There were no changes to the goodwill balance of $92,650 between December 31, 2023 and March 31, 2024.

Intangible Assets

The following is a listing of definite-lived intangible assets, the useful lives in years (amortization period) and accumulated amortization as of March 31, 2024 and December 31, 2023:

March 31, 2024

Useful Lives 

Gross Carrying

Accumulated

 

    

Years

    

Amount

    

Amortization

 

Net

Amortizable intangible assets:

Customer relationships and contracts

9-17

$

96,040

$

54,266

$

41,774

Trade name

 

10

 

14,780

 

7,816

6,964

Non-compete agreements

 

5

 

8,800

 

8,800

Developed technology

7

4,900

525

4,375

Patents

 

19

 

24

 

14

10

Total intangible assets, net

 

$

124,544

 

$

71,421

$

53,123

12

December 31, 2023

Useful Lives 

Gross Carrying

Accumulated

 

    

Years

    

Amount

    

Amortization

 

Net

Amortizable intangible assets:

Customer relationships and contracts

9-17

$

96,040

$

53,078

$

42,962

Trade name

 

10

 

14,780

 

7,446

7,334

Non-compete agreements

 

5

 

8,800

 

8,800

Developed technology

7

4,900

350

4,550

Patents

 

19

 

24

 

14

10

Total intangible assets, net

 

$

124,544

 

$

69,688

$

54,856

Additionally, the Company reported an indefinite lived non-amortizable brand name asset with a balance of $3,811 as of March 31, 2024 and December 31, 2023.

Changes in intangible assets between December 31, 2023 and March 31, 2024 consist of:

Balance as of December 31, 2023

    

$

58,667

Amortization expense

 

(1,733)

Balance as of March 31, 2024

$

56,934

For the three months ended March 31, 2024 and 2023, amortization expense was $1,733 and $1,738, respectively.

Future amortization expense is expected to be as followed:

Year ending December 31, 

    

2024 (remainder)

$

5,200

2025

$

6,933

2026

$

6,933

2027

$

6,933

2028

$

6,877

Thereafter

$

20,247

Note 4. Debt

Bank Revolving Credit Notes

On June 28, 2023, we entered into an amended and restated credit agreement (the Credit Agreement) with certain lenders and Wells Fargo Bank, National Association, as administrative agent (the Agent). The Credit Agreement provides for a $250,000 revolving credit facility, with a letter of credit sub-facility, and a swingline facility in an aggregate amount of $25,000. The Credit Agreement also provides the availability of incremental facilities to the greater of $100,000 and 125% of the Company’s twelve month trailing Consolidated EBITDA through an accordion feature. All amounts borrowed under the credit agreement mature on June 28, 2028.

The Credit Agreement contains usual and customary negative covenants for agreements of this type, including, but not limited to, restrictions on our ability to, subject to certain exceptions, create, incur or assume indebtedness; create, incur, assume or suffer to exist liens; make certain investments; allow our subsidiaries to merge or consolidate with another entity; make certain asset dispositions; pay certain dividends or other distributions to shareholders; enter into transactions with affiliates; enter into sale leaseback transactions; and exceed the limits on annual capital expenditures. The Credit Agreement also requires us to satisfy certain financial covenants, including a minimum consolidated interest coverage ratio of 3.00 to 1.00 as well as a consolidated total leverage ratio not to exceed 4.00 to 1.00 (which was increased as of July 1, 2023 from 3.50 to 1.00 in connection with the acquisition of MSA).

13

The Company incurred deferred financing costs of $1,248 associated with executing the Credit Agreement, which has been recorded as an other long-term asset in the Condensed Consolidated Balance Sheets and will be amortized over the duration of the agreement.

At March 31, 2024, our consolidated total leverage ratio was 1.98 to 1.00 as compared to a covenant maximum of 4.00 to 1.00 under the Credit Agreement.

At March 31, 2024, our consolidated interest coverage ratio was 4.87 to 1.00 as compared to a covenant minimum of 3.00 to 1.00 under the Credit Agreement.

Under the Credit Agreement, interest is payable quarterly at the adjusted secured overnight financing rate (SOFR) plus an applicable margin based on the current consolidated total leverage ratio. The interest rate was 7.68% and 7.71% as of March 31, 2024 and December 31, 2023, respectively. Additionally, the agreement has a fee on the average daily unused portion of the aggregate unused revolving commitments. This fee was 0.30% as of March 31, 2024 and December 31, 2023.

Prior to June 28, 2023, the Company maintained a credit agreement (Former Credit Agreement) with certain lenders and the Agent. The Former Credit Agreement provided for a $200,000 revolving credit facility, with a letter of credit sub-facility in an aggregate amount not to exceed $5,000, and a swingline facility in an aggregate amount of $20,000. The Former Credit Agreement also provided for an additional $100,000 of debt capacity through an accordion feature.

The Company was in compliance with all financial covenants of its credit agreements as of March 31, 2024 and December 31, 2023. The amount borrowed on the revolving credit notes was $139,817 and $147,493 as of March 31, 2024 and December 31, 2023, respectively.

Other Debt

With the consummation of the MSA acquisition, the Company assumed a Fond du Lac County and Fond du Lac Economic Development Corporation term note (Fond du Lac Term Note). The Fond du Lac Term Note is secured by a security agreement, payable in annual installments of $500 plus interest at 2.00% and is due in full in December 2028. The balance outstanding as of March 31, 2024 and December 31, 2023 was $2,375. The short-term and long-term balance of $500 and $1,875, respectively, are recorded in other current liabilities and other long-term liabilities in the Condensed Consolidated Balance Sheets.

Note 5. Leases

The Company has real property operating leases for office and light manufacturing space. Operating leases for the Company’s personal property consist of leases for office equipment, vehicles, forklifts and storage tanks for bulk gases. The Company recognizes a right-of-use (ROU) asset and a lease liability for operating leases based on the net present value of future minimum lease payments. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term, including renewal periods that are considered reasonably certain.

The Company has finance leases for two laser cutting systems, four vehicles and a number of copiers. The Company recognizes an ROU asset and a lease liability for finance leases based on the net present value of future minimum lease payments. Lease expense for the Company’s finance leases is comprised of the amortization of the ROU asset and interest expense recognized based on the effective interest method.

Variable lease expense is related to certain of the Company’s real property leases and personal property leases, and it generally consists of property tax and insurance components that are for the benefit of the lessor (real property leases) and variable overage fees (personal property leases) that are remitted as part of the Company’s lease payments.

14

The components of lease expense were as follows:

Three Months Ended

March 31, 

    

2024

2023

Finance lease cost:

Amortization of finance lease assets

$

104

$

94

Interest on finance lease liabilities

8

 

11

Total finance lease expense

112

105

Operating lease expense

1,340

1,286

Short-term lease expense

152

139

Variable lease expense

52

 

69

Lease income (1)

(532)

(631)

Total lease expense

$

1,124

$

968

(1)The Company subleased a portion of its Hazel Park, MI facility starting in June 2022. Lease income for the three months ended March 31, 2024 and 2023 was $532 and $631, respectively.

Lease related supplemental cash flow information:

Three Months Ended

March 31, 

2024

    

2023

Cash paid for amounts included in the measurement of lease liabilities for finance leases:

Operating cash flows

$

8

$

11

Financing cash flows

$

107

$

96

Cash paid for amounts included in the measurement of lease liabilities for operating leases:

Operating cash flows

$

1,481

$

1,425

 

 

Right-of-use assets obtained in exchange for recorded lease obligations:

Operating leases

$

134

$

Finance leases

$

1

$

Note 6. Employee stock ownership plan

Under the Mayville Engineering Company, Inc. Employee Stock Ownership Plan (ESOP), the Company can make annual discretionary contributions to the trust for the benefit of eligible employees in the form of cash or shares of common stock of the Company subject to the Board of Directors’ approval. For the three months ended March 31, 2024 and 2023, the Company recorded no ESOP expense.

As of January 1, 2023, the Company amended the plan reducing the distribution period from five years to three years.

At various times following death, disability, retirement, termination of employment or the exercise of diversification rights, an ESOP participant is entitled to receive their ESOP account balance in accordance with various distribution methods as permitted under the policies adopted by the ESOP.

As of March 31, 2024 and December 31, 2023, the ESOP shares consisted of 3,732,076 and 4,062,583 in allocated shares, respectively.

Note 7. Retirement plans

The Mayville Engineering Company, Inc. 401(k) Plan (the 401(k) Plan) covers substantially all employees meeting certain eligibility requirements. The 401(k) Plan is a defined contribution plan and is intended for eligible employees to defer tax-free

15

contributions to save for retirement. Employees may contribute up to 50% of their eligible compensation to the 401(k) Plan, subject to the limits of Section 401(k) of the Internal Revenue Code.

The Company provides a 50% match for employee contributions, up to 6%. For the three months ended March 31, 2024 and 2023, the Company’s employer match expense was $1,053 and $874, respectively. Additionally, the 401(k) Plan provides for employer discretionary profit-sharing contributions and the Board of Directors may authorize discretionary profit-sharing contributions (which are usually approved at the end of each calendar year). For the three months ended March 31, 2024 and 2023, the Company’s estimated discretionary profit-sharing expense was $0.

Note 8. Income taxes

On a quarterly basis, the Company estimates its effective tax rate for the full fiscal year and records a quarterly income tax provision based on the anticipated rate and adjusted for discrete taxable events that may occur in the quarter. As the year progresses, the Company will refine its estimate based on facts and circumstances by each tax jurisdiction.

Income tax expense was $1,034 and $441, and the effective tax rate (ETR) was 24.19% and 14.65% for the three months ended March 31, 2024 and 2023, respectively. Our ETR is different from the expected tax rate due to state taxes, non-deductible items, research and development credits and excess tax benefit associated with stock-based compensation items.

Uncertain Tax Positions

Based on the Company’s evaluation, it has been concluded that there is one unrecognized tax benefit requiring recognition in its financial statements as of March 31, 2024. The Company does not anticipate that there will be a material change in the balance of the unrecognized tax benefits in the next twelve months. Any interest and penalties related to uncertain tax positions are recorded in income tax expense. At March 31, 2024 and December 31, 2023, a total of $805 and $771 of unrecognized tax benefits would, if recognized, impact the Company’s ETR.

The Company files income tax returns in the United States federal jurisdiction and in various state and local jurisdictions. Federal tax returns for tax years beginning January 1, 2020, and state tax returns beginning January 1, 2019, are open for examination.

Note 9. Commitments and contingencies

Litigation

On August 4, 2022, the Company filed a lawsuit against Peloton Interactive, Inc. (“Peloton”) in the Supreme Court of the State of New York, New York County. The lawsuit arises from a March 2021 Supply Agreement between the parties, pursuant to which MEC was to manufacture and supply custom component parts for Peloton’s exercise bikes (the “Manufacturing Project”). In the lawsuit, the Company originally asserted two claims (1) breach and anticipatory repudiation of contract and (2) breach of the duty of good faith and fair dealing (pleaded in the alternative). In January 2023, in response to Peloton’s motion to dismiss, the court allowed the first claim to proceed and dismissed the alternative claim. In the remaining claim, MEC asserts that Peloton breached and anticipatorily repudiated the Supply Agreement by unilaterally cancelling the Manufacturing Project, and refusing to pay MEC certain monthly fixed revenue payments owed under the terms of the Supply Agreement. The parties cross-appealed the court’s order on the motion to dismiss – Peloton appealed the portion of the order that denied the motion to dismiss the claim for breach and anticipatory repudiation of contract and MEC appealed the portion of the order that dismissed the claim for breach of duty of good faith and fair dealing. On April 11, 2024, the First Department, Appellate Division issued a decision and order affirming the court’s order on the motion to dismiss and affirming the court’s dismissal of the alternate claim of good faith and fair dealing.

On November 3, 2023, Peloton filed a counterclaim alleging that Peloton was induced by fraud to enter into the Supply Agreement and seeking recission of the Supply Agreement and damages, among other forms of relief. On November 22, 2023, the Company answered Peloton’s counterclaim, denying the allegations in the counterclaim.

The total amount for damages claimed by MEC is substantial but the amount and timing of the ultimate recovery is uncertain. As a result, any recovery from this litigation or settlement of this claim is a contingent gain and will be recognized if, and when, realized or realizable.

16

From time to time, the Company may be involved in various claims and lawsuits, both for and against the Company, arising in the normal course of business. Although the results of litigation and claims cannot be predicted with certainty, in management’s opinion, either the likelihood of loss is remote, or any reasonably possible loss associated with the resolution of such proceedings is not expected to have a material adverse impact on the consolidated financial statements.

Note 10. Deferred compensation

The Mayville Engineering Company Deferred Compensation Plan is available for certain employees designated to be eligible to participate by the Company and approved by the Board of Directors. Eligible employees may elect to defer a portion of their compensation for any plan year and the deferral cannot exceed 50% of the participant’s base salary and may include the participant’s annual short-term cash incentive up to 100%. The participant’s election must be made prior to the first day of the plan year.

An employer contribution will be made for each participant to reflect the amount of any reduced allocations to the ESOP and/or 401(k) employer contributions due solely to the participant’s deferral amounts, as applicable. In addition, a discretionary amount may be awarded to a participant by the Company.

Deferrals are assumed to be invested in an investment vehicle based on the options made available to the participant (which does not include Company stock).

The deferred compensation plan provides benefits payable upon separation of service or death. Payments are to be made 30 or 180 days after date of separation from service, either in a lump-sum payment or up to five annual installments as elected by the participant when the participant first elects to defer compensation.

The deferred compensation plan is non-funded, and all future contributions are unsecured in that the employees have the status of a general unsecured creditor of the Company and the agreements constitute a promise by the Company to make benefit payments in the future. During the three months ended March 31, 2024 and 2023, eligible employees elected to defer compensation of $365 and $236, respectively. As of March 31, 2024 and December 31, 2023, the short-term portion accrued for all benefit years less than twelve months under this plan was $239 and $289, respectively. As of March 31, 2024 and December 31, 2023, the long-term portion accrued for all benefit years greater than twelve months under this plan was $4,182 and $3,816. These amounts include the initial deferral of compensation and were adjusted for changes in the value of investment options chosen by the participants. Total expense for the deferred compensation plan for the three months ended March 31, 2024 and 2023 was $237 and $560, respectively. These expenses are included in profit-sharing, bonuses and deferred compensation on the Condensed Consolidated Statements of Comprehensive Income. Additionally, the Company made cash distributions of $286 and $958 for the three months ended March 31, 2024 and 2023, respectively.

Note 11. Self-Funded insurance

The Company is self-funded for the medical benefits provided to its employees and their dependents. Healthcare costs are expensed as incurred and are based upon actual claims paid, reinsurance premiums, administration fees, and estimated unpaid claims. The Company has an aggregate stop loss limit to mitigate risk. Expenses related to this were $6,169 and $4,634 for the three months ended March 31, 2024 and 2023. An estimated accrued liability of $1,384 and $1,018 was recorded as of March 31, 2024 and December 31, 2023, respectively, for estimated unpaid claims and is included within other current liabilities on the Condensed Consolidated Balance Sheets.

Note 12. Segments

The Company applies the provisions of ASC 280, Segment Reporting. An operating segment is defined as a component that engages in business activities whose operating results are reviewed by the chief operating decision maker and for which discrete financial information is available. Based on the provisions of ASC 280, the Company has determined it has one operating segment. The Company does not earn revenues or have long-lived assets located in foreign countries.

17

Note 13. Fair value of financial instruments

Fair value provides information on what the Company may realize if certain assets were sold or might pay to transfer certain liabilities based upon an exit price. Financial assets and liabilities that are measured and reported at fair value are classified into a three-level hierarchy that prioritizes the inputs used in the valuation process. A financial instrument’s categorization within the valuation hierarchy is based on the lowest level of any input that is significant to the fair value measurement. The hierarchy is based on the observability and objectivity of the pricing inputs as follows:

Level 1 – Quoted prices in active markets for identical assets or liabilities.
Level 2 – Significant directly observable data (other than Level 1 quoted prices) or significant indirectly observable data through corroboration with observable market data. Inputs would normally be (i) quoted prices in active markets for similar assets or liabilities, (ii) quoted prices in inactive markets for identical or similar assets or liabilities or (iii) information derived from or corroborated by observable market data. Long-term debt is classified as a Level 2 fair value input.
Level 3 – Prices or valuation techniques that require significant unobservable data inputs. These inputs would normally be the Company’s own data and judgements about assumptions that market participants would use in pricing the asset or liability.

The following table lists the Company’s financial assets and liabilities accounted for at fair value by the fair value hierarchy:

Balance at

Fair Value Measurements at

March 31, 

Report Date Using

    

2024

    

(Level 1)

    

(Level 2)

    

(Level 3)

Deferred compensation liability

$

4,421

$

4,421

$

$

Total

$

4,421

$

4,421

$

$

Balance at

Fair Value Measurements at

December 31, 

Report Date Using

    

2023

    

(Level 1)

    

(Level 2)

    

(Level 3)

Deferred compensation liability

$

4,105

$

4,105

$

$

Total

$

4,105

$

4,105

$

$

Fair value measurements for the Company’s cash and cash equivalents are classified based upon Level 1 measurements because such measurements are based upon quoted market prices in active markets for identical assets.

Accounts receivable, accounts payable, long-term debt and accrued liabilities are recorded in the Condensed Consolidated Balance Sheets at cost and approximate fair value.

Deferred compensation liabilities are recorded at amounts due to participants at the time of deferral. Deferrals are invested in an investment vehicle based on the options made available to the participant, considered to be Level 1 and Level 2 on the fair value hierarchy, with the current balance all as Level 1. The change in fair value is recorded in the profit-sharing, bonuses, and deferred compensation line item on the Condensed Consolidated Statements of Comprehensive Income. The short-term and long-term balances due to participants are reflected on the other current liabilities and deferred compensation, less current portion, line items, respectively, on the Condensed Consolidated Balance Sheets.

The Company’s non-financial assets such as goodwill, intangible assets and property, plant, and equipment are re-measured at fair value when there is an indication of impairment and adjusted only when an impairment charge is recognized. There was no impairment recognized as of the quarter end March 31, 2024.

Note 14. Earnings Per Share

The Company computes earnings per share in accordance with ASC Topic 260, Earnings per Share. In accordance with ASC 260, outstanding options will be considered to have been exercised and outstanding as of the beginning of the period if the average

18

market price of the common stock during the period exceeds the exercise price of the options (they are “in the money”), and the assumed exercise of the options do not have an anti-dilutive impact on earnings per share.

A reconciliation of basic and diluted net income per share attributable to the Company were as follows:

March 31, 

2024

2023

Net income attributable to MEC

$

3,241

$

2,571

Average shares outstanding

20,485,933

20,315,338

Basic income per share

$

0.16

$

0.13

Average shares outstanding

20,485,933

20,315,338

Effect of dilutive stock-based compensation

214,113

434,610

Total potential shares outstanding

20,700,046

20,749,948

Diluted income per share

$

0.16

$

0.12

There were no options in the money that were excluded in the computation of diluted earnings per share for the three months ended March 31, 2024 and 2023 because they would have had an anti-dilutive impact on earnings per share.

Note 15. Revenue Recognition

Contract Assets and Contract Liabilities

The Company has contract assets and contract liabilities, which are included in tooling in progress and other current liabilities on the Condensed Consolidated Balance Sheets, respectively. Contract assets include products where the Company has satisfied its performance obligation, but receipt of payment is contingent upon delivery. Contract liabilities include deferred tooling revenue, where the performance obligation was not met. The performance obligation is satisfied when the tooling is completed and the customer signs off through the Product Part Approval Process or other documented customer acceptance. Cost of goods sold is recognized and released from the balance sheet when control of the tooling promised under contract is transferred to the customer.

The Company’s contracts with customers are short-term in nature; therefore, revenue is typically recognized, billed and collected within a twelve-month period. The following table reflects the changes in our contract assets and liabilities during the three months ended March 31, 2024:

Contract

Contract

    

Assets

    

Liabilities

As of December 31, 2023

$

5,457

$

3,635

Net activity

(225)

(538)

As of March 31, 2024

$

5,232

$

3,097

Disaggregated Revenue

The following tables represent a disaggregation of revenue by product category and end market:

Three Months Ended

March 31, 

Product Category

    

2024

    

2023

Outdoor sports

$

2,159

$

2,305

Fabrication

90,914

87,001

Performance structures

45,770

26,675

Tube

19,074

20,352

Tank

11,076

11,119

Total

168,993

147,452

Intercompany sales elimination

(7,724)

(4,807)

Total, net sales

$

161,269

$

142,645

19

Three Months Ended

March 31, 

End Market

2024

2023

Commercial vehicle

$

58,954

$

59,155

Construction & access

 

28,446

26,507

Powersports

 

30,291

24,098

Agriculture

 

14,958

14,451

Military

7,952

8,569

Other

20,668

9,866

Total, net sales

$

161,269

$

142,645

Note 16. Concentration of major customers

The following customers accounted for 10% or greater of the Company’s recorded net sales or net trade receivables:

Net Sales

Accounts Receivable

Three Months Ended

As of

As of

March 31, 

March 31, 

December 31, 

    

2024

    

2023

    

2024

    

2023

Customer

A

 

16.6

%

15.3

%  

11.8

%  

<10

%  

 

B

 

14.0

%

15.6

%  

11.6

%  

12.6

%  

 

C

 

<10

%

12.1

%  

<10

%  

<10

%  

 

D

 

<10

%

<10

%  

13.0

%  

12.7

%  

 

Note 17. Stock-based compensation

The Mayville Engineering Company, Inc. 2019 Omnibus Incentive Plan provided the Company the ability to grant monetary payments based on the value of its common stock, up to 2,000,000 shares.

On April 20, 2021, shareholders of the Company approved an amendment to the 2019 Omnibus Incentive Plan increasing the number of shares of common stock authorized for issuance by 2,500,000 shares.

The Company recognizes stock-based compensation using the fair value provisions prescribed by ASC 718, Compensation – Stock Compensation. Accordingly, compensation costs for awards of stock-based compensation settled in shares are determined based on the fair value of the stock-based instrument at the time of grant and are recognized as expense over the vesting period of the stock-based instrument. Our stock-based compensation consists of stock options, restricted stock units (RSUs) and performance stock units (PSUs). For all types of units, fair value is equivalent to the adjusted closing stock price at the date of the grant. The Black-Scholes option pricing model is utilized to determine fair value for options.

The actual number of PSUs, if any, to be earned by the award recipients is determined after the end of a performance measurement period. The performance measures include Adjusted EBITDA, which represents net income before interest expense, provision for income taxes, depreciation, amortization, stock-based compensation, legal costs due to the former fitness customer and adjusted for items to be determined unusual in nature or infrequent in occurrence, for the year ended December 31, 2026, and the average annual return on invested capital (ROIC), for the three-years ended December 31, 2024, 2025 and 2026, respectively. ROIC represents net operating profit after taxes divided by invested capital for an annual period. These performance targets are subject to adjustments or exclusions as deemed appropriate to account for extraordinary or unanticipated events that do not reflect the core business of the Company, and have been set for each of the minimum, target and maximum levels with the actual performance amount received determined by the Compensation Committee of the Board of Directors.

Cancellations and forfeitures are accounted for as incurred.

20

Stock awards were granted on March 15, 2024, November 3, 2023, September 18, 2023, June 26, 2023, April 18, 2023, March 13, 2023, February 28, 2023 and January 25, 2023.

During the three months ended March 31, 2024, 154,372 RSUs vested. For the same period, 206,524 options vested with a weighted average strike price of $13.54. During the three months ended March 31, 2023, 132,433 RSUs vested. For the same period, 197,597 options vested with a strike price of $11.65.

As of March 31, 2024, 1,222,302 options remained outstanding with a weighted average strike price of $11.36 and a weighted average contractual life of 7.40 years remaining.

The Company’s stock-based compensation expense by award type is summarized as follows:

Three Months Ended

March 31, 

    

2024

    

2023

RSU awards

$

789

$

715

PSU awards

20

Option awards

 

348

 

351

Stock-based compensation expense, net of tax

$

1,157

$

1,066

A roll-forward of unrecognized stock-based compensation expense is displayed in the table below. Unrecognized stock-based compensation expense as of March 31, 2024 will be expensed over the remaining requisite service period from which individual award values relate, up to March 15, 2027.

    

RSUs

PSUs

    

Options

    

Total

Balance as of December 31, 2023

$

2,304

$

$

1,513

$

3,817

Grants

4,423

1,423

5,846

Forfeitures

(32)

(32)

Expense

(789)

(20)

(348)

(1,157)

Balance as of March 31, 2024

$

5,906

1,403

$

1,165

$

8,474

Note 18. Common Equity

At March 31, 2024 the authorized stock of the Company consisted of 75,000,000 shares of common stock without par value.

Changes in outstanding common shares are summarized as follows:

Shares

Outstanding

Shares as of December 31, 2022

20,172,746

Treasury stock purchases

(41,148)

Common stock issued (including stock-based compensation impact)

290,432

Balance as of March 31, 2023

20,422,030

Shares

Outstanding

Balance as of December 31, 2023

20,310,584

Treasury stock purchases

Common stock issued (including stock-based compensation impact)

155,932

Balance as of March 31, 2024

20,466,516

21

Note 19. Subsequent events

The Company has evaluated subsequent events since March 31, 2024, the date of these financial statements. There were no material events or transactions discovered during this evaluation that requires recognition or disclosure in the financial statements.

22

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

Management’s Discussion and Analysis of Financial Condition and Results of Operations is intended to assist in the understanding and assessing the trends and significant changes in our results of operations and financial condition. Historical results may not be indicative of future performance. This discussion includes forward-looking statements that reflect our plans, estimates and beliefs. Such statements involve risks and uncertainties. Our actual results may differ materially from those contemplated by these forward-looking statements as a result of various factors, including those set forth in “Risk Factors” in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2023 and “Cautionary Statement Regarding Forward-Looking Statements” in this Quarterly Report on Form 10-Q. This discussion should be read in conjunction with our audited consolidated financial statements and the notes thereto included in our Annual Report on Form 10-K for the year ended December 31, 2023 and our unaudited Condensed Consolidated Financial Statements and the notes thereto included in Part I, Item I of this Quarterly Report on Form 10-Q. In this discussion, we use certain non-GAAP financial measures. Explanation of these non-GAAP financial measures and reconciliation to the most directly comparable GAAP financial measures are included in this Management Discussion and Analysis of Financial Condition and Results of Operations. Investors should not consider non-GAAP financial measures in isolation or as substitutes for financial information presented in compliance with GAAP.

All amounts are presented in thousands except share amounts, per share data, years and ratios.

Overview

MEC is a leading U.S.-based vertically-integrated, value-added manufacturing partner providing a full suite of manufacturing solutions from concept to production, including design, prototyping and tooling, fabrication, aluminum extrusion, coating, assembly and aftermarket components. Our customers operate in diverse end markets, including heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agriculture, military and other end markets. We have developed long-standing relationships with our blue-chip customers based upon our commitment to “Unmatched Excellence”.

Our one operating segment focuses on producing metal components that are used in a broad range of heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agricultural, military and other products.

Macroeconomic Conditions

The broader market dynamics over the past few years have resulted in impacts to the Company, including supply chain constraints affecting some of our customers, material cost inflation and inflationary pressures on wages and benefits due to labor availability. The Company expects some of these dynamics to continue in 2024 and could continue to have an impact on demand, material costs and labor.

How We Assess Performance

Net Sales. Net sales reflect sales of our components and products net of allowances for returns and discounts. In addition to the current macroeconomic conditions, several factors affect our net sales in any given period, including weather, timing of acquisitions and the production schedules of our customers. Net sales are recognized at the time of shipment or at delivery to the customer.

Manufacturing Margins. Manufacturing margins represents net sales less cost of sales. Cost of sales consists of all direct and indirect costs used in the manufacturing process, including raw materials, labor, equipment costs, depreciation, lease expenses, subcontract costs and other directly related overhead costs. Our cost of sales is directly affected by the fluctuations in commodity prices, primarily sheet steel and aluminum, but these changes are largely mitigated by contractual agreements with our customers that allow us to pass through these price variations based upon certain market indexes.

Depreciation and Amortization. We carry property, plant and equipment on our balance sheet at cost, net of accumulated depreciation. Depreciation on property, plant and equipment is computed on a straight-line basis over the estimated useful life of the asset. The periodic expense related to leasehold improvements and intangible assets is depreciation and amortization expense, respectively. Leasehold improvements are depreciated over the lesser of the life of the underlying asset or the remaining lease term. Our intangible assets were recognized as a result of certain acquisitions and are generally amortized on a straight-line basis over the estimated useful lives of the assets.

23

Other Selling, General, and Administrative Expenses. Other selling, general and administrative expenses consist primarily of salaries and personnel costs for our sales and marketing, finance, human resources, information systems, administration and certain other managerial employees and certain corporate level administrative expenses such as incentive compensation, audit, accounting, legal and other consulting and professional services, travel, and insurance.

Other Key Performance Indicators

EBITDA, EBITDA Margin, Adjusted EBITDA and Adjusted EBITDA Margin

EBITDA represents net income before interest expense, provision for income taxes, depreciation and amortization. EBITDA Margin represents EBITDA as a percentage of net sales for each period.

Adjusted EBITDA represents EBITDA before stock-based compensation expense and legal costs due to the former fitness customer. Adjusted EBITDA Margin represents Adjusted EBITDA as a percentage of net sales for each period. These metrics are supplemental measures of our operating performance that are neither required by, nor presented in accordance with, GAAP. These measures should not be considered as an alternative to net income or any other performance measure derived in accordance with GAAP as an indicator of our operating performance. We present EBITDA, EBITDA Margin, Adjusted EBITDA and Adjusted EBITDA Margin as management uses these measures as key performance indicators, and we believe they are measures frequently used by securities analysts, investors and other parties to evaluate companies in our industry. These measures have limitations as analytical tools and should not be considered in isolation or as substitutes for analysis of our results as reported under GAAP.

Our calculation of EBITDA, EBITDA Margin, Adjusted EBITDA and Adjusted EBITDA Margin may not be comparable to the similarly named measures reported by other companies. Potential differences between our measures of EBITDA and Adjusted EBITDA compared to other similar companies’ measures of EBITDA and Adjusted EBITDA may include differences in capital structure and tax positions.

The following table presents a reconciliation of net income and comprehensive income, the most directly comparable measure calculated in accordance with GAAP, to EBITDA and Adjusted EBITDA, and the calculation of EBITDA Margin and Adjusted EBITDA Margin for each of the periods presented.

Three Months Ended

March 31, 

    

2024

    

2023

    

Net income and comprehensive income

$

3,241

$

2,571

Interest expense

 

3,356

 

1,658

 

Provision for income taxes

 

1,034

 

441

 

Depreciation and amortization

 

9,254

 

7,880

 

EBITDA

 

16,885

 

12,550

 

Stock-based compensation expense (1)

 

1,157

 

1,066

 

Legal costs due to former fitness customer (2)

 

479

 

224

 

Adjusted EBITDA

$

18,521

$

13,840

Net sales

$

161,269

$

142,645

EBITDA Margin

 

10.5

%  

 

8.8

%  

Adjusted EBITDA Margin

 

11.5

%  

 

9.7

%  

(1)Non-cash employee compensation based on the value of common stock issued pursuant to the 2019 Omnibus Incentive Plan.
(2)Legal costs associated with the enforcement of the Company’s supply contract with the former fitness customer.

24

Consolidated Results of Operations

Three Months Ended March 31, 2024 Compared to Three Months Ended March 31, 2023

Three Months Ended March 31, 

 

2024

2023

Increase (Decrease)

 

% of Net 

% of Net 

Amount

 

    

Amount

    

Sales

    

Amount

    

Sales

    

Change

    

% Change

Net sales

$

161,269

100.0

%  

$

142,645

100.0

%  

$

18,624

13.1

%

Cost of sales

140,336

87.0

%  

126,268

88.5

%  

14,068

11.1

%

Manufacturing margins

20,933

13.0

%  

16,377

11.5

%  

4,556

27.8

%

Amortization of intangible assets

 

1,733

 

1.1

%  

1,738

 

1.2

%  

(5)

 

(0.3)

%

Profit sharing, bonuses and deferred compensation

 

3,800

 

2.4

%  

3,003

 

2.1

%  

797

 

26.5

%

Other selling, general and administrative expenses

 

7,769

 

4.8

%  

6,966

 

4.9

%  

803

 

11.5

%

Income from operations

 

7,631

 

4.7

%  

4,670

 

3.3

%  

2,961

 

63.4

%

Interest expense

 

(3,356)

 

2.1

%  

(1,658)

 

1.2

%  

1,698

 

102.4

%

Provision for income taxes

 

1,034

 

0.6

%  

441

 

0.3

%  

593

 

134.5

%

Net income and comprehensive income

$

3,241

 

2.0

%  

$

2,571

 

1.8

%  

$

670

 

26.1

%

EBITDA

$

16,885

 

10.5

%  

$

12,550

 

8.8

%  

$

4,335

 

34.5

%

Adjusted EBITDA

$

18,521

 

11.5

%  

$

13,840

 

9.7

%  

$

4,681

 

33.8

%

Net Sales. Net sales were $161,269 for the three months ended March 31, 2024 as compared to $142,645 for the three months ended March 31, 2023, an increase of $18,624, or 13.1%. This increase was primarily driven by the acquisition of MSA in the third quarter of 2023 and increased organic sales volumes within our construction & access and powersports end markets, partially offset by softening demand in our legacy agriculture end market and the roll-off of certain military aftermarket programs at the end of 2023.

Manufacturing Margins. Manufacturing margins were $20,933 for the three months ended March 31, 2024 as compared to $16,377 for the three months ended March 31, 2023, an increase of $4,556, or 27.8%. The increase was primarily driven by the increased organic sales volumes, the MSA acquisition, MEC Business Excellence (MBX) initiatives and commercial pricing actions.

Manufacturing margin percentages were 13.0% for the three months ended March 31, 2024, as compared to 11.5% for the three months ended March 31, 2023, an increase of 1.5%. The increase was attributable to the items discussed in the preceding paragraph.

Amortization of Intangibles Assets. Amortization of intangible assets were $1,733 for the three months ended March 31, 2024 as compared to $1,738 for the three months ended March 31, 2023, a decrease of $5, or 0.3%. The slight decrease was due to the full amortization of certain intangibles offset by the amortization expense associated with the identifiable intangible assets from the MSA acquisition. Refer to Note 2 – Acquisition of the Condensed Consolidated Financial Statements for additional information related to the MSA identifiable intangible assets.

Profit Sharing, Bonuses and Deferred Compensation Expenses. Profit-sharing, bonuses, and deferred compensation expenses were $3,800 for the three months ended March 31, 2024 as compared to $3,003 for the three months ended March 31, 2023, an increase of $797, or 26.5%. The increase was primarily due to the addition of plan participants as a result of the MSA acquisition and higher bonus accruals aligning with Company financial performance.

Other Selling, General and Administrative (SG&A) Expenses. Other selling, general and administrative expenses were $7,769 for the three months ended March 31, 2024 as compared to $6,966 for the three months ended March 31, 2023, an increase of $803, or 11.5%. The increase was predominantly attributable to legal costs associated with the litigation against the former fitness customer, incremental costs associated with the MSA acquisition, higher costs related to compliance requirements and annual wage inflation.

Interest Expense. Interest expense was $3,356 for the three months ended March 31, 2024 as compared to $1,658 for the three months ended March 31, 2023, an increase of $1,698, or 102.4%. The change is due to higher interest rates and an increase in borrowings. The increase in borrowings relative to the prior year period is due to the acquisition of MSA, which closed on July 1, 2023.

25

Provision for Income Taxes. Income tax expense was $1,034 for the three months ended March 31, 2024 as compared to $441 for the three months ended March 31, 2023. The increase of $593 is primarily due to higher net income and comprehensive income in the current year period. Refer to Note 8 – Income Taxes of the Condensed Consolidated Financial Statements for further details.

Due to the factors described in the preceding paragraphs, net income, comprehensive income, EBITDA, EBITDA Margin, Adjusted EBITDA and Adjusted EBITDA Margin increased during the three months ended March 31, 2024 as compared to the three months ended March 31, 2023.

Liquidity and Capital Resources

Cash Flows Analysis

Three Months Ended

March 31, 

Increase (Decrease)

    

2024

    

2023

    

$ Change

    

% Change

    

Net cash provided by (used in) operating activities

$

10,625

$

(6,043)

16,668

NM

Net cash used in investing activities

 

(2,668)

 

(2,255)

 

(413)

(18)

%

 

Net cash provided by (used in) financing activities

 

(8,315)

 

8,297

 

(16,612)

NM

 

Net change in cash

$

(358)

$

(1)

$

(357)

(35,700)

%

Operating Activities. Cash provided by operating activities was $10,625 for the three months ended March 31, 2024, as compared to cash used by operating activities of $6,043 for the three months ended March 31, 2023. The $16,668 increase in operating cash flows was primarily due to changes in net working capital items, most notably, an increase in accounts payable as the Company continues to extend payment terms with its suppliers, lesser of an increase in accounts receivable as a result of the Company’s ongoing collections efforts and ability to shorten payment terms with a key customer, and beneficial changes in a variety of other accrued liabilities as compared to the same prior year period.

Investing Activities. Cash used in investing activities was $2,668 for the three months ended March 31, 2024, as compared to $2,255 for the three months ended March 31, 2023. The $413 increase in cash used in investing activities was driven by a slight increase in capital expenditures, prioritizing investments in high-return, capital-light growth and automation advancements.

Financing Activities. Cash used in financing activities was $8,315 for the three months ended March 31, 2024, as compared to cash provided by financing activities of $8,297 for the three months ended March 31, 2023. The $16,612 decrease was mainly due to debt repayments in excess of borrowings during the current year period as compared to borrowings in excess of debt repayments in the prior year period in relation to the Company’s revolving credit facility.

Amended and Restated Credit Agreement

On June 28, 2023, we entered into an amended and restated credit agreement (the Credit Agreement) with certain lenders and Wells Fargo Bank, National Association, the Agent. The Credit Agreement provides for a $250,000 revolving credit facility, with a letter of credit sub-facility, and a swingline facility in an aggregate amount of $25,000. The Credit Agreement also provides for the availability of incremental facilities to the greater of $100,000 and 125% of the Company’s twelve month trailing Consolidated EBITDA through an accordion feature. All amounts borrowed under the credit agreement mature on June 28, 2028.

Borrowings under the Credit Agreement bear interest at a fluctuating secured overnight financing rate (SOFR) plus an applicable margin based on the current consolidated total leverage ratio (which may be adjusted for certain reserve requirements), plus 1.25% to 2.75% depending on the current Consolidated Total Leverage Ratio (as defined in the Credit Agreement). Under certain circumstances, we may not be able to pay interest based on SOFR. If that happens, we will be required to pay interest at the Base Rate, which is the sum of (a) the higher of (i) the Prime Rate (as publicly announced by the Agent from time to time), (ii) the Federal Funds Rate plus 0.50%, and (iii) Adjusted Term SOFR for a one-month tenor in effect on such day plus 1.00%. The Credit Agreement also includes provisions for determining a replacement rate when SOFR is no longer available.

At March 31, 2024, the interest rate on outstanding borrowings under the Revolving Loan was 7.68%. We had availability of $110,183 under the revolving credit facility at March 31, 2024.

26

We must pay a commitment fee of 0.20% to 0.35% per annum on the average daily unused portion of the aggregate unused revolving commitments under the Credit Agreement. We must also pay fees as specified in the Fee Letter (as defined in the Credit Agreement) and with respect to any letters of credit issued under the Credit Agreement.

The Credit Agreement contains usual and customary negative covenants for agreements of this type, including, but not limited to, restrictions on our ability to, subject to certain exceptions, create, incur or assume indebtedness; create, incur, assume or suffer to exist liens; make certain investments; allow our subsidiaries to merge or consolidate with another entity; make certain asset dispositions; pay certain dividends or other distributions to shareholders; enter into transactions with affiliates; enter into sale leaseback transactions; and exceed the limits on annual capital expenditures. The Credit Agreement also requires us to satisfy certain financial covenants, including a minimum interest coverage ratio of 3.00 to 1.00. At March 31, 2024, our interest coverage ratio was 4.87 to 1.00. The Credit Agreement also requires us to maintain a consolidated total leverage ratio not to exceed 4.00 to 1.00 (which was increased as of July 1, 2023 from 3.50 to 1.00 in connection with the acquisition of MSA). As of March 31, 2024, our consolidated total leverage ratio was 1.98 to 1.00.

The Credit Agreement includes customary events of default, including, among other things, payment default, covenant default, breach of representation or warranty, bankruptcy, cross-default, material ERISA events, material money judgments, and failure to maintain subsidiary guarantees. If an event of default occurs, the Agent will be entitled to take various actions, including the acceleration of amounts due under the Credit Agreement, termination of the credit facility, and all other actions permitted to be taken by a secured creditor.

Other Debt

With the consummation of the MSA acquisition, the Company assumed a Fond du Lac County and Fond du Lac Economic Development Corporation term note (Fond du Lac Term Note). The Fond du Lac Term Note is secured by a security agreement, payable in annual installments of $500 plus interest at 2.00% and is due in full in December 2028. The balance outstanding as of March 31, 2024 was $2,735, with the short-term and long-term balance of $500 and $1,875, respectively, recorded in other current liabilities and other long-term liabilities in the Condensed Consolidated Balance Sheets.

Capital Requirements and Sources of Liquidity

During the three months ended March 31, 2024 and 2023, our capital expenditures were $2,775 and $2,408 respectively. The increase of $367 was driven by continued investments in technology and automation. Capital expenditures for the full year 2024 are expected to be between $15,000 and $20,000.

We have historically relied upon cash available through credit facilities, in addition to cash from operations, to finance our working capital requirements and to support our growth. At March 31, 2024, we had immediate availability of $110,183 through our revolving credit facility and the availability of incremental facilities to the greater of $100,000 and 125% of the Company’s twelve month trailing Consolidated EBITDA through an accordion feature under our Credit Agreement, subject to the covenants under the Credit Agreement. We regularly monitor potential capital sources, including equity and debt financings, in an effort to meet our planned capital expenditures and liquidity requirements. Our future success will be highly dependent on our ability to access outside sources of capital. We will continue to have access to the availability currently provided under the Credit Agreement as long as we remain compliant with the financial covenants. Based on our estimates at this time, we expect to be in compliance with these financial covenants through 2024 and the foreseeable future.

We believe that our operating cash flow and available borrowings under the Credit Agreement are sufficient to fund our operations for 2024 and beyond. However, future cash flows are subject to a number of variables, and additional capital expenditures will be required to conduct our operations. There can be no assurance that operations and other capital resources will provide cash in sufficient amounts to maintain planned or future levels of capital expenditures. In the event we make one or more acquisitions and the amount of capital required is greater than the amount we have available for acquisitions at that time, we could be required to reduce the expected level of capital expenditures and/or seek additional capital. If we seek additional capital, we may do so through borrowings under the Credit Agreement, joint ventures, asset sales, offerings of debt or equity securities or other means. We cannot guarantee that this additional capital will be available on acceptable terms or at all. If we are unable to obtain the funds we need, we may not be able to complete acquisitions that may be favorable to us or finance the capital expenditures necessary to conduct our operations.

27

Contractual Obligations

The following table presents our obligations and commitments to make future payments under contracts and contingent commitments at March 31, 2024:

Payments Due by Period

    

Total

    

2024 (Remainder)

    

2025 – 2026

    

2027 – 2028

    

Thereafter

    

Long-term debt principal payment obligations (1)

$

142,192

$

500

$

1,000

$

140,692

$

Equipment financing agreements (2)

111

111

Forecasted interest on debt payment obligations (3)

29,599

7,209

12,840

9,550

Finance lease obligations (4)

 

846

 

352

 

441

 

53

 

 

Operating lease obligations (4)

 

36,151

 

4,400

 

10,188

 

9,907

 

11,656

 

Total

$

208,899

$

12,572

$

24,469

$

160,202

$

11,656

(1)Principal payments under the Company’s Credit Agreement, which expires in 2028 and the Fond du Lac Term Note, which is due in full in December 2028.
(2)Financing agreements entered into to purchase manufacturing equipment. Current and long-term portions are classified in other current liabilities and other long-term liabilities, respectively, on the Condensed Consolidated Balance Sheets.
(3)Forecasted interest on debt obligations are based on the debt balance, interest rate, and unused fee of the Company’s revolving credit facility, debt balance and interest rate of the Company’s Fond due Lac Term Note and the debt balances and interest rates of the Company’s equipment finance agreements as of March 31, 2024.
(4)See Note 5 – Leases in the Notes to Condensed Consolidated Financial Statements for additional information.

Item 3. Quantitative and Qualitative Disclosures About Market Risk.

We are exposed to market risk from changes in customer forecasts, interest rates, and to a lesser extent, commodities. To reduce such risks, we selectively use financial instruments and other proactive management techniques.

Customer Forecasts

The use and consumption of our components, products and services fluctuates depending on order forecasts we receive from our customers. These order forecasts can change dramatically from quarter-to-quarter dependent upon the respective markets that our customers provide products in.

Interest Rate Risk

We are exposed to interest rate risk on certain of our short- and long-term debt obligations used to finance our operations and acquisitions. We have SOFR-based floating rate borrowings under the Credit Agreement, which exposes us to variability in interest payments due to changes in the referenced interest rates.

The amount borrowed under the revolving credit facility under the Credit Agreement was $139.8 million with an interest rate of 7.68% as of March 31, 2024. Please see “Liquidity and Capital Resources – Amended and Restated Credit Agreement” in Part I, Item 2 and Note 4 in the Notes to the Unaudited Condensed Consolidated Financial Statements of this Quarterly Report on Form 10-Q for more specifics.

A hypothetical 100-basis-point increase in interest rates would have resulted in an additional $0.4 million of interest expense based on our variable rate debt at March 31, 2024. We do not use derivative financial instruments to manage interest risk or to speculate on future changes in interest rates. A rise in interest rates could negatively affect our cash flow.

Commodity Risk

We source a wide variety of materials and components from a network of suppliers. Commodity raw materials, such as steel, aluminum, copper, paint and paint chemicals, and other production costs are subject to price fluctuations, which could have a negative impact on our results. We strive to pass along such commodity price increases to customers to avoid profit margin erosion and in many cases utilize contracts with those customers to mitigate the impact of commodity raw material price fluctuations. As of

28

March 31, 2024, we did not have any commodity hedging instruments in place.

Item 4. Controls and Procedures.

Evaluation of Disclosure Controls and Procedures

We maintain disclosure controls and procedures that are designed to provide reasonable assurance that information required to be disclosed in the reports we file or submit under the Securities Exchange Act of 1934, as amended (the Exchange Act), is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosure. In designing disclosure controls and procedures, our management necessarily was required to apply its judgment in evaluating the cost-benefit relationship of possible disclosure controls and procedures. The design of any disclosure controls and procedures also is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired objectives.

Our management, under the supervision of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of the Company’s disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of the end of the period covered by this Quarterly Report on Form 10-Q and has concluded that, as of the end of such period, the Company’s disclosure controls and procedures were effective at the reasonable assurance level.

Changes in Internal Control Over Financial Reporting

There were no changes in the Company’s internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) of the Exchange Act) during the first quarter of 2024 that have materially affected, or are reasonably likely to materially affect, the Company’s internal control over financial reporting.

29

PART II—OTHER INFORMATION

Item 1. Legal Proceedings.

From time to time, we may be a party to litigation and subject to claims incident to the ordinary course of business. Regardless of the outcome, litigation can have an adverse impact on us because of defense and settlement costs, diversion of management resources and other factors. See Note 9 – Commitments and contingencies in the Notes to the Condensed Consolidated Financial Statements for additional information.

Item 1A. Risk Factors

There have been no material changes to the risk factors previously disclosed in Part I, Item 1A, “Risk Factors,” in our Annual Report on Form 10-K for the year ended December 31, 2023, which was filed with the SEC on March 6, 2024.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds.

The table below sets forth information with respect to purchases we made of shares of our common stock during the quarter ended March 31, 2024:

Total Number 

Dollar Value of 

of Shares 

Shares that 

Total 

Purchased as 

May Yet Be 

Number 

Part of Publicly 

Purchased 

of Shares 

Average Price 

Announced Plans 

Under the Plans 

Period

    

Purchased

    

Paid per Share

    

or Programs (1)

    

or Programs (1)

January 2024

$

$

25,000,000

February 2024

$

$

25,000,000

March 2024

$

$

25,000,000

Total

 

 

 

 

  

(1)On October 26, 2023, the Board of Directors approved a new share repurchase program of up to $25 million of shares through 2026. The new share repurchase program replaced the prior program.

Item 5. Other Information

During the three months ended March 31, 2024, no director or Section 16 officer of the Company adopted or terminated a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408 of Regulation S-K.

30

Item 6. Exhibits.

The exhibits listed in the Exhibit Index below are filed as part of this Quarterly Report on Form 10-Q.

EXHIBIT INDEX

Exhibit

Number

Description

31.1

Certification of Principal Executive Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

31.2

Certification of Principal Financial Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

32

Certification of Principal Executive Officer and Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

101.INS

Inline XBRL Instance Document

101.SCH

Inline XBRL Taxonomy Extension Schema Document

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document

104

Cover Page Interactive Data File (embedded within the Inline XBRL document)

31

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.

MAYVILLE ENGINEERING COMPANY, INC.

Date: May 8, 2024

 

By:

/s/ Jagadeesh A. Reddy

 

Jagadeesh A. Reddy

 

President & Chief Executive Officer

 

By:

/s/ Todd M. Butz

 

Todd M. Butz

 

Chief Financial Officer

32

EX-31.1 2 tmb-20240331xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Jagadeesh A. Reddy, certify that:

1.

I have reviewed this Quarterly Report on Form 10-Q of Mayville Engineering Company, Inc.;

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: May 8, 2024

By:

/s/ Jagadeesh A. Reddy

Jagadeesh A. Reddy

President & Chief Executive Officer


EX-31.2 3 tmb-20240331xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Todd M. Butz, certify that:

1.

I have reviewed this Quarterly Report on Form 10-Q of Mayville Engineering Company, Inc.;

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: May 8, 2024

By:

/s/ Todd M. Butz

Todd M. Butz

Chief Financial Officer


EX-32 4 tmb-20240331xex32.htm EX-32

Exhibit 32

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 Mayville Engineering Company, Inc. (the “Company”) for the period ended March 31, 2024 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), Jagadeesh A. Reddy, as President and Chief Executive Officer of the Company, and Todd M. Butz, as Chief Financial Officer of the Company, each hereby certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that to his knowledge:

(1)

The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(2)

The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: May 8, 2024

By:

/s/ Jagadeesh A. Reddy

Jagadeesh A. Reddy

President & Chief Executive Officer

By:

/s/ Todd M. Butz

Todd M. Butz

Chief Financial Officer


EX-101.SCH 5 tmb-20240331.xsd EX-101.SCH 00100 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - Condensed Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Acquisitions - Assets acquired, liabilities assumed (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Select balance sheet data - Schedule of Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - Select balance sheet data - Schedule of Property, Plant and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40305 - Disclosure - Select balance sheet data - Schedule of Listing of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Leases - Supplemental information related to leases (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Leases - Components of lease expense (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - Condensed Consolidated Statements of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 31703 - Disclosure - Stock-based compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Basis of presentation (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Acquisitions - Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Acquisitions - Pro Forma Financial Information (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - Select balance sheet data - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Debt - Credit Agreements (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Debt - Other Debt (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Employee stock ownership plan - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Income taxes - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Commitments and contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Deferred compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Self-Funded insurance - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Fair value of financial instruments - Assets and Liabilities at Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 41402 - Disclosure - Earnings Per Share - Antidilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 41502 - Disclosure - Revenue Recognition - Schedule of Disaggregation of Revenue by Product Category (Details) link:presentationLink link:calculationLink link:definitionLink 41503 - Disclosure - Revenue Recognition - Schedule of Disaggregation of Revenue by End Market (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - Concentration of major customers - Schedule of Major Customer Concentrations (Details) link:presentationLink link:calculationLink link:definitionLink 41701 - Disclosure - Stock-based compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41702 - Disclosure - Stock-based compensation - Summary of Stock-based Compensation Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 41703 - Disclosure - Stock-based compensation - Schedule of Unrecognized Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 41802 - Disclosure - Common Equity - Changes in outstanding common shares (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Basis of presentation link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Select balance sheet data link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Employee stock ownership plan link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Retirement plans link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Income taxes link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Commitments and contingencies link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Deferred compensation link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Self-Funded insurance link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Segments link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Fair value of financial instruments link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - Concentration of major customers link:presentationLink link:calculationLink link:definitionLink 11701 - Disclosure - Stock-based compensation link:presentationLink link:calculationLink link:definitionLink 11801 - Disclosure - Common Equity link:presentationLink link:calculationLink link:definitionLink 11901 - Disclosure - Subsequent events link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - Basis of presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Select balance sheet data (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Fair value of financial instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 31603 - Disclosure - Concentration of major customers (Tables) link:presentationLink link:calculationLink link:definitionLink 31803 - Disclosure - Common Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 40304 - Disclosure - Select balance sheet data - Schedule of Changes In Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40306 - Disclosure - Select balance sheet data - Schedule of Changes In Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40307 - Disclosure - Select balance sheet data - Schedule of Future Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Leases - Supplemental cash flow information (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Retirement plans - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Segments - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Revenue Recognition - Schedule of Changes in Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41801 - Disclosure - Common Equity (Details) link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 tmb-20240331_cal.xml EX-101.CAL EX-101.DEF 7 tmb-20240331_def.xml EX-101.DEF EX-101.LAB 8 tmb-20240331_lab.xml EX-101.LAB EX-101.PRE 9 tmb-20240331_pre.xml EX-101.PRE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2024
May 03, 2024
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-38894  
Entity Registrant Name Mayville Engineering Company, Inc.  
Entity Incorporation, State or Country Code WI  
Entity Tax Identification Number 39-0944729  
Entity Address, Address Line One 135 S. 84th Street, Suite 300  
Entity Address, City or Town Milwaukee  
Entity Address, State or Province WI  
Entity Address, Postal Zip Code 53214  
City Area Code 414  
Local Phone Number 381-2860  
Title of 12(b) Security Common Stock, no par value  
Trading Symbol MEC  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company true  
Entity Ex Transition Period false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   20,526,787
Entity Central Index Key 0001766368  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
ASSETS    
Cash and cash equivalents $ 314 $ 672
Receivables, net of allowances for doubtful accounts of $669 at March 31, 2024 and $685 at December 31, 2023 70,331 57,445
Inventories, net 66,106 67,782
Tooling in progress 5,232 5,457
Prepaid expenses and other current assets 3,523 3,267
Total current assets 145,506 134,623
Property, plant and equipment, net 172,095 175,745
Goodwill 92,650 92,650
Intangible assets, net 56,934 58,667
Operating lease assets 31,018 32,233
Other long-term assets 1,698 2,743
Total assets 499,901 496,661
LIABILITIES AND SHAREHOLDERS' EQUITY    
Accounts payable 54,457 46,526
Current portion of operating lease obligation 5,010 5,064
Accrued liabilities:    
Salaries, wages, and payroll taxes 6,131 6,368
Profit sharing and bonus 1,455 3,107
Other current liabilities 12,093 10,644
Total current liabilities 79,146 71,709
Bank revolving credit notes 139,817 147,493
Operating lease obligation, less current maturities 27,532 28,606
Deferred compensation, less current portion 4,182 3,816
Deferred income tax liability 12,847 12,606
Other long-term liabilities 2,340 2,453
Total liabilities 265,864 266,683
Commitments and contingencies (see Note 9)
Common shares, no par value, 75,000,000 authorized, 22,009,409 shares issued at March 31, 2024 and 21,853,477 at December 31, 2023
Additional paid-in-capital 206,191 205,373
Retained earnings 37,359 34,118
Treasury shares at cost, 1,542,893 shares at March 31, 2024 and December 31, 2023 (9,513) (9,513)
Total shareholders' equity 234,037 229,978
Total $ 499,901 $ 496,661
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Condensed Consolidated Balance Sheets    
Allowances for doubtful accounts $ 669 $ 685
Common shares, no par value $ 0 $ 0
Common shares, shares authorized 75,000,000 75,000,000
Common shares, Shares, issued 22,009,409 21,853,477
Treasury stock at cost 1,542,893 1,542,893
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Condensed Consolidated Statements of Comprehensive Income    
Net sales $ 161,269 $ 142,645
Cost of sales 140,336 126,268
Amortization of intangible assets 1,733 1,738
Profit sharing, bonuses, and deferred compensation 3,800 3,003
Other selling, general and administrative expenses 7,769 6,966
Income from operations 7,631 4,670
Interest expense (3,356) (1,658)
Income before taxes 4,275 3,012
Income tax expense 1,034 441
Net income and comprehensive income $ 3,241 $ 2,571
Earnings per share:    
Basic $ 0.16 $ 0.13
Diluted $ 0.16 $ 0.12
Weighted average shares outstanding:    
Basic 20,485,933 20,315,338
Diluted 20,700,046 20,749,948
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CASH FLOWS FROM OPERATING ACTIVITIES    
Net income $ 3,241 $ 2,571
Adjustments to reconcile net income to net cash provided by (used in) operating activities:    
Depreciation 7,521 6,142
Amortization 1,733 1,738
Allowance for doubtful accounts (16) 27
Inventory excess and obsolescence reserve (247) 11
Stock-based compensation expense 1,157 1,066
Loss (gain) on disposal of property, plant and equipment 2 (138)
Deferred compensation 316 (163)
Non-cash lease expense 1,215 1,286
Other non-cash adjustments 69 83
Changes in operating assets and liabilities:    
Accounts receivable (12,870) (16,265)
Inventories 1,923 2,749
Tooling in progress 225 (100)
Prepaids and other current assets (199) 110
Accounts payable 6,727 (2,290)
Deferred income taxes 1,159 441
Operating lease obligations (1,128) (1,206)
Accrued liabilities (203) (2,105)
Net cash provided by (used in) operating activities 10,625 (6,043)
CASH FLOWS FROM INVESTING ACTIVITIES    
Purchase of property, plant and equipment (2,775) (2,408)
Proceeds from sale of property, plant and equipment 107 153
Net cash used in investing activities (2,668) (2,255)
CASH FLOWS FROM FINANCING ACTIVITIES    
Proceeds from bank revolving credit notes 119,351 119,700
Payments on bank revolving credit notes (127,026) (110,360)
Repayments of other long-term debt (195) (286)
Shares withheld for employees' taxes (683) (661)
Payments on finance leases (107) (96)
Proceeds from the exercise of stock options 345  
Net cash provided by (used in) financing activities (8,315) 8,297
Net increase (decrease) in cash and cash equivalents (358) (1)
Cash and cash equivalents at beginning of period 672 127
Cash and cash equivalents at end of period 314 126
Supplemental disclosure of cash flow information:    
Cash paid for interest 2,094 112
Cash paid for taxes 2  
Non-cash property, plant & equipment, net $ 1,650 1,534
Non-cash 401(k) contribution of treasury stock   $ 2,500
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Additional Paid-in-Capital [Member]
Treasury Shares [Member]
Retained Earnings [Member]
Total
Beginning, Balance at Dec. 31, 2022 $ 200,945 $ (9,352) $ 26,274 $ 217,867
Net income (loss)     2,571 2,571
Purchase of treasury stock   (661)   (661)
401(k) contribution   2,500   2,500
Stock-based compensation 1,066     1,066
Ending, Balance at Mar. 31, 2023 202,011 (7,513) 28,845 223,343
Beginning, Balance at Dec. 31, 2023 205,373 (9,513) 34,118 229,978
Net income (loss)     3,241 3,241
Restricted stock units net of tax withholding (524)     (524)
Stock options exercised 185     185
Stock-based compensation 1,157     1,157
Ending, Balance at Mar. 31, 2024 $ 206,191 $ (9,513) $ 37,359 $ 234,037
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of presentation
3 Months Ended
Mar. 31, 2024
Basis of presentation  
Basis of presentation

Mayville Engineering Company, Inc. and Subsidiaries

Notes to Unaudited Condensed Consolidated Financial Statements

(in thousands except share amounts, per share data, years and ratios)

(unaudited)

Note 1. Basis of presentation

The interim unaudited Condensed Consolidated Financial Statements of Mayville Engineering Company, Inc. and subsidiaries (MEC, the Company, we, our, us or similar terms) presented here have been prepared in accordance with the accounting principles generally accepted in the United States of America (GAAP) and with instructions to Form 10-Q and Article 10 of Regulation S-X. They reflect all adjustments which are, in the opinion of management, necessary for a fair presentation of the results of operations and financial position for the interim unaudited periods presented. All intercompany balances and transactions have been eliminated in consolidation.

Certain information and footnote disclosures normally included in financial statements prepared in accordance with GAAP have been condensed or omitted. These interim unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Company’s consolidated financial statements and notes thereto for the year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K. A summary of the Company’s significant accounting policies is included in the Company’s 2023 financial statements in the Annual Report on Form 10-K. The Company followed these policies in preparation of the interim unaudited Condensed Consolidated Financial Statements except for new accounting pronouncements adopted as described below.

Nature of Operations

MEC is a leading U.S.-based, vertically-integrated, value-added manufacturing partner providing a full suite of manufacturing solutions from concept to production, including design, prototyping and tooling, fabrication, aluminum extrusion, coating, assembly and aftermarket components. Our customers operate in diverse end markets, including heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agriculture, military and other end markets. Founded in 1945 and headquartered in Milwaukee, Wisconsin, we are a leading Tier I U.S. supplier of highly engineered components to original equipment manufacturer (OEM) customers with leading positions in their respective markets. The Company operates 23 facilities located in Arkansas, Michigan, Mississippi, Ohio, Pennsylvania, Virginia, and Wisconsin. Our engineering expertise and technical know-how allow us to add value through every product redevelopment cycle (generally every three to five years for our customers).

Our one operating segment focuses on producing metal components that are used in a broad range of heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agricultural, military and other products.

Recent Accounting Pronouncements

In December 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2023-09, Improvements to Income Tax Disclosures, amending Accounting Standards Codification (ASC) 740, Income Taxes. The amendment is intended to enhance the transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. The amendments require that on an annual basis, entities disclose specific categories in the rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. In addition, the amendments require that entities disclose additional information about income taxes paid as well as additional disclosures of pretax income and income tax expense and remove the requirement to disclose certain items that are no longer considered cost beneficial or relevant. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, may be applied prospectively or retrospectively and allows for early adoption. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.

In November 2023, the FASB issued ASU 2023-07, Improvements to Reportable Segment Disclosures, amending ASC 280, Segment Reporting. The amendment is intended to improve reportable segment disclosures, primarily through enhanced disclosures about significant segment expenses. In addition, the amendments enhance interim disclosure requirements, clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure requirements. ASU 2023-07 is effective for fiscal years beginning after

December 15, 2023 and for interim periods after December 15, 2024. Early adoption is permitted and may be applied prospectively or retrospectively. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.

XML 18 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions
3 Months Ended
Mar. 31, 2024
Acquisitions  
Acquisitions

Note 2. Acquisition

On July 1, 2023, the Company completed its acquisition of Mid-States Aluminum (MSA). The acquisition was consummated in accordance with terms and conditions of the certain Unit Purchase Agreement, dated as of June 19, 2023, among the Company and shareholders of MSA. The purchase price of the acquisition was $95,945, subject to adjustments for the amount of cash, indebtedness, net working capital and certain expenses of MSA as of the closing. At the closing of the acquisition, the Company applied an estimate of the adjustments and paid total net consideration of $90,002. The Company financed the acquisition by borrowing under its amended and restated credit agreement, as described in Note 4 – Debt in the Notes to Condensed Consolidated Financial Statements.

Located in Fond du Lac, WI, MSA is an industry leading, vertically-integrated manufacturer of custom aluminum extrusions and fabrications that also offers related services including design, engineering, anodizing and finishing, assembly and packaging. The acquisition enables MEC to secure an attractive entry point within light-weight materials fabrication, while providing significant new cross-selling opportunities with both new and existing customers.

The aggregate purchase price has been allocated to the assets acquired and liabilities assumed based on their preliminary estimated fair values at the acquisition date. The estimate of the excess purchase price over the preliminary estimated fair value of net tangible assets acquired was allocated to identifiable intangible assets and goodwill. The Company engaged an independent third party to assist with the identification and valuation of these intangible assets. Management makes significant estimates and assumptions when determining the fair value of assets acquired and liabilities assumed. These estimates include, but are not limited to, discount rates, projected future net sales, projected future expected cash flows, useful lives, attrition rates, royalty rates and growth rates. These measures are based on significant Level 3 inputs (see Note 13) not observable in the market.

The following table is a summary of the assets acquired, liabilities assumed and net cash consideration paid for MSA during 2023:

Preliminary

Estimated

Opening Balance

Useful

Sheet Allocation

Life

Cash

$

324

Accounts receivable, net

7,381

Inventory

9,698

Property, plant and equipment

41,271

Other assets

291

Intangible assets

Developed technology

4,900

7 Years

Customer relationships

17,700

17 Years

Goodwill

21,115

Indefinite

Total assets acquired

102,680

Accounts payable

(2,386)

Accrued expenses

(1,509)

Other liabilities

(1,984)

Debt

(7,884)

Total consideration

$

88,917

Inventory was valued at its estimated fair value, which is defined as expected sales price, less costs to sell, plus a reasonable margin for selling effort. The valuation resulted in an inventory fair value step-up of $891 and was fully expensed and reflected in cost of sales on the Condensed Consolidated Statements of Comprehensive Income during the three months ended September 30, 2023.

Property, plant and equipment was valued at its estimated fair value using the cost, market and sales comparison approaches. The valuation resulted in a property, plant and equipment fair value step-up of $21,157. Depreciation on property, plant and equipment is computed on a straight-line basis over the estimated useful life of the respective assets.

The Company also recorded $17,700 of customer relationships intangible assets with an estimated useful life of 17 years and $4,900 of developed technology intangible assets with an estimated useful life of 7 years. The purchase price allocated to these assets was based on management’s forecasted cash inflows and outflows and using a relief from royalty method for developed technologies and the multi-period excess earnings method for customer relationships. Amortization expense related to these intangible assets is recorded on a straight-line basis and reflected in amortization of intangible expenses on the Condensed Consolidated Statements of Comprehensive Income.

The purchase price of MSA exceeded the preliminary estimated fair value of identifiable net assets and accordingly, the difference was allocated to goodwill, which is not tax deductible.

The Company believes that the information gathered to date provides a reasonable basis for estimating the fair values of assets acquired and liabilities assumed; however, the purchase price allocations are preliminary as we continue to gather the necessary information to finalize our fair value estimates and provisional amounts. Provisional amounts include items related to working capital adjustments, intangibles, indemnification of assets and liabilities and deferred taxes. As of December 31, 2023, the Company finalized the net working capital adjustment in conjunction with the fair value estimates for assets acquired, liabilities assumed, identifiable assets and the net income tax provision. Since its preliminary estimates, the Company adjusted the purchase price by ($1,084) related to working capital adjustments. The offsetting adjustment was primarily related to goodwill.

The Company has recorded preliminary estimates for the items noted in the preceding paragraph and will record adjustments, if an, to the preliminary amounts upon finalization of the respective valuations. Such changes are not expected to be significant. The Company expects to complete the purchase price allocation as soon as possible but no later than one year from the acquisition date.

Pro Forma Financial Information (Unaudited)

In accordance with ASC 805, the following unaudited pro forma combined results of operations have been prepared and presented to give effect to the MSA acquisition as if it had occurred on January 1, 2023, the beginning of the comparable period, applying certain assumptions and pro forma adjustments. These pro forma adjustments primarily relate to the estimated depreciation expense associated with the fair value of the acquired property, plant and equipment, amortization of identifiable intangible assets, interest expense related to additional debt needed to fund the acquisition, and the tax impact of these adjustments. Additionally, the pro forma adjustments include non-recurring expenses related to transaction costs and the sale of stepped-up inventory. The unaudited pro forma consolidated results are provided for illustrative purposes only, are not indicative of the Company’s actual consolidated results of operations or consolidated financial position and do not reflect any revenue and operating synergies or cost savings that may result from the acquisition.

Three Months Ended

March 31, 

    

2023

Net sales

 

$

158,720

Net income

 

$

1,384

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data
3 Months Ended
Mar. 31, 2024
Select balance sheet data  
Select balance sheet data

Note 3. Select balance sheet data

Inventory

Inventories are stated at the lower of cost, determined on the first-in, first-out method, or net realizable value. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Work-in-process and finished goods are valued at production costs consisting of material, labor, and overhead.

Inventories as of March 31, 2024 and December 31, 2023 consist of:

March 31, 

December 31, 

    

2024

    

2023

Finished goods and purchased parts

$

29,862

$

31,489

Raw materials

 

25,238

 

25,929

Work-in-process

 

11,006

 

10,363

Total

$

66,106

$

67,782

Property, plant and equipment

Property, plant and equipment as of March 31, 2024 and December 31, 2023 consist of:

    

Useful Lives

    

March 31, 

    

December 31, 

 Years

2024

2023

Land

Indefinite

$

2,640

$

2,640

Land improvements

15-39

4,378

4,378

Building and building improvements

 

15-39

 

81,558

 

79,682

Machinery, equipment and tooling

 

3-10

 

300,627

 

295,960

Vehicles

 

5

 

4,452

 

4,571

Office furniture and fixtures

 

3-7

 

22,089

 

21,325

Construction in progress

 

N/A

 

6,303

 

9,779

Total property, plant and equipment, gross

 

422,047

 

418,335

Less accumulated depreciation

 

249,952

 

242,590

Total property, plant and equipment, net

$

172,095

$

175,745

Depreciation expense was $7,521 and $6,142 for the three months ended March 31, 2024 and 2023, respectively.

Goodwill

There were no changes to the goodwill balance of $92,650 between December 31, 2023 and March 31, 2024.

Intangible Assets

The following is a listing of definite-lived intangible assets, the useful lives in years (amortization period) and accumulated amortization as of March 31, 2024 and December 31, 2023:

March 31, 2024

Useful Lives 

Gross Carrying

Accumulated

 

    

Years

    

Amount

    

Amortization

 

Net

Amortizable intangible assets:

Customer relationships and contracts

9-17

$

96,040

$

54,266

$

41,774

Trade name

 

10

 

14,780

 

7,816

6,964

Non-compete agreements

 

5

 

8,800

 

8,800

Developed technology

7

4,900

525

4,375

Patents

 

19

 

24

 

14

10

Total intangible assets, net

 

$

124,544

 

$

71,421

$

53,123

December 31, 2023

Useful Lives 

Gross Carrying

Accumulated

 

    

Years

    

Amount

    

Amortization

 

Net

Amortizable intangible assets:

Customer relationships and contracts

9-17

$

96,040

$

53,078

$

42,962

Trade name

 

10

 

14,780

 

7,446

7,334

Non-compete agreements

 

5

 

8,800

 

8,800

Developed technology

7

4,900

350

4,550

Patents

 

19

 

24

 

14

10

Total intangible assets, net

 

$

124,544

 

$

69,688

$

54,856

Additionally, the Company reported an indefinite lived non-amortizable brand name asset with a balance of $3,811 as of March 31, 2024 and December 31, 2023.

Changes in intangible assets between December 31, 2023 and March 31, 2024 consist of:

Balance as of December 31, 2023

    

$

58,667

Amortization expense

 

(1,733)

Balance as of March 31, 2024

$

56,934

For the three months ended March 31, 2024 and 2023, amortization expense was $1,733 and $1,738, respectively.

Future amortization expense is expected to be as followed:

Year ending December 31, 

    

2024 (remainder)

$

5,200

2025

$

6,933

2026

$

6,933

2027

$

6,933

2028

$

6,877

Thereafter

$

20,247

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt
3 Months Ended
Mar. 31, 2024
Debt  
Debt

Note 4. Debt

Bank Revolving Credit Notes

On June 28, 2023, we entered into an amended and restated credit agreement (the Credit Agreement) with certain lenders and Wells Fargo Bank, National Association, as administrative agent (the Agent). The Credit Agreement provides for a $250,000 revolving credit facility, with a letter of credit sub-facility, and a swingline facility in an aggregate amount of $25,000. The Credit Agreement also provides the availability of incremental facilities to the greater of $100,000 and 125% of the Company’s twelve month trailing Consolidated EBITDA through an accordion feature. All amounts borrowed under the credit agreement mature on June 28, 2028.

The Credit Agreement contains usual and customary negative covenants for agreements of this type, including, but not limited to, restrictions on our ability to, subject to certain exceptions, create, incur or assume indebtedness; create, incur, assume or suffer to exist liens; make certain investments; allow our subsidiaries to merge or consolidate with another entity; make certain asset dispositions; pay certain dividends or other distributions to shareholders; enter into transactions with affiliates; enter into sale leaseback transactions; and exceed the limits on annual capital expenditures. The Credit Agreement also requires us to satisfy certain financial covenants, including a minimum consolidated interest coverage ratio of 3.00 to 1.00 as well as a consolidated total leverage ratio not to exceed 4.00 to 1.00 (which was increased as of July 1, 2023 from 3.50 to 1.00 in connection with the acquisition of MSA).

The Company incurred deferred financing costs of $1,248 associated with executing the Credit Agreement, which has been recorded as an other long-term asset in the Condensed Consolidated Balance Sheets and will be amortized over the duration of the agreement.

At March 31, 2024, our consolidated total leverage ratio was 1.98 to 1.00 as compared to a covenant maximum of 4.00 to 1.00 under the Credit Agreement.

At March 31, 2024, our consolidated interest coverage ratio was 4.87 to 1.00 as compared to a covenant minimum of 3.00 to 1.00 under the Credit Agreement.

Under the Credit Agreement, interest is payable quarterly at the adjusted secured overnight financing rate (SOFR) plus an applicable margin based on the current consolidated total leverage ratio. The interest rate was 7.68% and 7.71% as of March 31, 2024 and December 31, 2023, respectively. Additionally, the agreement has a fee on the average daily unused portion of the aggregate unused revolving commitments. This fee was 0.30% as of March 31, 2024 and December 31, 2023.

Prior to June 28, 2023, the Company maintained a credit agreement (Former Credit Agreement) with certain lenders and the Agent. The Former Credit Agreement provided for a $200,000 revolving credit facility, with a letter of credit sub-facility in an aggregate amount not to exceed $5,000, and a swingline facility in an aggregate amount of $20,000. The Former Credit Agreement also provided for an additional $100,000 of debt capacity through an accordion feature.

The Company was in compliance with all financial covenants of its credit agreements as of March 31, 2024 and December 31, 2023. The amount borrowed on the revolving credit notes was $139,817 and $147,493 as of March 31, 2024 and December 31, 2023, respectively.

Other Debt

With the consummation of the MSA acquisition, the Company assumed a Fond du Lac County and Fond du Lac Economic Development Corporation term note (Fond du Lac Term Note). The Fond du Lac Term Note is secured by a security agreement, payable in annual installments of $500 plus interest at 2.00% and is due in full in December 2028. The balance outstanding as of March 31, 2024 and December 31, 2023 was $2,375. The short-term and long-term balance of $500 and $1,875, respectively, are recorded in other current liabilities and other long-term liabilities in the Condensed Consolidated Balance Sheets.

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases
3 Months Ended
Mar. 31, 2024
Leases  
Leases

Note 5. Leases

The Company has real property operating leases for office and light manufacturing space. Operating leases for the Company’s personal property consist of leases for office equipment, vehicles, forklifts and storage tanks for bulk gases. The Company recognizes a right-of-use (ROU) asset and a lease liability for operating leases based on the net present value of future minimum lease payments. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term, including renewal periods that are considered reasonably certain.

The Company has finance leases for two laser cutting systems, four vehicles and a number of copiers. The Company recognizes an ROU asset and a lease liability for finance leases based on the net present value of future minimum lease payments. Lease expense for the Company’s finance leases is comprised of the amortization of the ROU asset and interest expense recognized based on the effective interest method.

Variable lease expense is related to certain of the Company’s real property leases and personal property leases, and it generally consists of property tax and insurance components that are for the benefit of the lessor (real property leases) and variable overage fees (personal property leases) that are remitted as part of the Company’s lease payments.

The components of lease expense were as follows:

Three Months Ended

March 31, 

    

2024

2023

Finance lease cost:

Amortization of finance lease assets

$

104

$

94

Interest on finance lease liabilities

8

 

11

Total finance lease expense

112

105

Operating lease expense

1,340

1,286

Short-term lease expense

152

139

Variable lease expense

52

 

69

Lease income (1)

(532)

(631)

Total lease expense

$

1,124

$

968

(1)The Company subleased a portion of its Hazel Park, MI facility starting in June 2022. Lease income for the three months ended March 31, 2024 and 2023 was $532 and $631, respectively.

Lease related supplemental cash flow information:

Three Months Ended

March 31, 

2024

    

2023

Cash paid for amounts included in the measurement of lease liabilities for finance leases:

Operating cash flows

$

8

$

11

Financing cash flows

$

107

$

96

Cash paid for amounts included in the measurement of lease liabilities for operating leases:

Operating cash flows

$

1,481

$

1,425

 

 

Right-of-use assets obtained in exchange for recorded lease obligations:

Operating leases

$

134

$

Finance leases

$

1

$

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Employee stock ownership plan
3 Months Ended
Mar. 31, 2024
Employee stock ownership plan  
Employee stock ownership plan

Note 6. Employee stock ownership plan

Under the Mayville Engineering Company, Inc. Employee Stock Ownership Plan (ESOP), the Company can make annual discretionary contributions to the trust for the benefit of eligible employees in the form of cash or shares of common stock of the Company subject to the Board of Directors’ approval. For the three months ended March 31, 2024 and 2023, the Company recorded no ESOP expense.

As of January 1, 2023, the Company amended the plan reducing the distribution period from five years to three years.

At various times following death, disability, retirement, termination of employment or the exercise of diversification rights, an ESOP participant is entitled to receive their ESOP account balance in accordance with various distribution methods as permitted under the policies adopted by the ESOP.

As of March 31, 2024 and December 31, 2023, the ESOP shares consisted of 3,732,076 and 4,062,583 in allocated shares, respectively.

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement plans
3 Months Ended
Mar. 31, 2024
Retirement plans  
Retirement plans

Note 7. Retirement plans

The Mayville Engineering Company, Inc. 401(k) Plan (the 401(k) Plan) covers substantially all employees meeting certain eligibility requirements. The 401(k) Plan is a defined contribution plan and is intended for eligible employees to defer tax-free

contributions to save for retirement. Employees may contribute up to 50% of their eligible compensation to the 401(k) Plan, subject to the limits of Section 401(k) of the Internal Revenue Code.

The Company provides a 50% match for employee contributions, up to 6%. For the three months ended March 31, 2024 and 2023, the Company’s employer match expense was $1,053 and $874, respectively. Additionally, the 401(k) Plan provides for employer discretionary profit-sharing contributions and the Board of Directors may authorize discretionary profit-sharing contributions (which are usually approved at the end of each calendar year). For the three months ended March 31, 2024 and 2023, the Company’s estimated discretionary profit-sharing expense was $0.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income taxes
3 Months Ended
Mar. 31, 2024
Income taxes  
Income taxes

Note 8. Income taxes

On a quarterly basis, the Company estimates its effective tax rate for the full fiscal year and records a quarterly income tax provision based on the anticipated rate and adjusted for discrete taxable events that may occur in the quarter. As the year progresses, the Company will refine its estimate based on facts and circumstances by each tax jurisdiction.

Income tax expense was $1,034 and $441, and the effective tax rate (ETR) was 24.19% and 14.65% for the three months ended March 31, 2024 and 2023, respectively. Our ETR is different from the expected tax rate due to state taxes, non-deductible items, research and development credits and excess tax benefit associated with stock-based compensation items.

Uncertain Tax Positions

Based on the Company’s evaluation, it has been concluded that there is one unrecognized tax benefit requiring recognition in its financial statements as of March 31, 2024. The Company does not anticipate that there will be a material change in the balance of the unrecognized tax benefits in the next twelve months. Any interest and penalties related to uncertain tax positions are recorded in income tax expense. At March 31, 2024 and December 31, 2023, a total of $805 and $771 of unrecognized tax benefits would, if recognized, impact the Company’s ETR.

The Company files income tax returns in the United States federal jurisdiction and in various state and local jurisdictions. Federal tax returns for tax years beginning January 1, 2020, and state tax returns beginning January 1, 2019, are open for examination.

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and contingencies
3 Months Ended
Mar. 31, 2024
Commitments and contingencies  
Commitments and contingencies

Note 9. Commitments and contingencies

Litigation

On August 4, 2022, the Company filed a lawsuit against Peloton Interactive, Inc. (“Peloton”) in the Supreme Court of the State of New York, New York County. The lawsuit arises from a March 2021 Supply Agreement between the parties, pursuant to which MEC was to manufacture and supply custom component parts for Peloton’s exercise bikes (the “Manufacturing Project”). In the lawsuit, the Company originally asserted two claims (1) breach and anticipatory repudiation of contract and (2) breach of the duty of good faith and fair dealing (pleaded in the alternative). In January 2023, in response to Peloton’s motion to dismiss, the court allowed the first claim to proceed and dismissed the alternative claim. In the remaining claim, MEC asserts that Peloton breached and anticipatorily repudiated the Supply Agreement by unilaterally cancelling the Manufacturing Project, and refusing to pay MEC certain monthly fixed revenue payments owed under the terms of the Supply Agreement. The parties cross-appealed the court’s order on the motion to dismiss – Peloton appealed the portion of the order that denied the motion to dismiss the claim for breach and anticipatory repudiation of contract and MEC appealed the portion of the order that dismissed the claim for breach of duty of good faith and fair dealing. On April 11, 2024, the First Department, Appellate Division issued a decision and order affirming the court’s order on the motion to dismiss and affirming the court’s dismissal of the alternate claim of good faith and fair dealing.

On November 3, 2023, Peloton filed a counterclaim alleging that Peloton was induced by fraud to enter into the Supply Agreement and seeking recission of the Supply Agreement and damages, among other forms of relief. On November 22, 2023, the Company answered Peloton’s counterclaim, denying the allegations in the counterclaim.

The total amount for damages claimed by MEC is substantial but the amount and timing of the ultimate recovery is uncertain. As a result, any recovery from this litigation or settlement of this claim is a contingent gain and will be recognized if, and when, realized or realizable.

From time to time, the Company may be involved in various claims and lawsuits, both for and against the Company, arising in the normal course of business. Although the results of litigation and claims cannot be predicted with certainty, in management’s opinion, either the likelihood of loss is remote, or any reasonably possible loss associated with the resolution of such proceedings is not expected to have a material adverse impact on the consolidated financial statements.

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Deferred compensation
3 Months Ended
Mar. 31, 2024
Deferred compensation  
Deferred compensation

Note 10. Deferred compensation

The Mayville Engineering Company Deferred Compensation Plan is available for certain employees designated to be eligible to participate by the Company and approved by the Board of Directors. Eligible employees may elect to defer a portion of their compensation for any plan year and the deferral cannot exceed 50% of the participant’s base salary and may include the participant’s annual short-term cash incentive up to 100%. The participant’s election must be made prior to the first day of the plan year.

An employer contribution will be made for each participant to reflect the amount of any reduced allocations to the ESOP and/or 401(k) employer contributions due solely to the participant’s deferral amounts, as applicable. In addition, a discretionary amount may be awarded to a participant by the Company.

Deferrals are assumed to be invested in an investment vehicle based on the options made available to the participant (which does not include Company stock).

The deferred compensation plan provides benefits payable upon separation of service or death. Payments are to be made 30 or 180 days after date of separation from service, either in a lump-sum payment or up to five annual installments as elected by the participant when the participant first elects to defer compensation.

The deferred compensation plan is non-funded, and all future contributions are unsecured in that the employees have the status of a general unsecured creditor of the Company and the agreements constitute a promise by the Company to make benefit payments in the future. During the three months ended March 31, 2024 and 2023, eligible employees elected to defer compensation of $365 and $236, respectively. As of March 31, 2024 and December 31, 2023, the short-term portion accrued for all benefit years less than twelve months under this plan was $239 and $289, respectively. As of March 31, 2024 and December 31, 2023, the long-term portion accrued for all benefit years greater than twelve months under this plan was $4,182 and $3,816. These amounts include the initial deferral of compensation and were adjusted for changes in the value of investment options chosen by the participants. Total expense for the deferred compensation plan for the three months ended March 31, 2024 and 2023 was $237 and $560, respectively. These expenses are included in profit-sharing, bonuses and deferred compensation on the Condensed Consolidated Statements of Comprehensive Income. Additionally, the Company made cash distributions of $286 and $958 for the three months ended March 31, 2024 and 2023, respectively.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Self-Funded insurance
3 Months Ended
Mar. 31, 2024
Self-Funded insurance  
Self-Funded insurance

Note 11. Self-Funded insurance

The Company is self-funded for the medical benefits provided to its employees and their dependents. Healthcare costs are expensed as incurred and are based upon actual claims paid, reinsurance premiums, administration fees, and estimated unpaid claims. The Company has an aggregate stop loss limit to mitigate risk. Expenses related to this were $6,169 and $4,634 for the three months ended March 31, 2024 and 2023. An estimated accrued liability of $1,384 and $1,018 was recorded as of March 31, 2024 and December 31, 2023, respectively, for estimated unpaid claims and is included within other current liabilities on the Condensed Consolidated Balance Sheets.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segments
3 Months Ended
Mar. 31, 2024
Segments  
Segments

Note 12. Segments

The Company applies the provisions of ASC 280, Segment Reporting. An operating segment is defined as a component that engages in business activities whose operating results are reviewed by the chief operating decision maker and for which discrete financial information is available. Based on the provisions of ASC 280, the Company has determined it has one operating segment. The Company does not earn revenues or have long-lived assets located in foreign countries.

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair value of financial instruments
3 Months Ended
Mar. 31, 2024
Fair value of financial instruments  
Fair value of financial instruments

Note 13. Fair value of financial instruments

Fair value provides information on what the Company may realize if certain assets were sold or might pay to transfer certain liabilities based upon an exit price. Financial assets and liabilities that are measured and reported at fair value are classified into a three-level hierarchy that prioritizes the inputs used in the valuation process. A financial instrument’s categorization within the valuation hierarchy is based on the lowest level of any input that is significant to the fair value measurement. The hierarchy is based on the observability and objectivity of the pricing inputs as follows:

Level 1 – Quoted prices in active markets for identical assets or liabilities.
Level 2 – Significant directly observable data (other than Level 1 quoted prices) or significant indirectly observable data through corroboration with observable market data. Inputs would normally be (i) quoted prices in active markets for similar assets or liabilities, (ii) quoted prices in inactive markets for identical or similar assets or liabilities or (iii) information derived from or corroborated by observable market data. Long-term debt is classified as a Level 2 fair value input.
Level 3 – Prices or valuation techniques that require significant unobservable data inputs. These inputs would normally be the Company’s own data and judgements about assumptions that market participants would use in pricing the asset or liability.

The following table lists the Company’s financial assets and liabilities accounted for at fair value by the fair value hierarchy:

Balance at

Fair Value Measurements at

March 31, 

Report Date Using

    

2024

    

(Level 1)

    

(Level 2)

    

(Level 3)

Deferred compensation liability

$

4,421

$

4,421

$

$

Total

$

4,421

$

4,421

$

$

Balance at

Fair Value Measurements at

December 31, 

Report Date Using

    

2023

    

(Level 1)

    

(Level 2)

    

(Level 3)

Deferred compensation liability

$

4,105

$

4,105

$

$

Total

$

4,105

$

4,105

$

$

Fair value measurements for the Company’s cash and cash equivalents are classified based upon Level 1 measurements because such measurements are based upon quoted market prices in active markets for identical assets.

Accounts receivable, accounts payable, long-term debt and accrued liabilities are recorded in the Condensed Consolidated Balance Sheets at cost and approximate fair value.

Deferred compensation liabilities are recorded at amounts due to participants at the time of deferral. Deferrals are invested in an investment vehicle based on the options made available to the participant, considered to be Level 1 and Level 2 on the fair value hierarchy, with the current balance all as Level 1. The change in fair value is recorded in the profit-sharing, bonuses, and deferred compensation line item on the Condensed Consolidated Statements of Comprehensive Income. The short-term and long-term balances due to participants are reflected on the other current liabilities and deferred compensation, less current portion, line items, respectively, on the Condensed Consolidated Balance Sheets.

The Company’s non-financial assets such as goodwill, intangible assets and property, plant, and equipment are re-measured at fair value when there is an indication of impairment and adjusted only when an impairment charge is recognized. There was no impairment recognized as of the quarter end March 31, 2024.

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share  
Earnings Per Share

Note 14. Earnings Per Share

The Company computes earnings per share in accordance with ASC Topic 260, Earnings per Share. In accordance with ASC 260, outstanding options will be considered to have been exercised and outstanding as of the beginning of the period if the average

market price of the common stock during the period exceeds the exercise price of the options (they are “in the money”), and the assumed exercise of the options do not have an anti-dilutive impact on earnings per share.

A reconciliation of basic and diluted net income per share attributable to the Company were as follows:

March 31, 

2024

2023

Net income attributable to MEC

$

3,241

$

2,571

Average shares outstanding

20,485,933

20,315,338

Basic income per share

$

0.16

$

0.13

Average shares outstanding

20,485,933

20,315,338

Effect of dilutive stock-based compensation

214,113

434,610

Total potential shares outstanding

20,700,046

20,749,948

Diluted income per share

$

0.16

$

0.12

There were no options in the money that were excluded in the computation of diluted earnings per share for the three months ended March 31, 2024 and 2023 because they would have had an anti-dilutive impact on earnings per share.

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition
3 Months Ended
Mar. 31, 2024
Revenue Recognition  
Revenue Recognition

Note 15. Revenue Recognition

Contract Assets and Contract Liabilities

The Company has contract assets and contract liabilities, which are included in tooling in progress and other current liabilities on the Condensed Consolidated Balance Sheets, respectively. Contract assets include products where the Company has satisfied its performance obligation, but receipt of payment is contingent upon delivery. Contract liabilities include deferred tooling revenue, where the performance obligation was not met. The performance obligation is satisfied when the tooling is completed and the customer signs off through the Product Part Approval Process or other documented customer acceptance. Cost of goods sold is recognized and released from the balance sheet when control of the tooling promised under contract is transferred to the customer.

The Company’s contracts with customers are short-term in nature; therefore, revenue is typically recognized, billed and collected within a twelve-month period. The following table reflects the changes in our contract assets and liabilities during the three months ended March 31, 2024:

Contract

Contract

    

Assets

    

Liabilities

As of December 31, 2023

$

5,457

$

3,635

Net activity

(225)

(538)

As of March 31, 2024

$

5,232

$

3,097

Disaggregated Revenue

The following tables represent a disaggregation of revenue by product category and end market:

Three Months Ended

March 31, 

Product Category

    

2024

    

2023

Outdoor sports

$

2,159

$

2,305

Fabrication

90,914

87,001

Performance structures

45,770

26,675

Tube

19,074

20,352

Tank

11,076

11,119

Total

168,993

147,452

Intercompany sales elimination

(7,724)

(4,807)

Total, net sales

$

161,269

$

142,645

Three Months Ended

March 31, 

End Market

2024

2023

Commercial vehicle

$

58,954

$

59,155

Construction & access

 

28,446

26,507

Powersports

 

30,291

24,098

Agriculture

 

14,958

14,451

Military

7,952

8,569

Other

20,668

9,866

Total, net sales

$

161,269

$

142,645

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Concentration of major customers
3 Months Ended
Mar. 31, 2024
Concentration of major customers  
Concentration of major customers

Note 16. Concentration of major customers

The following customers accounted for 10% or greater of the Company’s recorded net sales or net trade receivables:

Net Sales

Accounts Receivable

Three Months Ended

As of

As of

March 31, 

March 31, 

December 31, 

    

2024

    

2023

    

2024

    

2023

Customer

A

 

16.6

%

15.3

%  

11.8

%  

<10

%  

 

B

 

14.0

%

15.6

%  

11.6

%  

12.6

%  

 

C

 

<10

%

12.1

%  

<10

%  

<10

%  

 

D

 

<10

%

<10

%  

13.0

%  

12.7

%  

 

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation
3 Months Ended
Mar. 31, 2024
Stock-based compensation  
Stock-based compensation

Note 17. Stock-based compensation

The Mayville Engineering Company, Inc. 2019 Omnibus Incentive Plan provided the Company the ability to grant monetary payments based on the value of its common stock, up to 2,000,000 shares.

On April 20, 2021, shareholders of the Company approved an amendment to the 2019 Omnibus Incentive Plan increasing the number of shares of common stock authorized for issuance by 2,500,000 shares.

The Company recognizes stock-based compensation using the fair value provisions prescribed by ASC 718, Compensation – Stock Compensation. Accordingly, compensation costs for awards of stock-based compensation settled in shares are determined based on the fair value of the stock-based instrument at the time of grant and are recognized as expense over the vesting period of the stock-based instrument. Our stock-based compensation consists of stock options, restricted stock units (RSUs) and performance stock units (PSUs). For all types of units, fair value is equivalent to the adjusted closing stock price at the date of the grant. The Black-Scholes option pricing model is utilized to determine fair value for options.

The actual number of PSUs, if any, to be earned by the award recipients is determined after the end of a performance measurement period. The performance measures include Adjusted EBITDA, which represents net income before interest expense, provision for income taxes, depreciation, amortization, stock-based compensation, legal costs due to the former fitness customer and adjusted for items to be determined unusual in nature or infrequent in occurrence, for the year ended December 31, 2026, and the average annual return on invested capital (ROIC), for the three-years ended December 31, 2024, 2025 and 2026, respectively. ROIC represents net operating profit after taxes divided by invested capital for an annual period. These performance targets are subject to adjustments or exclusions as deemed appropriate to account for extraordinary or unanticipated events that do not reflect the core business of the Company, and have been set for each of the minimum, target and maximum levels with the actual performance amount received determined by the Compensation Committee of the Board of Directors.

Cancellations and forfeitures are accounted for as incurred.

Stock awards were granted on March 15, 2024, November 3, 2023, September 18, 2023, June 26, 2023, April 18, 2023, March 13, 2023, February 28, 2023 and January 25, 2023.

During the three months ended March 31, 2024, 154,372 RSUs vested. For the same period, 206,524 options vested with a weighted average strike price of $13.54. During the three months ended March 31, 2023, 132,433 RSUs vested. For the same period, 197,597 options vested with a strike price of $11.65.

As of March 31, 2024, 1,222,302 options remained outstanding with a weighted average strike price of $11.36 and a weighted average contractual life of 7.40 years remaining.

The Company’s stock-based compensation expense by award type is summarized as follows:

Three Months Ended

March 31, 

    

2024

    

2023

RSU awards

$

789

$

715

PSU awards

20

Option awards

 

348

 

351

Stock-based compensation expense, net of tax

$

1,157

$

1,066

A roll-forward of unrecognized stock-based compensation expense is displayed in the table below. Unrecognized stock-based compensation expense as of March 31, 2024 will be expensed over the remaining requisite service period from which individual award values relate, up to March 15, 2027.

    

RSUs

PSUs

    

Options

    

Total

Balance as of December 31, 2023

$

2,304

$

$

1,513

$

3,817

Grants

4,423

1,423

5,846

Forfeitures

(32)

(32)

Expense

(789)

(20)

(348)

(1,157)

Balance as of March 31, 2024

$

5,906

1,403

$

1,165

$

8,474

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Common Equity
3 Months Ended
Mar. 31, 2024
Common Equity  
Common Equity

Note 18. Common Equity

At March 31, 2024 the authorized stock of the Company consisted of 75,000,000 shares of common stock without par value.

Changes in outstanding common shares are summarized as follows:

Shares

Outstanding

Shares as of December 31, 2022

20,172,746

Treasury stock purchases

(41,148)

Common stock issued (including stock-based compensation impact)

290,432

Balance as of March 31, 2023

20,422,030

Shares

Outstanding

Balance as of December 31, 2023

20,310,584

Treasury stock purchases

Common stock issued (including stock-based compensation impact)

155,932

Balance as of March 31, 2024

20,466,516

XML 35 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Subsequent events
3 Months Ended
Mar. 31, 2024
Subsequent events  
Subsequent events

Note 19. Subsequent events

The Company has evaluated subsequent events since March 31, 2024, the date of these financial statements. There were no material events or transactions discovered during this evaluation that requires recognition or disclosure in the financial statements.

XML 36 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of presentation (Policies)
3 Months Ended
Mar. 31, 2024
Basis of presentation  
Nature of Operations

Nature of Operations

MEC is a leading U.S.-based, vertically-integrated, value-added manufacturing partner providing a full suite of manufacturing solutions from concept to production, including design, prototyping and tooling, fabrication, aluminum extrusion, coating, assembly and aftermarket components. Our customers operate in diverse end markets, including heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agriculture, military and other end markets. Founded in 1945 and headquartered in Milwaukee, Wisconsin, we are a leading Tier I U.S. supplier of highly engineered components to original equipment manufacturer (OEM) customers with leading positions in their respective markets. The Company operates 23 facilities located in Arkansas, Michigan, Mississippi, Ohio, Pennsylvania, Virginia, and Wisconsin. Our engineering expertise and technical know-how allow us to add value through every product redevelopment cycle (generally every three to five years for our customers).

Our one operating segment focuses on producing metal components that are used in a broad range of heavy- and medium-duty commercial vehicles, construction & access equipment, powersports, agricultural, military and other products.

Recent Accounting Pronouncements

Recent Accounting Pronouncements

In December 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2023-09, Improvements to Income Tax Disclosures, amending Accounting Standards Codification (ASC) 740, Income Taxes. The amendment is intended to enhance the transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. The amendments require that on an annual basis, entities disclose specific categories in the rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. In addition, the amendments require that entities disclose additional information about income taxes paid as well as additional disclosures of pretax income and income tax expense and remove the requirement to disclose certain items that are no longer considered cost beneficial or relevant. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, may be applied prospectively or retrospectively and allows for early adoption. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.

In November 2023, the FASB issued ASU 2023-07, Improvements to Reportable Segment Disclosures, amending ASC 280, Segment Reporting. The amendment is intended to improve reportable segment disclosures, primarily through enhanced disclosures about significant segment expenses. In addition, the amendments enhance interim disclosure requirements, clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure requirements. ASU 2023-07 is effective for fiscal years beginning after

December 15, 2023 and for interim periods after December 15, 2024. Early adoption is permitted and may be applied prospectively or retrospectively. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.

XML 37 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions (Tables)
3 Months Ended
Mar. 31, 2024
Business Acquisition [Line Items]  
Schedule of Pro Forma Financial Information

Three Months Ended

March 31, 

    

2023

Net sales

 

$

158,720

Net income

 

$

1,384

Mid-States Aluminum [Member]  
Business Acquisition [Line Items]  
Schedule of assets acquired, liabilities assumed and net cash consideration paid

The following table is a summary of the assets acquired, liabilities assumed and net cash consideration paid for MSA during 2023:

Preliminary

Estimated

Opening Balance

Useful

Sheet Allocation

Life

Cash

$

324

Accounts receivable, net

7,381

Inventory

9,698

Property, plant and equipment

41,271

Other assets

291

Intangible assets

Developed technology

4,900

7 Years

Customer relationships

17,700

17 Years

Goodwill

21,115

Indefinite

Total assets acquired

102,680

Accounts payable

(2,386)

Accrued expenses

(1,509)

Other liabilities

(1,984)

Debt

(7,884)

Total consideration

$

88,917

XML 38 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data (Tables)
3 Months Ended
Mar. 31, 2024
Select balance sheet data  
Schedule of Inventories

March 31, 

December 31, 

    

2024

    

2023

Finished goods and purchased parts

$

29,862

$

31,489

Raw materials

 

25,238

 

25,929

Work-in-process

 

11,006

 

10,363

Total

$

66,106

$

67,782

Schedule of Property, Plant and Equipment

    

Useful Lives

    

March 31, 

    

December 31, 

 Years

2024

2023

Land

Indefinite

$

2,640

$

2,640

Land improvements

15-39

4,378

4,378

Building and building improvements

 

15-39

 

81,558

 

79,682

Machinery, equipment and tooling

 

3-10

 

300,627

 

295,960

Vehicles

 

5

 

4,452

 

4,571

Office furniture and fixtures

 

3-7

 

22,089

 

21,325

Construction in progress

 

N/A

 

6,303

 

9,779

Total property, plant and equipment, gross

 

422,047

 

418,335

Less accumulated depreciation

 

249,952

 

242,590

Total property, plant and equipment, net

$

172,095

$

175,745

Schedule of Listing of Intangible Assets

March 31, 2024

Useful Lives 

Gross Carrying

Accumulated

 

    

Years

    

Amount

    

Amortization

 

Net

Amortizable intangible assets:

Customer relationships and contracts

9-17

$

96,040

$

54,266

$

41,774

Trade name

 

10

 

14,780

 

7,816

6,964

Non-compete agreements

 

5

 

8,800

 

8,800

Developed technology

7

4,900

525

4,375

Patents

 

19

 

24

 

14

10

Total intangible assets, net

 

$

124,544

 

$

71,421

$

53,123

December 31, 2023

Useful Lives 

Gross Carrying

Accumulated

 

    

Years

    

Amount

    

Amortization

 

Net

Amortizable intangible assets:

Customer relationships and contracts

9-17

$

96,040

$

53,078

$

42,962

Trade name

 

10

 

14,780

 

7,446

7,334

Non-compete agreements

 

5

 

8,800

 

8,800

Developed technology

7

4,900

350

4,550

Patents

 

19

 

24

 

14

10

Total intangible assets, net

 

$

124,544

 

$

69,688

$

54,856

Schedule of Changes In Intangible Assets

Balance as of December 31, 2023

    

$

58,667

Amortization expense

 

(1,733)

Balance as of March 31, 2024

$

56,934

Schedule of Future Amortization Expense

Year ending December 31, 

    

2024 (remainder)

$

5,200

2025

$

6,933

2026

$

6,933

2027

$

6,933

2028

$

6,877

Thereafter

$

20,247

XML 39 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases (Tables)
3 Months Ended
Mar. 31, 2024
Leases  
Summary of components of lease expense

Three Months Ended

March 31, 

    

2024

2023

Finance lease cost:

Amortization of finance lease assets

$

104

$

94

Interest on finance lease liabilities

8

 

11

Total finance lease expense

112

105

Operating lease expense

1,340

1,286

Short-term lease expense

152

139

Variable lease expense

52

 

69

Lease income (1)

(532)

(631)

Total lease expense

$

1,124

$

968

(1)The Company subleased a portion of its Hazel Park, MI facility starting in June 2022. Lease income for the three months ended March 31, 2024 and 2023 was $532 and $631, respectively.
Schedule of Supplemental cash flow information

Three Months Ended

March 31, 

2024

    

2023

Cash paid for amounts included in the measurement of lease liabilities for finance leases:

Operating cash flows

$

8

$

11

Financing cash flows

$

107

$

96

Cash paid for amounts included in the measurement of lease liabilities for operating leases:

Operating cash flows

$

1,481

$

1,425

 

 

Right-of-use assets obtained in exchange for recorded lease obligations:

Operating leases

$

134

$

Finance leases

$

1

$

XML 40 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair value of financial instruments (Tables)
3 Months Ended
Mar. 31, 2024
Fair value of financial instruments  
Schedule of financial assets and liabilities accounted for at fair value by fair value hierarchy

Balance at

Fair Value Measurements at

March 31, 

Report Date Using

    

2024

    

(Level 1)

    

(Level 2)

    

(Level 3)

Deferred compensation liability

$

4,421

$

4,421

$

$

Total

$

4,421

$

4,421

$

$

Balance at

Fair Value Measurements at

December 31, 

Report Date Using

    

2023

    

(Level 1)

    

(Level 2)

    

(Level 3)

Deferred compensation liability

$

4,105

$

4,105

$

$

Total

$

4,105

$

4,105

$

$

XML 41 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share  
Schedule of earnings per share

March 31, 

2024

2023

Net income attributable to MEC

$

3,241

$

2,571

Average shares outstanding

20,485,933

20,315,338

Basic income per share

$

0.16

$

0.13

Average shares outstanding

20,485,933

20,315,338

Effect of dilutive stock-based compensation

214,113

434,610

Total potential shares outstanding

20,700,046

20,749,948

Diluted income per share

$

0.16

$

0.12

XML 42 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition (Tables)
3 Months Ended
Mar. 31, 2024
Revenue Recognition  
Schedule of changes in contract assets and liabilities

Contract

Contract

    

Assets

    

Liabilities

As of December 31, 2023

$

5,457

$

3,635

Net activity

(225)

(538)

As of March 31, 2024

$

5,232

$

3,097

Schedule of disaggregation of revenue by product category and end market

Three Months Ended

March 31, 

Product Category

    

2024

    

2023

Outdoor sports

$

2,159

$

2,305

Fabrication

90,914

87,001

Performance structures

45,770

26,675

Tube

19,074

20,352

Tank

11,076

11,119

Total

168,993

147,452

Intercompany sales elimination

(7,724)

(4,807)

Total, net sales

$

161,269

$

142,645

Three Months Ended

March 31, 

End Market

2024

2023

Commercial vehicle

$

58,954

$

59,155

Construction & access

 

28,446

26,507

Powersports

 

30,291

24,098

Agriculture

 

14,958

14,451

Military

7,952

8,569

Other

20,668

9,866

Total, net sales

$

161,269

$

142,645

XML 43 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Concentration of major customers (Tables)
3 Months Ended
Mar. 31, 2024
Concentration of major customers  
Schedules of Major Customer Concentrations

Net Sales

Accounts Receivable

Three Months Ended

As of

As of

March 31, 

March 31, 

December 31, 

    

2024

    

2023

    

2024

    

2023

Customer

A

 

16.6

%

15.3

%  

11.8

%  

<10

%  

 

B

 

14.0

%

15.6

%  

11.6

%  

12.6

%  

 

C

 

<10

%

12.1

%  

<10

%  

<10

%  

 

D

 

<10

%

<10

%  

13.0

%  

12.7

%  

 

XML 44 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation (Tables)
3 Months Ended
Mar. 31, 2024
Stock-based compensation  
Summary of Stock-based Compensation Expenses

Three Months Ended

March 31, 

    

2024

    

2023

RSU awards

$

789

$

715

PSU awards

20

Option awards

 

348

 

351

Stock-based compensation expense, net of tax

$

1,157

$

1,066

Schedule of Unrecognized Stock-based Compensation Expense

    

RSUs

PSUs

    

Options

    

Total

Balance as of December 31, 2023

$

2,304

$

$

1,513

$

3,817

Grants

4,423

1,423

5,846

Forfeitures

(32)

(32)

Expense

(789)

(20)

(348)

(1,157)

Balance as of March 31, 2024

$

5,906

1,403

$

1,165

$

8,474

XML 45 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Common Equity (Tables)
3 Months Ended
Mar. 31, 2024
Common Equity  
Summary of changes in outstanding common shares

Shares

Outstanding

Shares as of December 31, 2022

20,172,746

Treasury stock purchases

(41,148)

Common stock issued (including stock-based compensation impact)

290,432

Balance as of March 31, 2023

20,422,030

Shares

Outstanding

Balance as of December 31, 2023

20,310,584

Treasury stock purchases

Common stock issued (including stock-based compensation impact)

155,932

Balance as of March 31, 2024

20,466,516

XML 46 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of presentation (Details)
3 Months Ended
Mar. 31, 2024
facility
segment
Basis Of Presentation [Line Items]  
Number of facilities operated | facility 23
Number Of Operating Segments | segment 1
Maximum [Member]  
Basis Of Presentation [Line Items]  
The length of the product redevelopment cycle. 5 years
Minimum [Member]  
Basis Of Presentation [Line Items]  
The length of the product redevelopment cycle. 3 years
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions (Details) - Mid-States Aluminum [Member]
$ in Thousands
Jun. 19, 2023
USD ($)
Business Acquisition [Line Items]  
Purchase price of the acquisition $ 95,945
Total net consideration $ 90,002
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions - Assets acquired, liabilities assumed (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Jul. 01, 2023
Business Acquisition [Line Items]      
Goodwill $ 92,650 $ 92,650  
Developed Technology Rights [Member]      
Business Acquisition [Line Items]      
Estimated useful life 7 years 7 years 7 years
Customer Relationships [Member]      
Business Acquisition [Line Items]      
Estimated useful life     17 years
Mid-States Aluminum [Member]      
Business Acquisition [Line Items]      
Cash     $ 324
Accounts receivable, net     7,381
Inventory     9,698
Property, plant and equipment     41,271
Other assets     291
Goodwill     21,115
Total assets acquired     102,680
Accounts payable     (2,386)
Accrued expenses     (1,509)
Other liabilities     (1,984)
Debt     (7,884)
Total consideration     88,917
Mid-States Aluminum [Member] | Developed Technology Rights [Member]      
Business Acquisition [Line Items]      
Intangibles     $ 4,900
Estimated useful life     7 years
Mid-States Aluminum [Member] | Customer Relationships [Member]      
Business Acquisition [Line Items]      
Intangibles     $ 17,700
Estimated useful life     17 years
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions - Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Jul. 01, 2023
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Business Acquisition [Line Items]        
Operating income   $ 7,631 $ 4,670  
Developed Technology Rights [Member]        
Business Acquisition [Line Items]        
Estimated useful life 7 years 7 years   7 years
Customer Relationships [Member]        
Business Acquisition [Line Items]        
Estimated useful life 17 years      
Mid-States Aluminum [Member]        
Business Acquisition [Line Items]        
Inventory fair value step-up $ 891      
Property, plant and equipment fair value step-up 21,157      
Purchase price adjustment       $ (1,084)
Mid-States Aluminum [Member] | Developed Technology Rights [Member]        
Business Acquisition [Line Items]        
Intangibles $ 4,900      
Estimated useful life 7 years      
Mid-States Aluminum [Member] | Customer Relationships [Member]        
Business Acquisition [Line Items]        
Intangibles $ 17,700      
Estimated useful life 17 years      
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions - Pro Forma Financial Information (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2023
USD ($)
Acquisitions  
Net sales $ 158,720
Net income $ 1,384
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Schedule of Inventories (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Select balance sheet data    
Finished goods and purchased parts $ 29,862 $ 31,489
Raw materials 25,238 25,929
Work-in-process 11,006 10,363
Total $ 66,106 $ 67,782
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Schedule of Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 422,047 $ 418,335
Less accumulated depreciation 249,952 242,590
Total property, plant and equipment, net 172,095 175,745
Land [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross 2,640 2,640
Land Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 4,378 4,378
Land Improvements [Member] | Minimum [Member]    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 15 years  
Land Improvements [Member] | Maximum    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 39 years  
Building and Building Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 81,558 79,682
Building and Building Improvements [Member] | Minimum [Member]    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 15 years  
Building and Building Improvements [Member] | Maximum    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 39 years  
Machinery, Equipment and Tooling [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 300,627 295,960
Machinery, Equipment and Tooling [Member] | Minimum [Member]    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 3 years  
Machinery, Equipment and Tooling [Member] | Maximum    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 10 years  
Vehicles [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 4,452 4,571
Property, plant and equipment useful lives 5 years  
Office Furniture and Fixtures [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 22,089 21,325
Office Furniture and Fixtures [Member] | Minimum [Member]    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 3 years  
Office Furniture and Fixtures [Member] | Maximum    
Property, Plant and Equipment [Line Items]    
Property, plant and equipment useful lives 7 years  
Construction in Progress [Member]    
Property, Plant and Equipment [Line Items]    
Total property, plant and equipment, gross $ 6,303 $ 9,779
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Select balance sheet data    
Depreciation $ 7,521 $ 6,142
Amortization expense $ 1,733 $ 1,738
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Schedule of Changes In Goodwill (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Select balance sheet data  
Change in goodwill carrying amount $ 0
Balance (beginning) 92,650
Balance (ending) $ 92,650
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Schedule of Listing of Intangible Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Jul. 01, 2023
Amortizable intangible assets [Abstract]      
Amortizable intangible assets, gross $ 124,544 $ 124,544  
Accumulated amortization 71,421 69,688  
Total amortizable intangible assets, net 53,123 54,856  
Total intangible assets, net 56,934 58,667  
Customer relationships and contracts [Member]      
Amortizable intangible assets [Abstract]      
Amortizable intangible assets, gross 96,040 96,040  
Accumulated amortization 54,266 53,078  
Total amortizable intangible assets, net $ 41,774 $ 42,962  
Trade name [Member]      
Amortizable intangible assets [Abstract]      
Intangible assets useful Lives 10 years 10 years  
Amortizable intangible assets, gross $ 14,780 $ 14,780  
Accumulated amortization 7,816 7,446  
Total amortizable intangible assets, net $ 6,964 $ 7,334  
Non-compete agreements [Member]      
Amortizable intangible assets [Abstract]      
Intangible assets useful Lives 5 years 5 years  
Amortizable intangible assets, gross $ 8,800 $ 8,800  
Accumulated amortization $ 8,800 $ 8,800  
Developed technology [Member]      
Amortizable intangible assets [Abstract]      
Intangible assets useful Lives 7 years 7 years 7 years
Amortizable intangible assets, gross $ 4,900 $ 4,900  
Accumulated amortization 525 350  
Total amortizable intangible assets, net $ 4,375 $ 4,550  
Patents [Member]      
Amortizable intangible assets [Abstract]      
Intangible assets useful Lives 19 years 19 years  
Amortizable intangible assets, gross $ 24 $ 24  
Accumulated amortization 14 14  
Total amortizable intangible assets, net 10 10  
Non-amortizable Brand Name [Member]      
Amortizable intangible assets [Abstract]      
Total intangible assets, net $ 3,811 $ 3,811  
Minimum [Member] | Customer relationships and contracts [Member]      
Amortizable intangible assets [Abstract]      
Intangible assets useful Lives 9 years 9 years  
Maximum | Customer relationships and contracts [Member]      
Amortizable intangible assets [Abstract]      
Intangible assets useful Lives 17 years 17 years  
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Schedule of Changes In Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Select balance sheet data    
Balance $ 58,667  
Amortization expense (1,733) $ (1,738)
Balance $ 56,934  
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Select balance sheet data - Schedule of Future Amortization Expense (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Select balance sheet data  
2024 (remainder) $ 5,200
2025 6,933
2026 6,933
2027 6,933
2028 6,877
Thereafter $ 20,247
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Credit Agreements (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Jun. 30, 2023
Jun. 28, 2023
Mar. 31, 2024
Dec. 31, 2023
Jun. 27, 2023
Line Of Credit Facility [Line Items]          
Revolving credit notes     $ 139,817 $ 147,493  
A&R Credit Agreement [Member]          
Line Of Credit Facility [Line Items]          
Minimum interest coverage ratio     3.00%    
Maximum consolidated leverage ratio 3.50%   4.00%    
Deferred financing costs     $ 1,248    
Interest rate at end of period     7.68% 7.71%  
A&R Credit Agreement [Member] | The Agent [Member]          
Line Of Credit Facility [Line Items]          
Credit agreement additional borrowing capacity through accordion feature   $ 100,000     $ 100,000
Line of credit facility additional borrowing capacity percentage through accordion feature   125.00%      
Line of credit facility additional borrowing capacity period through accordion feature   12 months      
Credit agreement maturity date   Jun. 28, 2028      
Second Amendment [Member]          
Line Of Credit Facility [Line Items]          
Minimum interest coverage ratio     3.00%    
Maximum consolidated leverage ratio     4.00%    
Consolidated leverage ratio     1.98%    
Interest coverage ratios     4.87%    
Revolving Credit Facility [Member]          
Line Of Credit Facility [Line Items]          
Revolving credit notes     $ 139,817 $ 147,493  
Revolving Credit Facility [Member] | A&R Credit Agreement [Member]          
Line Of Credit Facility [Line Items]          
Revolving commitments fee percentage     0.30% 0.30%  
Revolving Credit Facility [Member] | A&R Credit Agreement [Member] | The Agent [Member]          
Line Of Credit Facility [Line Items]          
Credit agreement borrowing capacity   $ 250,000     200,000
Letter of Credit Sub-facility [Member]          
Line Of Credit Facility [Line Items]          
Credit agreement borrowing capacity         5,000
Swingline Facility [Member] | A&R Credit Agreement [Member] | The Agent [Member]          
Line Of Credit Facility [Line Items]          
Credit agreement borrowing capacity   $ 25,000     $ 20,000
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Other Debt (Details) - MSA Acquisition - Fond du Lac Term Note
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Line Of Credit Facility [Line Items]  
Monthly installment $ 500
Interest rate (as a percent) 2.00%
Balance outstanding $ 2,375
Other liabilities current [Member]  
Line Of Credit Facility [Line Items]  
Short-term balance 500
Other liabilities non-current [Member]  
Line Of Credit Facility [Line Items]  
Long-term balance $ 1,875
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Components of lease expense (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
item
Mar. 31, 2023
USD ($)
Leases    
Amortization of finance lease assets $ 104 $ 94
Interest on finance lease liabilities 8 11
Total finance lease expense 112 105
Operating lease expense 1,340 1,286
Short-term lease expense 152 139
Variable lease expense 52 69
Lease income (532) (631)
Total lease expense $ 1,124 $ 968
Number of laser cutting systems under financing leases | item 2  
Number of vehicles under financing leases | item 4  
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Supplemental cash flow information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Leases    
Cash paid for amounts included in the measurement of lease liabilities for finance leases: Operating cash flows $ 8 $ 11
Cash paid for amounts included in the measurement of lease liabilities for finance leases: Financing cash flows 107 96
Cash paid for amounts included in the measurement of lease liabilities for operating leases: Operating cash flows 1,481 $ 1,425
Right-of-use assets obtained in exchange for recorded lease obligations: Operating leases 134  
Right-of-use assets obtained in exchange for recorded lease obligations: Finance leases $ 1  
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Employee stock ownership plan - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Jan. 01, 2023
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2022
Dec. 31, 2023
Employee stock ownership plan          
Distribution period 3 years     5 years  
Shares in ESOP   3,732,076     4,062,583
Employee Stock Option          
Employee stock ownership plan          
Employee stock ownership plan (ESOP), (income) expense   $ 0 $ 0    
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement plans - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Retirement plans    
Percentage of employee contribution of eligible compensation plan 50.00%  
Employer match percentage 50.00%  
Percent of employee contributions eligible for employer match 6.00%  
Employer match expense $ 1,053 $ 874
Profit sharing expense $ 0 $ 0
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income taxes - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Income taxes      
Income tax expense $ 1,034 $ 441  
Effective income tax rate 24.19% 14.65%  
Unrecognized tax benefits that would impact effective tax rate $ 805   $ 771
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and contingencies (Details)
Aug. 04, 2022
claim
Litigation  
Number of claims 2
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Deferred compensation - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Deferred compensation      
Description of deferred compensation arrangements The Mayville Engineering Company Deferred Compensation Plan is available for certain employees designated to be eligible to participate by the Company and approved by the Board of Directors.    
Deferred compensation arrangements 50.00%    
Annual short term cash incentive 100.00%    
Deferred compensation plan (Income) expense $ 3,800 $ 3,003  
Deferred compensation cash-based arrangements liability, Current 239   $ 289
Deferred compensation cash-based arrangements liability, Non current 4,182   $ 3,816
Deferred compensation, distributions paid 286 958  
Deferred Profit Sharing      
Deferred compensation      
Deferred compensation plan (Income) expense 237 560  
Employees      
Deferred compensation      
Deferred compensation plan (Income) expense $ 365 $ 236  
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Self-Funded insurance - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Self-Funded insurance      
Health care self-insurance expense $ 6,169 $ 4,634  
Estimated accrued liability $ 1,384   $ 1,018
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segments - Additional Information (Details)
3 Months Ended
Mar. 31, 2024
segment
Segments  
Number of operating segments 1
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair value of financial instruments - Assets and Liabilities at Fair Value (Details) - Fair Value, measurements, recurring - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Fair value of financial instruments    
Total $ 4,421 $ 4,105
Fair Value, Inputs, Level 1    
Fair value of financial instruments    
Total 4,421 4,105
Deferred compensation liability    
Fair value of financial instruments    
Total 4,421 4,105
Deferred compensation liability | Fair Value, Inputs, Level 1    
Fair value of financial instruments    
Total $ 4,421 $ 4,105
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Earnings Per Share, Basic [Abstract]    
Net Income (Loss) $ 3,241 $ 2,571
Average shares outstanding 20,485,933 20,315,338
Basic income per share $ 0.16 $ 0.13
Earnings Per Share, Diluted, Other Disclosures [Abstract]    
Average shares outstanding 20,485,933 20,315,338
Effect of dilutive stock-based compensation 214,113 434,610
Total potential shares outstanding 20,700,046 20,749,948
Diluted income per share $ 0.16 $ 0.12
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Share - Antidilutive Securities (Details) - shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Stock Options    
Earnings Per Share    
Antidilutive securities excluded from computation of diluted earnings per share 0 0
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition - Schedule of Changes in Contract Assets and Liabilities (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Revenue Recognition  
Contract asset, beginning balance $ 5,457
Net activity (225)
Contract asset, ending balance 5,232
Contract liability, beginning balance 3,635
Net activity (538)
Contract liability, ending balance $ 3,097
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition - Schedule of Disaggregation of Revenue by Product Category (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenue Recognition    
Total, net sales $ 161,269 $ 142,645
Operating segments    
Revenue Recognition    
Total, net sales 168,993 147,452
Intercompany sales elimination    
Revenue Recognition    
Total, net sales (7,724) (4,807)
Outdoor sports    
Revenue Recognition    
Total, net sales 2,159 2,305
Fabrication    
Revenue Recognition    
Total, net sales 90,914 87,001
Performance structures    
Revenue Recognition    
Total, net sales 45,770 26,675
Tube    
Revenue Recognition    
Total, net sales 19,074 20,352
Tank    
Revenue Recognition    
Total, net sales $ 11,076 $ 11,119
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition - Schedule of Disaggregation of Revenue by End Market (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenue Recognition    
Total, net sales $ 161,269 $ 142,645
Commercial vehicle    
Revenue Recognition    
Total, net sales 58,954 59,155
Construction & access    
Revenue Recognition    
Total, net sales 28,446 26,507
Powersports    
Revenue Recognition    
Total, net sales 30,291 24,098
Agriculture    
Revenue Recognition    
Total, net sales 14,958 14,451
Military    
Revenue Recognition    
Total, net sales 7,952 8,569
Other    
Revenue Recognition    
Total, net sales $ 20,668 $ 9,866
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Concentration of major customers - Schedule of Major Customer Concentrations (Details) - Customer Concentration Risk
3 Months Ended 12 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Customer A | Net Sales      
Concentration Risk [Line Items]      
Concentration risk percentage 16.60% 15.30%  
Customer A | Accounts Receivable      
Concentration Risk [Line Items]      
Concentration risk percentage 11.80%    
Concentration risk percentage     <10
Customer B | Net Sales      
Concentration Risk [Line Items]      
Concentration risk percentage 14.00% 15.60%  
Customer B | Accounts Receivable      
Concentration Risk [Line Items]      
Concentration risk percentage 11.60%   12.60%
Customer C | Net Sales      
Concentration Risk [Line Items]      
Concentration risk percentage   12.10%  
Concentration risk percentage <10    
Customer C | Accounts Receivable      
Concentration Risk [Line Items]      
Concentration risk percentage <10   <10
Customer D | Net Sales      
Concentration Risk [Line Items]      
Concentration risk percentage <10 <10  
Customer D | Accounts Receivable      
Concentration Risk [Line Items]      
Concentration risk percentage 13.00%   12.70%
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Additional Information (Details) - $ / shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Apr. 20, 2021
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Options, issued and outstanding number 1,222,302    
Options, issued and outstanding weighted average exercise price $ 11.36    
Weighted average contractual life remaining 7 years 4 months 24 days    
Unrecognized stock-based compensation recognition period Mar. 15, 2027    
2019 Omnibus Incentive Plan      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Payments based on the value of its common stock 2,000,000    
Number of shares authorized     2,500,000
RSU awards      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of units, vested 154,372 132,433  
Employee Stock Option      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Options vested (in shares) 206,524 197,597  
Weighted average strike price $ 13.54 $ 11.65  
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Summary of Stock-based Compensation Expenses (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]    
Stock based compensation expense, net of tax $ 1,157 $ 1,066
Unit awards    
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]    
Stock based compensation expense, net of tax 789 715
Option awards    
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]    
Stock based compensation expense, net of tax 348 $ 351
PSU awards    
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]    
Stock based compensation expense, net of tax $ 20  
XML 78 R68.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Schedule of Unrecognized Stock-based Compensation Expense (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]  
Beginning Balance $ 3,817
Grants 5,846
Forfeitures (32)
Expense (1,157)
Ending Balance 8,474
RSU  
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]  
Beginning Balance 2,304
Grants 4,423
Forfeitures (32)
Expense (789)
Ending Balance 5,906
PSU  
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]  
Beginning Balance 0
Grants 1,423
Expense (20)
Ending Balance 1,403
Stock Options  
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]  
Beginning Balance 1,513
Expense (348)
Ending Balance $ 1,165
XML 79 R69.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Common Equity (Details) - shares
Mar. 31, 2024
Dec. 31, 2023
Common Equity    
Common shares, shares authorized 75,000,000 75,000,000
XML 80 R70.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Common Equity - Changes in outstanding common shares (Details) - Common Stock [Member] - shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Beginning balance 20,310,584 20,172,746
Treasury stock purchases   (41,148)
Common stock issued (including stock-based compensation impact) 155,932 290,432
Ending balance 20,466,516 20,422,030
XML 81 R71.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net Income (Loss) $ 3,241 $ 2,571
XML 82 R72.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 83 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -)CJ%@'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 " #28ZA88):'6>X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)O)VVU2.CVHGA2$%Q0O(5D=C?8_"$9:??M3>MN%]$'\)B97[[Y M!J9302@?\3GZ@)$,IJO)#BX)%3;L0!0$0%('M#*5.>%R<^>CE92?<0]!J@^Y M1Z@Y;\$B22U)P@PLPDID?:>54!$E^7C":[7BPV<<%IA6@ -:=)2@*BM@_3PQ M'*>A@PM@AA%&F[X+J%?B4OT3NW2 G9)3,FMJ',=R;)9?)K\W=_?:!]36OKPM^4_#;;=6*AHNJ?9]=?_A=A*W79F?^ ML?%9L._@UUWT7U!+ P04 " #28ZA8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M -)CJ%ATKQ2'WP4 -L? 8 >&PO=V]R:W-H965T&UL MM9EK;Z-&%(;_RLB5JE:* PR^9>M82MRDM;K9]<9I5]MO$QC;*,"XPV#'_[YG MP 8G'0X4K;_8W,[+O'-].#/>"?F2K#E7Y#4*X^2ZLU9J\\&R$F_-(Y92)&D4,;F_ MY:'877>I MZ^J [(F_ KY+3HZ)MO(LQ(L^F?G7'5N7B(?<4UJ"P=^63WD8:B4HQS\'T4[Q M3AUX>GQ4O\_,@YEGEO"I"+\&OEI?=T8=XO,E2T/U*':_\X.AOM;S1)ADOV27 M/]OK=8B7)DI$AV H013$^3][/53$28#;KPB@AP#Z+L!Q*P+<0T!6LLS6 MKTRQR5B*'9'Z:5#3!UG=9-'@)HAU,RZ4A+L!Q*G)K\)+H5448;%/[F(5J#V9 MQ7GWT-7<)P;:?KCD97QM9#0UN:NRK,734Q]\A70:*@ M 17YQ")C'\5U8*K?!B'4T%V\@EO0Y>,5F8IHP^+]15[:6>Q=FNRCPBWM.W:Y M&-M-*@ *)R1TVFPEN2 +!2.5" D6TEC)/?S[QEJI4?\Z,SG&@]I:/N$/IXGE M)_9*9CZ,W& 9>#EZ5'?O&DGWJFM?]7I#>F7TBP:W]4M+O[2)WQO?!_7DXGA M/L)SY'-L;E=R,W%0C]Q"$.Y:^<.-VM5J"DH.CSGNKQ5">2[$-8L_16AT6\-2=U.CK7. $BU!B>(HBA/+L;.N.716K U;YHKPN+;V2NJAC=)%;Y%ED67TR>=4 :/'&@^, MCK\3N!SJ(5?K9VIZ;VD[H7:?#H:CX=C:FCR6B$,;98VFL%Y(0-A9[/-7\@[AH7$5JQ*JRU'A86X\E^+@XIKSW>,C+5[O$Y;Z8 MV_$[)#5P H8]'.3(3/.,34"E;,J'O=_C5DGVZ=Z5<]VE1/BZ6QKOI-: M7"UVKF^R_5JK?#S?]GY@&@H2$O(EA-J70YCP9+Z3G)\HL< M^5SJ!^#^4@AU/-$O*/;S)_\"4$L#!!0 ( -)CJ%C88&PO=V]R:W-H965T&ULK9EM;]LV$,>_"N$5>P"<6B3U MV"4&\K0U0+=V<;IA+VF)MH5*HD?13K-/OZ.L2K9(,2G6%VTD^7CZ'WGD[TB= M/PKYJ=YPKM#GLJCJB\E&J>V;V:Q.-[QD]6NQY17\LA*R9 INY7I6;R5G6=.H M+&;$\\)9R?)J,C]OGGV0\W.Q4T5>\0\2U;NR9/+IBA?B\6*")U\>W.?KC=(/ M9O/S+5OS!5\JK.184D7UU,+O&;:QKH!HW%GSE_K(^ND0YE M*<0G?7.774P\K8@7/%7:!8,_>W[-BT)[ AW_M$XGW3MUP^/K+]Y_:8*'8):L MYM>B^"O/U.9B$D]0QE=L5ZA[\?B6MP$U E-1U,W_Z+&U]28HW=5*E&UC4%#F MU>$O^]QVQ%$#[(\T(&T#\M(&M&U FT /RIJP;IAB\W,I'I'4UN!-7S1]T[2& M:/)*#^-"2?@UAW9J?BVJ# :%9PBN:E'D&5-P<\4*5J4<+;3C&IVACXL;]..K MG] KE%?H82-V-:NR^GRF0(/V-$O;]UT=WD=&WO<;DZ\1Q5-$/.);FE^[F]_P MM&M.3YO/(/(N?-*%3QI_=,3?Y6)Q^["PA7%HY]O;ZU;P2ED'[^ J;%SI M%6 _IQB&:7\P M#^J"HY BCU(\"-RT"B+?#^RA!UWH@3/TNVH/@R%DWH9NDQ<8+PY#[(4#>1:K M*(I'1B;LY(5.>0\"UH1JK6?]5HHUI*!3)BE8O'UN@ MN!K-U<34$A$O"0:2;68PFT8F$_9ZG'E.T;\*D3WF16$EDV>\-"%AX VD/6MV M*NV(M/B9F:Y8M>%J-9GBLO2)92:^18F MAD[3BD3^F,P>;MA-M\-L=X@SP>(G2>(-^6.U"P$%(P)[!.' 606]N[N\NGMW M]W!WNT"7O]^@Q=O+^]NW[]_=W-XO?D"W?WR\>_C;*MR)MJ\MDKZ5M]-.Z$&' MW:2[_%)7;-F3KD2L =L0=LRP-A+3S \#$HZ,4\\Z[(;==0N,K9#-'@@J(#&8 MJV)9Y&NF?[7J-V$6>-A8 &U6H3^BOF<>CMVU=IK*'>PMBIPM\R)74/&\L8IT MLO.KL^H;>3L-NF2GQSM,]U,/:WXGM-J\C)*L#\L^VQF M./*2$:T]5HD;JU>L^H0DWXMBKQ,@E3R#?*B$&E%K82M-8CQ<%6UV?N0G(WPE M/5^)FZ_#>J5? Z?PI*Z[;B^9VLGQ7C?Q2J+ V,78S.+0&UG<20]AXMX(WO 5 M!YFP3Q>EWLO8 F@7?JMZ<_OGX]@0;UK1&(]I[]E)W.SLM.<5J.=Z8>MR_,FJ MUB0D)K%OI(S-;+RO>Y 2-TB'A>-S\]$$(J'^$)LV*S\8R^X>F^0E>\7G%)I; M0-BRQ.%PRV"U"\-X3&7/.>+FW+4HRUSIG>%A"YZ*2L](7J6@&/U8 MI_\AME,;(?-_>39%A,"C9.I[2=L.Y76M2R3[D1;!TSB@4S^*7GRPY1;]%1W[ M#1R==FQ/>>JF_&4&](%%#R:!/NDYRZNSE&USF!36@$U^$R_$R;!VLMH%-!J9 M"+0'/76#_IXK!H\RQ)FL8 ;8CUDM&^*(!LE0I,7,QWBDPJ-')\)NP#](X.1. M/GW).LBF5-1JBO T\,DT3NC1+Y9$?%GJF;@_2P(\++B>-3N-L2\*Z$LVW4T8 M&U%D7-8_-*=7=AY1"]1AA:=#(-GL2))$8T/2TY^ZZ=_(M2H+C.-VZ^& U>CI5!*E,WEAC/H4&T MOZ\$K.OMC?XBU7V!G/\'4$L#!!0 ( -)CJ%BF%K,EP ( -H' 8 M>&PO=V]R:W-H965T&ULK95O;]HP$,:_BI554RMU37^#S>2O6@"P!# M'DLN],0IC%E?NJ[."BBIOI!K$/AD*55)#4[5RM5K!32O125W?<^+W9(RX:3C M^MY,I6-9&6#G7S+)XYG@8!#9JP#QZ8RX)JF$K^D^6FF#A#A^2PI!4WMW+[%=I\ M(NN72:[K?[)M8I.10[)*&UFV8B0HF6BN]+&MPXY@$+XB\%N!_U9!T J".M&& MK$[KAAJ:CI7<$F6CTIS(B194T4VE%?01QF^(/ .&(]%[!%&'6'T'L+F2FAE"JG8 M;\C[,!O': +C(3(*O<-OH"=P M,(R",$GZB9...#E*?(?GEZ[4$\%VF3T0:D@FM>E#35X0#*+0'XZ" ]*_QS6@ M[D[GM:<>MK,5$YIP6*+2NTC00C4G23,QWOW7&>_@%02P,$% @ TF.H6/G)@M]@ M6=?7M$5;1"71(VD[VZ??D9)E6Z*T%,B;6 ]WIQ]/Q_OK,CL*^4WEC>4A:5 MFGNYUKL[WU?KG)54W8H=J^#.1LB2:CB56U_M)*.9=2H+/\ X\4O**V\QL]>> MY&(F]KK@%7N22.W+DLI_'E@ACG./>*<+G_DVU^:"OYCMZ)8],_UE]R3AS&^C M9+QDE>*B0I)MYMX]N5N2J7&P%G]Q=E07Q\@L927$-W/R,9M[V!"Q@JVU"4'A MY\"6K"A,).#XNPGJM<\TCI?'I^B_VL7#8E94L:4HOO),YW-OXJ&,;>B^T)_% M\3?6+"@V\=:B4/8O.C:VV$/KO=*B;)R!H.15_4M?FD1<.$ MH3]SL5>TRM3,U\!EHOOKAN&A9@@&&$+T250Z5^@#L&37_CZLIUU4<%K40S : M\!.5MR@D-RC 0>3@6;[>/1S!"=L^-8Y=J6R?E3D?I39]'=J1]=L[D$T MQ>2!>8L??R )_L65AS<*=I65J,U*-!9]\3OT*$4+YBR8VC6QKJ83'18D(4$R MG?F'2WZ'610D4=R:79'%+5D\2K842IM7,DA7N\=7C\5AF'3H'&9!$B03-UW2 MTB6C=/>ED)K_2VT7!$I>:5IM^:I@B"K%M),XZ:.D8=CA=1H-T*8M;3I*^R3% MAL.+SJGDU?8&K42U5TS=(&@5IMTR*6$K0+&#+BF[)A=^VB,+)QAW\!U&&(=N M_$F+/QG%_T/G#$0/5,;2;UG%)"TL/,V@'7.E)35"A-B+68&[7B8]LC3MU7+? M*)DFB1M_VN)/1_&;5KV1HD2@_-(FV(DX[2,F(>D@]HVB),5N1(+/"H3_!U(S M:"_ZE$*G@.#>H]^'8=S=<2XSDL0#-4PN1)*\)H\K!M]-#&GZXG[/392K! 5I MW(7L6X68! .,P9DQ> TCP(TF,NAO49@.M MKQ2/#RI>$_6RRX=!U*U-AU40IT/,9Y$BT:AV?Z"R@JVOT,[T >AB[,[).*IU MWRO+;Q7M>LUG^2/C^O= %5\[5UG[I1DMPF=5@.-F)QECXSKWB,O]KK[ M>=AP):_BH,%N65TE\$VWUPJ4.8/J<9?,J'!^ M=\F\4;3K))QEDHSKY'#)]&4MP-$DGO:^/IR6(8G#H4\0 M.4P]7L.(LN650@7;0$A\FP*6K"?6^D2+G1WZ5D+#"&D/T_S=8_ =02P,$% @ TF.H6$NI4+H!" OR, !@ !X;"]W;W)K MS^;Q$"N(68=0\O[Z]\XH0DD8[==]4FK;8"Q\[4],Y^QD[-'J1[RI1": M/*W2+#_O++5>G_9Z>;04*YY_DFN1P2]SJ59UZ.5K)7A<-%JE/>IY86_% MDZPS/BN^NU7C,[G1:9*)6T7RS6K%U>ZS2.7C>="_]T$@2F06'Q/1&/^<$U,4.92?E@/ES% MYQW/*!*IB+3I@L.?K9B(-#4]@8X?^TX[U3U-P\/KY]XOB\'#8&8\%Q.9_I/$ M>GG>&79(+.9\D^H[^?BGV ^H;_J+9)H7_Y/'O:W7(=$FUW*U;PP*5DE6_N5/ M^XDX: #]X WHO@%M-@@L#=B^ 2L&6BHKAO6%:SX^4_*1*&,-O9F+8FZ*UC": M)#/+.-4*?DV@G1Y/9!;#HHB8P%4NTR3F&CY,-?R!U=(YD7,RX?F27,**YZ1+ M_IY^(2>_?B"_DB0C]TNYR7D6YV<]#6I,G[UH?^?/Y9VIYRB_;43[@]KH2%:_DM5WKLM%_"^$5>G;6D(JBF06):D@6:77?&\^ M1<;OUTIN$_!0,MN1DXV)E"3[0""/*JZ3;%$FHD0G(C_%QME_S^5\I\Z.YBVL MYBUT+N<7 9U&"3?9%QMHV;I_L%:#/FTN:-LH] .*+^B@$C9P"KM82:63_UJ% M#5KW] >,-82A1D-)Y :\#],Z;,GH M^F%#:MN&#G"AHTKHR"GT*MM".$BU(^(I$GE.(*,3.0,:^OVF3,QJ:/.(FI"^&Y$W>BD4R9[%\AI-J-2@ MG3U'3:%MFZ%M-FMB^FYD3I8\6XC<%'P'W,MSHPDX#? @<"C+? I8)UXB@CK9"$V.FYUDD MUDCTW4R\56+-DWC/PB).HPWD/9.<"\]'!2,P]$>M&,5H:!%,:QQ2-PXKOUSS MG*ZR^1/NF[1-+J!T7HRQO!-VZET$&TT09562L?(&;=T LL$*0U!.D+$&SL MYZ^NOW^=OF(_3]\5?N_5V_$DU/"C;OC=;E2T+,+B)VI6BJ".#@:M!<3, L]2 MN-(:B-0-Q%LE(R$@H\^57!$HO']R% @XO58*18SZ-A>LL4G=V*P":1\[\&\K M\M>$#L)(&H:M+(69T;XM =0LI:,WA<[EU?7%]>05H>-$])M#YYUZ.SX-K/G, MW'P^=K\9SQZ@@MS*=&N6+P(L)AIV AI?0(;M6T>LWSQ?P>T&MG*(U>QF;G;? M\MW^.#A[LW9L'TH''FWN!5%#WV.A37T-=>:&^AW4]1,5YB5=6O(#DZ/W62?+CEX(7E,]'(ITK@X0A*K=2IW0N3_L==. M#(%X.&RB'K4*+<43JTG/W*0_]))YDA5G7T49A4M%2-U.I9C5R#:]-9@=# M<#QDK1,2Q&Q(1Y:#259#F[FAO7^(H(I:_"06Y=4' [_RR 1P75P89F^!Z9:S M$]8&DD7).96"199E;!U")")3)&Y;?)#!NWIOJV MD6\[&F8UO)E[(^R4+\SFV"F\O==E?M 4CFR(J27$@QJX@>>L.J:;]3HM'F+R MU!RV1JG,-ZJ([V(H\Q1Z3++R43@$.GIT%3BA_M82Y+UZ.YZ1&N*!&^+%4II3 MC8(F20;T@_(1'39RO.R-FNN&6,'>U[)N-:P#-ZR/55I!%[2YVPP(]XU^=KIK MA >O/(1N[C%^XZOU[_4NXZ-YV(@.D;6>?_IAOWF"&"!GTWT66);AX.GM"[OV M9_6!YY\\?""1S+1*9IOB$0O$D#:9>*-V)2Q1^N(&?G4-C,H4OO MTP!F7I5OBY0?M%P7+US,I-9R55PN!8^%,@;P^UQ"J;S_8&Y0O;,S_A]02P,$ M% @ TF.H6!CL:=!3! D1( !@ !X;"]W;W)K:O=R1C^YEA&V\O[NEC*M4+R)O+;=L6A9]8H";F?') MOHUL5SF4%M\IV8NC-E)4'AA[4IV_DYEAJ8A(1F*I(# \GLF"9)E"@CA^5J!& M/:9R/&Z_H7\NR0.9!RS(@F4_:"+3F3$V4$(V>)?)>[;_BU2$?(47LTR4OVA? MV5H&BG="LKQRA@AR6AR>^*42XLC!#4XX.)6#TW)P_!,.;N7@MAW"$PY>Y>"U M'$![O8-?.934S0/W4K@EEG@^Y6R/N+(&--4HU2^]02]:J(6REAS^I> GYPM6 M)##M)$'0$BRC"9;064MXP'J0 K$-6J>8DY1E">'B#Q3]W%'YBD;HVWJ)KCY< MHP^(%NAKRG8"%XF8FA+B4NAF7,5P=XC!.1'#IR2A:M7@#*TP34:T&"WPEDKH M__N%Y ^$_Z0T*9>/[4?#Y6MFLVFKB^T[1::L ")_2:5I'&R@['05B;-?B[-7^W ME_\_D$)I$;.KVZK'8]3R*MJ5\NW'0)))G[2"=B+=:Z 7H?. M* A:G)>7'#$:&+$AH%\+Z/<*Z%GVU=,UBEDA.7W8J;2E4ZX7Y%SE?,U"L*R6 M[<'7E) ML&@@_(9\82U?V"M?5"3M=/\%\SK=NSH9P^XT6HYEMS;=HFLV"GW;;2TP#=AX MW"X=D<;*<5W/U9,?U^3'OUCNM/S'&OZ^&[:8+;IFHTF7?]?*]6Q[W.*O&=*9 M3,*QGO^DYC_Y]7+7"W%NSKDDV'+2E<[QVN5NP*BAFVV]'V^M7N7NB8!$':LS M;5GFT*Z@<*@M0%!5 O$+G+=EJLZVL+JT1U>KNSI\IW7*6?1'<:Y>%T6+AA@T ME3VZ.-C#^1RQK#[&=[N M/\2?4Q$KJ$8$MA^V->P=\&P-+XD6#3%HBOA^$;#[;P(#=='3BNEJ[D&!/6D7 M1HV=KC)HS*#(^)-6@M.-ZGJ6VY; /+K-JX\U0 >JGT 9V8"C=1."A/SP_>/0 MD6Q;7O ?F)0L+YLIP7!95P;P_X8Q^=91WPSJKU#S_P%02P,$% @ TF.H M6+%"_D')" -!< !@ !X;"]W;W)K&.KUW_DM8$T7UK2QL.!NL8ZQ>C\37\>E-G9P?BK/KOWYJ:MC82Q=>Q7JLM3^X8(* M=W\V.!RT#V[,:AWYP?C\M-(KFE.\K:X][L:=EMR49(-Q5GE:G@UFAZ\OCGF] M+/BWH?O0NU9LR<*Y+WSS(3\;3!@0%91%UJ#Q75!2L"#"^-CH'W98LV+]N MM;\7VV'+0@>Z=,4?)H_KL\&K@LBWKC[?U!CSTO6E[DBR']UG]9.IP.5 MU2&ZLA$&@M+8]*N_-7[H";R:/"$P;02F@CMM)"C?ZJC/3[V[5YY70QM?B*DB M#7#&.M@5P\O]#!!.66"B$-9*-F7YV.(U3S@G'6J+E(:J9/J#E25\[& M=5#O;$[YMOP8D#IB;ZCG[4SJ3G> MK89+Y'6H=$9G U'D[VAP_N*7PU\G;YX!>=R!/'Y.^U\'^;R:*_UP9XJ"$(P5 M7I$W=J4N75EI^S!4'VPV4MKF:EXO@LF-]H:"^N@B_D>G;JVN;'[XW5-C.Z4', )!1H#&K/6!77K@Y0'!1]RZB**JRU)Z5+5V/)4%7D MFT=0I(?J@;0/@L2SH6%?[=7MYOL"2!V.U$Z?J,]K4L9&F%:J^O]"#(U_T4^A M[Z>]JW>70YA*FX7W-%2N]D-50RM,-*4IM%< 5\*F!C9@K FFK_4=J061Y1<5 MG)'##G!3YGP.D(3RCVO1S\_@.,94 5EFJ@+[K\B2UT7QP._AY"3/ZV^M^$!, M%/-F)2S*M-K[?3:[WA=31+FQ(?I:2%$BSNRF#B<'_Y(E,Q]-!I\<3EC'#:WJ M(KE\?O"?$?O]@;F8254!AM+YGR"IY-+[M%"#1#*\A*.(@);U'E2N+$I;/+TN33AP/;@95WZPQ.N M-%$L1JL7-?>4:(Q[JHZ4#G[&60 M1[U$/=9"T; Z@@49U9T1=:"0&@4=:MCH2&F(B.8PG&@&\0=92!2G*ACW-- M^N[A0%27E)NZ/,CK^,"JH4B">T=K)O,PE%)L65^]T&7U1AI(0-2_UJ9*O%PA MTWS@C(2$7L%&L&_-?(Z69B*7#&_FN%;[H$;(WMHVY7#XV_%+609X^=<:L:*& MOJY,<:_K+P1]?X +@[)M$HY?EA0!M6_!6D?Q1!T:ME<+[S1/1W8E M6?UWQ5L7.P/>% N\< -"AEVS#4%<;Q/$![LA[438S$X;TNE)@G]LKCVZ\X7# MC]I[/YM?[(,M0@TW[%QX6S&)J;W9_'9?U!],?L.\5C(?- "0#IC?$&?U67]3 M;WN=%X9BB<1\I_)+EPOWB^.PQ>6^.CF>#'OJJ,D#T2,!EH804[/"SF37TJ/9 M9IDDN(';#+YV=%;WI\@,!,B*TW!XU@AG(ZU M,C.Q;SPQRR&&FSEDHX>EMR(++9=P)^JD$"6P>]D42LD?++0"OS . M+57*=8A)I<#0@P1L=:;<>\JT[\UX LOCV+5.1 ^\)QZ$0U^R'ZET=DGA%NGM M:*!O5-RATTF(2G='S>PK,"7!$-H.7];.F1MG,&M8IPH'HO!2^G!J(L@0T9@M M(2Q<=^+/@N[@-,Q!\]NV>CB#:;ELV([=OL1V$$AGM 6!6*VT06YAF]H^?)D. MZ. +_<#CH1:ZEL"VY(D,E6WCUB/IASS:!-D.V_!#GBNZ;&QYEK'Q,)!(E5U3 M86)$W#A"6(*3B(P_6+>J31J/7415(J..@SD\GW[-,&N#T M B>F>4/W3['-_%)-7X%)VG5)E%_]@$\:1H /N[W:UM++LV&/$EHN:9@HW\K' ME,G](;?5UF1B>+Y^6GIKA\V-[G[.<@_",=@LT:",S^H23I?S%5*W.2C:5'U8 MH.TFOTOT(#[K=JA*TKU"2+W;JAS>'R+I[)9NKG.?81(2$)" 2P M6E9__3V[("A*HIVT]R4606"Q[_OL,J_7UGWU2Z6">%B5QK\9+$.H7IZ>^GRI M5M*?V$H9O)E;MY(!CVYQZBNG9,&'5N7I>#A\<;J2V@RN7O/:)W?UVM:AU$9] MJM.LW@]$@+?RF%\M "Z=7KRNY4'KM>_\%B3)S-JO]/"A>#,8$D.J5'D@"A)_[M6-*DLB M!#;^;&@.VBOI8/=WHOX3RPY99M*K&UO^H8NP?#.8#D2AYK(NPV]V_6_5R'-. M]');>OY7K./>T60@\MH'NVH.@X.5-O&O?&CTT#DP'3YR8-P<&#/?\2+F\IT, M\NJULVOA:#>HT0\6E4^#.6W(*'?!X:W&N7!UG?]9:Z])0_[U:0!%6C_-F]-O MX^GQ(ZY$3$:9& _'9T_0F[3B M39C>Y!^*%T^?]9^F@'CI*YFK-P-XO%?N7@VN?OQA]&+XZ@G>SEK>SIZB_DW> MGC[]BPU*C$]$AXKXU8B?ZW(CHOXFF0A+)6[LJI)F(W+\+550A=#!(QJVQ^Q< MW.KB^"[(H+RX+FOX6;T2SV[OKI^?B-]!H[M[+3UH&8YBID:AE5M72),K>&]8 MBJ#<"E>8@C8644*ZA=C)E0O(%>*ST4%\JEV^1$R)ZX53"K$>,E$P5"%\KG3L^@[[,=GXL1-HKZ)>WI8X^\A-SJ"$5NR[+>R(^VCSYY4\X)XI:?)1Y)O[XD+'F M->F$K <5N8TH4*0'%WE9T_6D$[V A959 M(-"58Y:DL87^BUXS;6VT7\87WJO5K-PTULV_R@6[T'ZL*B-G)>ZY?7]#>O0J MAQPDO@S!Q8*(/:2&RD)HCE[HK:12=KSFBB;(L1R4[+O"96*]U"5%EKW7+ "Q MK^=X#3(&Q3AWUOMCE-^2G;FJK LU8EZ#'4X2,XM_:"?)H!XT?)ABA_4+937" M+. Y"W+MO6#&3S%3"I*496-P",BN"MVD!.<:?RRUG.DR7H[W]0KK5,L+8=G5 MM -956K8%,BDC2>R)U[=P]IT,!R$ OEA9'0_!-4#[.L/4A"WP/'R?B5AI<1[$*S_H*M78=)ZDB M\LN6JF(LK9>P=:&HLB ,FBJPJZ_O-#Q+[U7GKAB%*A.S&O&* #$V"#)/5"U* MDO8Y)W_*"4CV\'JJ%&2QFC(#F\K+LO<=97Y^IK(AYD#!V%5[-:]+7')/9R@: MHT,U%SB[D244[UI=+)!OH7I>2!*LE/2XP3//K3MW]?E1W:M23"!A54,US[R* M656,)L]92CNC7-3X#.L4T/PKI(D^,K=P,<[S(>[!70F_M\5F5^U9;["1"%QZ M2 >[]8>+$Q592LY%39F/R_U+K@G#R:OO_ONI$U1I[7T;7&GE5W@XW?%6EHQ8 MTOKG:)+T>,(SO?BHYP@>DN-(3,9G!UQ\BL, MYI+%TN+XLH^;_03R+>6_(U<#:X@8E2^-+>UB*\I9=CD<;A4@_JLDRN%-D^MC M7:0P7^IJ>]/H(KOHG!JE8_]JTMA6@%$V&IUW>$=7AB0!-_^=,<]^8F@I#L?9 MB^GP<0M68X;:.1S6%LVE!M8XP75]IXM*?+RD7L)XC M6&^S'*?!6.Z0"J@&YM8''^%'69+;UI1%')*797A"*0?PA7- P@MJCJ<0D]"V MKB#7H=EN>@XJ5XGS3B'P057'=<6P=@K/IO@@P1#;P$N-A1)*G9>1:= C+NE0 MY#_"@L> YQ9NT@DJI&A :% !./7!H-%2*9$1D; $^!6KV"A'C'RG*A"8P0 M43W%Y/G%"?P6N@%&C[C ?(.8C@S6(98RU!K 5 :CU/Y2C<..%D1M-="6TWD+ MP" #>229)$&/+NIA6 [.T+?B_%&3:UJ ?Y"4#A$50Z%.\W7 !6)NPPF+9#R* M*1#+15^B_ ?D&^J]K>X^*/9;LH2;$U18M5B,VZ^+5]SM*A3I%J]HPXB%9;!U MV#Y$3Z,X1AH^TNH$TC#;@9_H8'J%MD3 SI*("[;MD M^JV"GGF%-*'_BN[5!'?;9K6R'VI7^ZWQ'W6T@QPAN[?!!!VZV_[^_\PZ4A&H(\H!'Q M$/K[OX']7XFE78,I%R7NCYK8S+M=#4,A:TJJ4*>!;DDE+ '3,8H MFJ&4^B_8HG9=T^SV.2PZS1 (J_"4R7,YV%],C0K2OUKYKIL?3)ZV Z"LXZ4^ M3JU69MNX=72WKS*:G2AX!%M)/E"9N&9EOX.XL7CU#AJ3T$6CFY[!6,M>K+SF M2VWBD+[M+WN517[P/>U&MNOX'0$31SI6:?+?5OLGXDZ3\U-Q[0LNOS=_8R%2 M,.YZTFPCGAV-LB&!M.\S4XP=.Y^#57;RCHXH&D$7M5P#PG3H]3?T-!IIDUNO M(.U,,SH2(CGFMR:MY(HG.L )!_CS33Q?CK6*;2] MC7\KZSVG=T77$FAR"L<)G/+3>< @T<_'NC*?)A8V(^\'!INMY>1 :29IM42RZ(#2A M!-QL:8V&:3U9ISM^=U'WCP/7[! :/#F.XZ2L:$K>!UID$;^9P'OH$P,25BSZ M$+XV!_/XK$ULE,TT5)Z'[01N1XO7+>%4\_LUFNJ,L>;8TYD6XG3QE9/& MRYB[8Y^7F*%V@_LI- 6 ?]07M/U:C-A^O^Z I>3;L18S/(AH$*F(AO>2,P<" M&V'+R(ND2OD"A8YKW'UKRB9#M%"7IOI-NWQPY6XX$0#M[IJWT8V;=3L +2S? MW$!&0=G( 6P07F#X' G2K'QCE&,UJ^['_.G[CWFZ/_U/@EN<%7I1JCJ/#DXOS@7#Q MZWM\"+;B+]XS&] U\,^EDH5RM 'OYQ85KWF@"]K_ G'U/U!+ P04 " #2 M8ZA8]*K]XD$' !Q& & 'AL+W=O3=)K<#W@OECD:#B<%\XS(_IB(]5O>L6Y(9_JJM&7DY4QZQ>SF2Y6O&9Z M*M>\P9N%5#4SF*KE3*\59Z5;5%>SP/.26OR\N)9Q7B%2^,E<#PN.>WO*JL(*CQ^T[F M9+^E73@>]])?.=MARYQI?BNK7T5I5I>3;$)*OF!M9=[+S3_YSI[8RBMDI=TO MV72\03(A1:N-K'>+H4$MFN[)/NW\,%J0>8\L"'8+ J=WMY'3\B4S[.I"R0U1 MEAO2[,"9ZE9#.='8H'PP"F\%UIFK#\X_,*QB3<%)=Q!*2+J8&8BW3+-B)^JF M$Q4\(BHD;V5C5IK\HREY>;A^!K7VN@6];C?!DP+?,C4EH4])X 71$_+"O:VA MDQ?^%;9VHJ+3HFRJO-!K5O#+"7)!DOYUBCXM MZITTG(13\JA(\KJYYXV1:KL?":X)4V RS/"2,$/,BA.D+U=$+D@AM:$X^88K M'$@P(+DLPT(H;;5YS M M5O)2%,9M8@W0G27UNN(6'6"/T&NI64584Q*C6(.I@@/P&6O>0%K^<(S8X:]GN!_\5>U%_U'!3H M*0?[]T2GG5/FU0,W0>-U"QE 4HR8@F_Z16:7]1EVP60-$&H6<)I%W-'?K18T8WG/K.WTDS(_/P_R(&M$PS1ZAWK2B M*FT"6MGS?G)RDT/AF4_C>)":YC3!B7C+BA7 1B'8HQ!;\)#2@57/'Y[[@X&A MY]$D2 =OY3BUB4=^X2M1 +3V+^*1]E$CQ,:>N%^EM,TS7?Y MLW[JW%.R5%(?1_ H2E;%:- X\C,:AC%YXQ"W*-JZK5PU*#G0O! .FS\K-8AR MFH_\%T0!C7/ORQ2W->MS&YP1/X7B>7Q B6D:#9278XWY)W34J%<;X,%92N/ M=]N> 7FB@*#/=M7-K!3GI.XZ*FX[JE/(89.-HL[I-7?M;;6=DA\!M!M15>3C MBN-D;.Q/(PD@MUGBYYJ,84:6T@ M6=C*>JTU1QI]M-V K- QN Q#]$@U%+\>!,XK*(PL'Y8SMYPZ_=H.E2J'2CB9 M6X=4]@-J3"-X3?W1)=\N4 MVH[1Z'KDI\>VZ]#]NI8M4N)Z[,P]+/#AA8W<41"_O2]OW<<1PJ=XY933*['N M&@Q43W1PQ8FJD9_[ \"Z9\( M0\*SP 9&K!I9R>7VB#D]HD0T/R$T#N(3G&$:DSLD'JC]@_9&R#I@J_- MWB@ZSMX4KWJ_RW< MS)HMSH?]#K=%W3:H^P^(KG=H$ \V.LAS90^0"[33D&R$6:'[&/>TP>]C OFJ[3YI3 M!,VF%A3P0ZV;FS MI.LU>?GE3K48:0VPV/KDAZXSZIGB]GZ[Y.KYV$!1X/AZ^C4+>-L= T,:%VZRVY[]81"T-T([ZG[^_3K M[AIY8.\NXQ'5I6@TJ?@"2[UI&D^(ZBZXNXF1:W>I/)<&..Z&]NZ**\N ]PLI M33^Q&^S_9;CZ U!+ P04 " #28ZA8V#P5;U$' #$$@ &0 'AL+W=O MW;W[(4\6SE_&Y9*17%? M&!O..\L8RU?]?LB6JI"AYTIE\63N?"$C+OVB'TJO9,Y"A>F/!H,7_4)JV[DX MXWL?_<69JZ+15GWT(E1%(?WZ2AFW.N\,.\V-3WJQC'2C?W%6RH6Z4?&W\J/' M5;_5DNM"V:"=%5[-SSN7PU=7$SK/!W[7:A6V?@OR9.;<+5V\R\\[ P*DC,HB M:9#X=Z>NE3&D"#"^UCH[K4D2W/[=:'_+OL.7F0SJVIDO.H_+\\ZT(W(UEY6) MG]SJ)U7[AC7ZPJRP-<-I24FZBQU,-N7CQ6LWB63]"$UWWLUKJ M*DF-]DB-Q7MGXS*(-S97^:Y\'PA:&*,&QM7HH,+WTO?$>-@5H\%H)*VEOQ2=TYLHZ$@0'ZSXN;)*C*8;4P1?BK"""DI'*X^(<;P6@+! E! Y5P$(], XV=Z#5)K@-G#) M,7DGM9&SI!;RV@()G45X:G.:CCH^#46R!GPT'"0O">1P=/R$;G)J7%%*N_[Q MA^EH>'(*T94R"&9!A2H06J@D=C@;G-$YY_C-U;O/KR\A[5VU6+)K6>9\3NUR M#HN55SUQ:4SM9Q SYT%Z2%:49S;[#4\*EA-NEWG3/9') _,":(*%5PGIU+7 MPX00EJ),C,C!H'PN0JZZA30(\Q%S5KXD9HWF@1^_5IDJ9HA" M?7?,LZ94_,9AUDA?GNNT^QBL%SNJP2UK;#E&]AJAK\BGDEB\3=EF M!:F?;^T\KD#3Y!E"CB'RI)O\&?3&@^_QHB<^>NUX9#U8(K?V#4%O?M1,J8 ? MV1KIW0DZOV-Q;/>^E)<]"IIU*F^WO\'_LOWMV_%VN_,1;WO_,3P MR].79B)2EZ /$]M5AK&X/2EW>9\V.TK_6PPE#!7QB\SP%+ZM&<;V[3=0[PJ= MP2@@N)*3?.T\RCI9Y%%''E/%;.0^TVUZE7O6\.619]1=F]XY6Q,?Z8+((#>M MN&F_NMVEL'6C%YIVD7[L%;>_]66!M\YK?JO+R,OTD:&]VWZBN4Q?)C;'T_>= M]]RB ZIO#M%![^2X(WSZ9I(NHBOY.\7,1>S__'.I)-H"'<#SN8.O]049:#]< M7?P%4$L#!!0 ( -)CJ%CQ18QVH 4 #X1 9 >&PO=V]R:W-H965T M]DS+ M1Q81BE1)*D[ZZW<.*+)$ZM^]<29^OM;FS&8!C#[E4]J*7.5>< M#HFD M4'!CF"WSG)O'2Y!Z?=&+>O7&K5AECC:&\_."K^ CN,_%C<'5L)&R%#DH*[1B M!M*+WIOH]')"])[@BX"U;;TS0K+0^HX6U\N+WH@, @F)(PD<'_=P!5*2(#3C M:R6SUZ@DQO9[+?VMQXY8%MS"E99_BJ7++GJS'EM"RDOI;O7Z'51XIB0OT=+Z M7[8.M-&XQY+2.IU7S&A!+E1X\H?*#RV&V>@ 0UPQQ-[NH,A;^0MW?'YN])H9 MHD9I].*A>FXT3B@*RD=G\*M /C?_'1"2/1\ZE$4[PZ3BNPQ\\0&^,7NOEVX E<]##++9A[Z,U?/(M.1F=/6#5IK)H\)?T)JY[F^T,[8-,!"_SL4P;L M2N<%5X\LXQ:K@TM6&"Q5XQX9/;@3:L5D(,?:93I-10*,JR63E*F81*I,L2A* M0Y0>\H!]V,?J-MI>/)O%T:LSRY#.:M76FFBL5.M0T1ZU\+44!=:RZ[-[R$0B MP?;I^YT4J;/>*DQU@VV .:[N N^BE'=L1:(&'<0&$KU2XANJX,P0F)W'SX?,VXM=C.2R8,IB)@OA!1HI;=I&R25]9)ACR"D"GE]Y)5C]UR60(C2 M$OT$5( B+_-*:L$?"9*MPL+@ 5LE/@_Y;$>OL!LL7C]'+QCN$5$&D&%(H^\A M" QJ'9B\SX1*9+DD8084K"D28(1>6J3DB!ZM]1%9@D'9F" 4KH7$.&&TL%D/ M=I(H%8JK!#J17VLF<66P%3EON7VT#G(?O-(TL:RR*6U+.AIJQQ\JH+8TWE_D):W(TYL2@#Z/QF4_9%I2Z MGS7N7V.02':J)1YI[&G#^+.>GS(#T)FO.R0X+9/,C\MZA\9F>S%F;]MIC(BL M^W%3WVSE>:W9C6W_-\"@1^K9U6'/D:NQ)OY4XQ# 9XT$72-T5 MG,_T/&0Z^$S?9+;/:&H%/IO76''/$:O?>8[P6!\KW1:A=\K'3?T&376'M&51 M2* 21U\A596W"Q]/["D5-2/PJ#'ZCQ>A_F M"!=G'B'<]*IV=>T.TA]'O"F@QH7MNI^UTRJJ.L]!ZFCTJI-V_]C//]%!VV>S MG^ZBJ#^91=UU//W;PF_;I]RJ[>H%S?V $QZ2C*M5J"PZ:1AR0("J%WC@]YG^ MKU!51X<6@G&[>_BQ&I]UITZ'? ]QM;/O8C5LW6ES,"M_3&,8X7&^;W>;/ M@3?A3KPA#_\L8*VM\)2")J7(.AJ\FO;"M:%>.%WX&_)".[QO^]<,.)Z@NN.*VS[),QUHERY/DIOGW(V7':X9>@ '[DE@4^?#A0YGRVQ89V*NN,"+1TN]2W#D49@XQ.L]GL,C5"-K9)X<#=_4K@YL2-?+5NSP"&4;<%BMDMOYS6;!_M'A=X5[_^89N)+"VF=>?"E7R8P)H489&$'0WPO> MH=8,1#3^&C"3,24'OGT^HG^.M5,MA?!X9_4?J@SU*KE.H,1*=#I\L_M?<*CG M@O&DU3[^PK[WS6<)R,X':X9@8F!4T_^+UT&'-P'7/PK(AH L\NX319;W(HCU MTMD]./8F-'Z(I<9H(J<:;LI3<+2K*"ZL'TRK[0$1*)-\!KMOT/E:M=!JT2S3 M0"G8,94#W*:'RWX E\.C;4+MX:$IL3R-3XG:R"\[\MMD9P$?A9M"/I] -LL6 M9_#RL=X\XN7_5[T]W.)].'YE;GPK)*X2>B<\NA=,UA\_S"]GG\Z078QD%^?0 M_SO9\W"_V8!P.86SL/"=.N<@U B/XO"BM$9JYHZ@T*EF!W?6M*(Y3.!+(]] M/46HKR/4EJ%^>GCZNOUY$L&&.)!D-^(9031-)S24RDN'_(;23 !)I\>IHN.U MAV!C:'#T'@ -H+@JL,%*!; 5H%8[51!!'&AX4$UTXFG%'E+X&BC0UX+:$RW6 M&)H&0^G5"3??%7_2M#CFW5CA2O:Y5X[,UOF/'ZZS^=4G$&WK[(O04_@\L JU M(Q5,?_B1#S_)YV0]GEVJM^2'_%0. K:.O1L+K!;@*\U;CU.XC71_%:02"=.C M_"M8F#X3VV+O'):=Y"ZQA90=M826NF=+J)PU4-$39 MT1;-7D]":IK;#%FB"/6$446AM IT!+AO#HE$(%[H:#R)F(Q;$SO"6S HA*_H MI/+(NR4Q<%Y52O8!CF>GGY!&O0BM<$%)144&4*QG4$%SH98%0^9/D,KUWD)* MVY%G(4@#B7P&V.3*N-JK4(]%G6AB,-2V]" \RV-4")2B&X]_:S5Q( U$:5O> M*@[1SCF/[7FGQ_=$T!2$D9_T+#(=CB&=NT]:*PH=#:]NDCZ1AT7P;;Q8BELH&LJ/M;T78".'6B_LC1PA@4G M&+\TUG\#4$L#!!0 ( -)CJ%@!/$#%G@, (P( 9 >&PO=V]R:W-H M965T;,F3/D4).-L4^N0"1X+I5VTZ@@ MJJZ3Q&4%EL+%ID+-.TMC2T$\M:O$519%'IQ*E0S2]#(IA=31;!+6[NUL8FI2 M4N.]!5>7I;#-')793*-^M%UXD*N"_$(RFU1BA8](?U7WEF?)#B67)6HGC0:+ MRVETT[^>C[Q],/A;XL8=C,%GLC#FR4\^Y=,H]810848>0?#?&F]1*0_$-+YW MF-$NI'<\'&_1_PBY)E1+OS" MIK7MCR/(:D>F[)R902EU^R^>.QT.'*[2GS@,.H=!X-T&"BP_"!*SB34;L-Z: MT?P@I!J\F9S4OBB/9'E7LA_-'I"D15:9H%)"NTE"C.KWDJQ#F+<(@Y\@#.'. M:"HEZI M;]QTMGM*EI*EK*]JJV8?-$89GO3@M8\&/:"?1?Z[:NK M07_\WFTCV2XX/GL-$#;"P>M^+[T8!O_75^-1CR5V%89VJYH8;O)<>EK^W/1> MJK5/[2 ="[ETF2\4>]F0_E+2.U>(<'B/:^O#>M"Y$3;WFG[@\F9D;%M445-A MK/P'_P_FV::0G*2P?!)"HL-"CL^6_4W)%D MN=GM)/>C6J3QCUI2%VU4U\@-T'R.Q?4$L# M!!0 ( -)CJ%@@6#K+M@0 *8* 9 >&PO=V]R:W-H965T^G7]Y#2RK)KNT!?;)*:.7-FY@R7LXVQ]ZY@]K0ME79G2>']ZG0P<&G!I7!] MLV*-+[FQI?#8VN7 K2R++#J5:C >#H\&I9 ZF<_BV96=STSEE=1\9#/R5O7&=-(9.%,?=A\S4[2X:!$"M.?4 0^+?F2U8J ('&SP8S:4,&Q^YZ MC_XEYHY<%L+QI5%_R=/N\=!N+4K43* M9PD4[]BN.9F_>S,Z&GY\A=NTY39]#?T_N;WN_8?Q3"=]ZJ+0=\BK9J M%^0J78]\P71IRI70.V+G);0,6^D=<9YS'(O@3Q;GA#F/#GFE%.72I4+1CH4E MH3-,86ILYAX%D2T!6EFSEG%N3X2<(;B3PPZ2A? MG7)3@ >*.6X&%SFETJ95Z;S0*0JT0+5$6L3,?E16NDS&FZ1;<^(MKD?'M!&. M#D:]X60:D0ZF4X@XK *79\K\R^?;ZU^CUWC:'WUX&VU'T_[1X=NV!;ZPS%36 M$\9AP@CS 4;[ 8E.6$QZR-"MZAAJUZ?O*!8"D'0H+8);5)-R:\J:SC:8 JUE MDU6(9@B9^T9*/=)&OT?("J"A(])SZ6(H)BAB")>TS%.G^[0 NOQHT*W0+DR3H:O MCBZZPFIZ_.[-R7AT_!$U6@M519@><*A =1?,&@%TJJI0OR@HN%H.M3'01*6# MJ)=:_MT49,_8\L]*6JF7U!C4]'14$>0$D4C,1JQ9&=6*<"9_TJ(^W7;$F!GH M2AO?&8DNI:C5!>:#@D)M@$\+H9>\5_Y"J*#-$"9L7^+N]O::M\#>L%KO=82A MT6%F 8])B-U"[87R$LPLJ]@A2*%JZQ\'NZV_ ,WZ%H!=*,:_1@$1_',Z_<0I MEPNV^U.(5B"21Y)(Y^!D>%A/SO'Q*!R\G-O&5"I#@W-ZL, 6%4[]L[+ )#QN M0RY5N ?J./NJ:QNRW:'9B/JC8\79_OJ^&5+K=>P82=$ONSIFAF_>G#KNG;\.M5)1W#3&AI-1'6/[>CH-1:T: M&2:N519O*N<;&7'KU]/0>B5+5FK,=#&;O9@V4MO1Z3$_N_*GQZZ+1EMUY47H MFD;Z[;DRKC\9S4?#@T]Z74=Z,#T];N5:?5;QM_;*XVZZLU+J1MF@G15>52>C ML_GK\T.29X'?M>K#WK4@3U;.7=/-A_)D-"- RJ@BD@6)OXVZ4,:0(<#X.]L< M[8XDQ?WKP?H[]AV^K&10%\[\HC42I*MF9^,GU[U7VYSG9*YP)_"OZ M)+NB:K P$C;;I7]YD'O847GU-89$5%HP['<0HW\@H3X^]ZX4G:5BC M"W:5M0%.6PK*Y^CQ5D,OGEZXIM$1+,<@I"U%X6S4=JULH54XGD8<08+3(IL[ M3^867S&W%)-2M^UE&O)9?,+U:<=6LDH3CD "S&(M:*]%MIMZ+21I5""B/[ MT.DHY!I- ,)7*/4(]0\V*I_*;HR;8B(.GCYYM5C,CK($W\V/G@EMV?#G#B0V M=$#GHW!5>A@E8./F(TK\3Y3X>'=%@C9N)^)7R.U0>!W@1N5= VS(GZ(F['.R MWIJM.%M[ISE\>!:%NE"\ 4*ST-5 >T-F9E,N=<01# M7'GW%SK70-$$!#+0[.;=2#BOU]I* RPR( LCXA)[)PHC=8-3YL_$"BT;SA!J M>*<+WU*G>(-DBD7*&8L>+#8Z>5@E%WO5 : M0G[0&DP'(,A1E09I8"6E07+C)SB* 4!168Y)"I4#XD **/Z2L,8Q-+PI=6AT M",GS@E,$'KN>?,632GOD'GM,TJUWA:+T!+RLF07W\"3Q';=(/F0P^<#/QQSZ M1"C"7\O;U$ZL9/-[?&ISRV@^[G[:;45GM9%4'!2Q0MH"4XF.)?D'TV#,!V%@ M=8'EX)_<,KP"X :/*'O&BK*&T62&V4[2NMMJG.FJ4-3]GP(SD9>#!7V!<)4 M3[DB1.%="#_(MD5XLTM,_BY"SI-5ERB\%R[.[OG\:$?='4NM\T/FT6TRQ4R7 MRNHL=-\F@^!(4XW]E]3FR'XCDCO9<^]8*'Q#54RXF;9($#'/TRPE\CM.VS>* MZ";RQY!JD0[4]-[HC>;M!\=WW&I+5:0G9#]AE!4ROQFRY[M"PXP]HI[EI!E8 M&4IGH.$;?/[H-JI9 <5RG M^2(1A?!34Q-$5V2(J0JT3FKURH_:K;=D54$#Y M5%YV)3FB2!%O4Y=N!>W:=LS4,K7-?.%5E=!'A #B\ MX"S,@%- $CV4VSI@.*U"I(* PJJ+Z8RD2)Y&S5'/9&")U0T%%C3!,U0/+'0V M=Y>).$.V4)^&'/6B[:T<#]I80]S<;@X %E2,)A'+9^B,D0S+VYTC"MH:&%&O M#9 F"&NK_Z$14J7.U]?*CO$">46/83Y=RY51$_&.(K C]"E%G;KD^\E*S9W#,.P:1E\-DZ?O HO!Y<"1TIRRO"I@Q3"ZI@*E$]'&B7L,.>R!8\'^41QE"KFU8Q=$2CEIBR4E!J>4I$ M62)I0)(&DVC%;LAS"\.ZY-,J;#)812$<:/7C^35Y:)N>[GWV-,JO^>,N5UCZ M MH]W7T_GJ7/IEOQ]/&)-1%=!RFL*JC.)B^?CX1/'W3I)KJ6/Z*0&UCU^+*F M+<>3 -Y7#J3F&SI@]U5]^B]02P,$% @ TF.H6$I66-3P!0 Y0X !D M !X;"]W;W)K&ULI5?;.&V?(7(EH@8!%@"EZ.][%B I*5;,&>/7LY"^)\8]V# M+XB"^%)JXR]Z10C5V^'09P65T@]L109OEM:5,N#6K8:^Y7E\=NR&H?;-D8@T&I3/J77YH\[!G,1]\PF#0& MD\@[.8HL;V60E^?.;H3CU4#CBQAJM 8Y9;@H]\'AK8)=N+RE)3E'NM(SIY"_WZ23\/\:@.)\6@@CN*)SP6)CW*[5EH3ZK6"-3EE5N(&JZ39[LQN M]LWNM#1">2'74FFY@"U&@LC(!4A?4%EINR7RD(17*R,#[(,5"Q*DU4KQ>MQ6 MT@65J0JOQ6(K JBT7J7)A:PJ9]>P;-Y=6^ER89?B5CG(V#H_$.];N)W+4FY% MU#F[R)F]D**R+O*&-:"4.TP"O%4>U)>FB?_89[9W4(I/&V"#H2T9@=#IZ MWD#M@C#AQ4_SR?CU.Q\G@_!28[!%)*:D3*;KG+YI _P:?GP!IB>!7 F7OF S M,CRK1%UQ0./1Z/D@5NT82#??2@P+3GT E:6M\10N.*]HGSI#VJ36-HLI M]RV=]_>_W7&.A@"=C<8O'UX=IX!6JI%3JTEO6]MC&>@*EACXOI">.TFKC-MT M(#Y@^.>Y8DR\$[GRF2.^B\5*M+E>B%9NT'"I<^5!L(?-VDI+:GAR,//8U+J& M5V9-GOL?NF#-Q%ML9$&LJ5 96I>[!7UM(J:M4K0QTSMU/8Y8O-S O!"Y1<]S M:[8-UDH(NT7V\"KU2GY4^['RK#$%F8*KH:4*'DZVT6==88TG^)2M=GC&J0PL M'2!E* ;B3FXYF!1YBCA2GXYXT7@^XE;#VR5:&I=0>H3I0)?.EBUL7Y!"E"ZF M2NBZK$Z02>83\P6\I($ERZ'1BS(^H*T:#HT"=C-C/V&;@LRCATD.T]V_32Z()=E'6KDY+").4NU\935+K5$*&12S&Z %7*=Q@0B M"[6/(A(K5(?;>F>,MD4;(RF-CO='9Y3@RA&EO("##RK4R+[D@I?*/YJXB+V4 M#]2V09MUGTA2$PYZO8[; S\*!3R(,NWUQ-%C*W'HR7:KCEQP,>WOYOXNSK94 M1[/.43V;GIU&B&>3Z5D?4\17%+_;-#1W%1-SQ-\M950N -<\A?.8S-U@;3<# MF66N!H$X_N. 2Z'S,/1"D_=<'H2_(;WN N4R8YH6*'LL_P9=!X)O&J;S-S_* M5%NS^B]$46<9(J7OXSKKC^>3Q';:GX_/8H/[=F;[@YU*&4Q*M%TW5A')09D8 M9D,\]?*_ZCCGXH< J*RHZYVUU'44_M[T:P==5E@/73[6*W;WSQ;:QI[+[M*^ M$YZ68KOD^SNS+=_KE)#3L]'7Y4O):4@D!3<9B@*&G%"*$U](UD5?+*RIXSK M'6?:3/H;"U[&QR\K@XU-Y?$SZ1ZB;V2+A+$Z'15\[D%5/Q@ 08-7S0:&7MCV M#U0<9V_\<,#&MC=W6$V3^5D*\LWI_']DZJN\'/O"'>X=/4IRJWC XO&#ODJG MD.YI=X:[2D>7W?)T 0)?(NR"IG_:$2X>J=!-L%0\R"QMP+(J7!&ULI57?;]LV$/Y7#EJP)\^R)-?+ M,MM G+;H'CH$3;L]T]3)(L(?&DE%\7^_.\I172 Q!NQ%.I+W??SNR#NN!^@/>>@\BCJ!C,[+Q6*5&Z%L MMEVGN7N_7;L^:F7QWD/HC1'^N$/MADU69"\37]2AC3R1;]>=.. #QF_=O:=1 M/K'4RJ -REGPV&RRV^)FMV3_Y/"7PB&&T; Z\4;@/($*)/N<:.D\KV( M8KOV;@#/WL3&1@HUH4FL\$C4[ MY/)$LQMIRC=H*OCL;&P#?&"F'_$Y29ITE2^Z=N5%PL_"SZ$J9E NRN4%OFJ* MLTI\U?^-8O_O(B_3 M_.DB0E',X54^^-HBW#G3"7L$%2"P4S,Z49%#I&6#M9)"PQXM-BH&Z+Q[4NP1 M'? 83:?=$3& L#5#E*=:H$Y1HZ4F 9]0Z-A*X1&D"P1@"Y_)(1")""1']MZS M37A>Y-*JH>_&2NUIIQ!L2-$N, M&**BDF5&RP0GLOD/P;>"Y8,X'#P>R!FHVCK0+@30RJC(P=)/I36OPN,$QM8CI76L$4RYIALNV^F*)Q 9 MU1QN[9E\(:7OZ:^5V"NMXA%< U?%K+H>(60NBFL8!$N2SM=C>LGI%?[W*-'L MT;_,5IS7T&'JC/HX2W+?2%TB4.G@=,^[#(H"M^ H/ _I,&V<9"I*$1U(3-GF M2\&'2U9P6M6)?"=T.LP';EUA_EKUY&=MS: _I.8=Z$+U-HX=;IJ=WH?;L2U^ M=Q\?%TK&@2X0:&P(NIC_^BZC$TT->QS0R:16FXR6WKCT+,#K3>.BNHT MX VF5W/[+U!+ P04 " #28ZA8R"/@=Q " "X! &0 'AL+W=OUWF\FP9%;#7R)PY M)_IY"TSV!4[P)7&@;6=](BIS15HX@OVI]MI%T<124P["4"F0AJ; FV2]7?KZ M4/"+0F^NUL@[.4GYX(-O=8%C+P@85-8S$/=ZA!TPYHFV)H^L8_.YJ!J1VP&9OH',T+T4MC/HLZBA_A?89W7-([]+"RA)%^A"@7YT@':2*R*>$5&*43#(NIS2\I'Z MP3%(-FASW*%T%=]<<.@ 2FI+1?N:G>BJFSCH-LR,094\"SLTUI2=QG(S=.-+ M^3#3[I>VU&E@T#AHO/APBY$>YF0(K%2A-T_2NDX/R\Y=+:!]@=MOI+,\!OZ MZ;(J_P)02P,$% @ TF.H6.56&.[:!@ 0!0 !D !X;"]W;W)K&ULU5C[;]LV$/Y7"' M75_:.FAEZ+T3OBY+Z38WI.WZ:C 9M ,?U+((/#"ZOJSDDFXI_%Z]=W@;=2BY M*LEX98UPM+@:O)J#D1."UGK\,&N?Z+& MGF>,EUGMXW^Q3G-GSP\'?SD*6(BGC[(&]":!3@^ SL0[:T+AQ0\FIWQ7?@0%.RVGK98WTZ. M[Z0;BMGD1$S'T[,C>+/.ZEG$FWU;JQ/HV7Y03I]S7\F,K@;(#T]N18/KQX\F MS\<71U0^ZU0^.X;^;U4^#OJ+#20FLZ'X&^C].96S*Y63Q_=4%SC!\+%%)@,M ?LEB:U5*!Y@ M;?50K7MLFH.B2SZ(I"ZH95*B6DEC3/=J:6!@)DV(GH=0SP>-GUBCH?@-WPXO M9><<\\G7F^A7.__(Q7?%[UB;)S%1RBQ;UT@O%E9#27\N'C_Z_OF+[R_$SU'7 MB8@>F%R(7VO+W$2*.>*:2H[80HJN*)A>J./68Z[>[Z6CWE]?J.5.8@&.+'ULM"9-8Y.[=N2VM_ M:C(N2@S%V^2LM:V1*H833@-X3N*)>KJKR 'W>%4J+=U^YYP 9A\.@O*8H[\& MRZ\ !G*_2.3D )F+A;,ES]AZ 8/SS4$7_&S-\C20*X$PCW';RTQ$D>R8[05O M#++[W,\Z[M\G4ZWK95*@K##JKFYKA:.[6G&5ZI%;F_N*[M'](5Z\R M=NEMUR9A<,)\K/,EI6HKYVBAV+-U6;%FC3Z-4RKIP(("4K=0'5?N$HS7BKST M:=FD'$XI%V=%&[3RP>_5;O&U@BJSS-:&R>/HV*V?\\W]:M(5C_-(PGAV\9_] MWD@-RXA5;H?B!O='5/3=MNSY_I3V]QU;$3N2=N1#W$,$FC 2OWOV;?N%>Q;Q MI*D;3]NG:?RK>$/8ZWHTR^!\=;XK%CK4.ZCMQ=G(VG1QYC\Q-+_:,_&8# M:/P62/]OZMY01N4H,BG+LBRRG80H<\LNKM ,?J$\F@S\ MM61#^[.W<]C.YNQS5X-5D$98;]M <'LPW'=!,.K=ZI2$Q?GN"O1QYJ<+GFZT MNQY[E6Z%MM/3W1I66^)H"?X7$!T/7SP;")?NJ])+L%6\(YK;$&P9'PM"ICN> M@.\+BU+&ULK59M;]LX#/XKA'<8;H 7OR9-VR1 MDG78?>A0K+N[SXI-QT)MR9/DIOWW1\F)DS99T.'V)18E\N%#AJ0TV4CUH$M$ M T]U)?34*XUIKH) 9R763 ]D@X)."JEJ9DA4ZT W"EGNC.HJB,-P%-2,"V\V M<7MW:C:1K:FXP#L%NJUKIIX76,G-U(N\W<8WOBZ-W0AFDX:M\1[-W\V=(BGH M47)>H]!<"E!83+UY=+5(K;Y3^(?C1A^LP4:RDO+!"G_E4R^TA+#"S%@$1I]' M7&)562"B\6.+Z?4NK>'A>H?^V<5.L:R8QJ6L_N6Y*:?>V(,<"]96YIO'>.',M/ MS+#91,D-**M-:';A0G761(X+^Z?<&T6GG.S,[(8IP<5:PQTJN"^9PDE@"->> M!MD68]%AQ#_!2.!6"E-JN!$YYB_M ^+3DXIWI!;Q6P4OZ M(!.'E_RO(#N,]#2&;8XKW; ,IQY5OT;UB-[L_;MH%%Z?89CV#--SZ&]D>![C MJS0(43J 8S#X7B(L9=TP\0P9?5N#&G"GUY">=GK<]DDF5].#4S0\T/AK%R4868,@9.:FIZ:A^LP?(6T4F;I^LN,P!GS+$ M7+LM?$*5<8TO 61CNU;#GR0\@W7S_MTXCL-KHFC/"1V?W59T_<$')G*WS32- M%\SWH*_@<@E"&BC9(^E2L,+PCSFO6CL;@%.",@/$^S@U YC3$,JDR'C%F9LH M!$T#@1)CG3L0,T.I!C?W@1P?P1%8WR M+FH-= EH0\FQ?_ZQ;S\=#_W+)#EUE$1#/TG&L'#Y/8:XJ.]1W+7B'2]=<5T!!.E?G0BF#1)_5$44DL:5D%#/4\E M3*NWD;X(0S],1R>/TDO_,AW#IVTA_U+2XUZD24.ZKJB%[-ONL&EIQ4RG06.@ M:G/G;#[JVS:GJ^T59JS5UH0X M;&1;Y=T8*%G^BZ/@U, /#N[@&M7:O30T1=0*TUW'_6[_F)EW=_A>O7L)40!K M3DFKL"#3<' Q]$!UKXM.,+)Q-_I*&GH?N&5)#S)45H'."TEEL16L@_Z)-_L/ M4$L#!!0 ( -)CJ%C;X6/AKP4 !\/ 9 >&PO=V]R:W-H965T=0Y@V/>RJ/3U)#>FOIC- M=))#R?54UE#ARE:JDALJJYAE\ _-[O58XFO5:4E%"I86LF(+M M]>3&N[@-:;_=\(> G1Y\,_)D(^4C#3ZEUQ.7 $$!B2$-'/^>X Z*@A0AC+\Z MG9/>) D.OP_:/UC?T9<-UW GBS]%:O+KR6+"4MCRIC#W(_ MHR1@GV5EV0T*FTR;!B1U:A4[_ MT4G-C=!;08AQ3PW*-CPR(S>%R#B%T&&;QJ"Y!$1MF-RRFN]+PB[:(*&3-&IJ MQ)]"@8#4$-#0PP,J;"" _J=]D%2;.6< \SP8MD/4E32L!#.U.7MFGQ@ZAUK; MV/9)(>AE70!%EK)"BVWCP>1HD568CNT6IY5LLMPNK]M0LC57R*8:(_O$"YI- M*+52=9E-9=)0>%!QKY G"=2&(%)@M(UB)F6*&&61$AK54O;O#H["!LZ) ELE M2VM]TZ6_/;2L0Y:-V#OE]L0W!%8*DFV01^K(6;2"'Y7N0W_B]'18 *]?+7QO M?GDL N2/,'F_65NVZUPJ\\Z *HGD%3>-@DM2BD>,5. +4H]UAY,SG[FC:CYUX'K&'9@.C-6_IN/.Q7=]U@LAG#[QZ M'(MX*!*?F_:\)7N0!OOH:#%>.,ME,)X/YTANGWW"#JN2[BC3G.B#9P_>%<]' MZ\W*'OQ&'T_[(,UVF$=!_D M8%"7EF_8S[%=)P(#_ 1X32E@X$:$$8Y."GF)+(SLM<-2Q@:2E_6E/<#T,2C^ MP@G#<4*1-I$[9VNYPR/BE.&!Z_A+;RP18J]8L)L,:8XO"N3H(-&(;G$F_YA^ MCWVF9HCOJ='Z'*7\T>S"B3"#7^T!?8:Y<3PVM'06B<;2K3OE_ZV?[U=],^>H[;VZ$\I8(NB[G0>39AJGV/MP,C:/H$V MTN"I;3]S?,&"H@VXOI5X<>X&9*!_$Z_^ 5!+ P04 " #28ZA8&\?GP<4" M !W" &0 'AL+W=O:@85S.GT+H>>YY*"JBH14ONQ%/KNY+Q5*PU*SE<2:+6547EXP*8V,RTC(N&L;P#<:(7 BN"T4^\Q327;R'ZCJ)X5;B(CQ(>$&E M2Z+@$PG]<'" +^J6'%F^Z"\NN6$<[&PXR70@,)ABYYCYK<%D RP3!U2Y[W_#1)Q)IK2#$J2> ?$VQR M?!4T2,.C$;<454WYX\G1* S.)@I3.!$2KP3A^-8HRD 9D#%00 HF#N4]76%@ M3 S*CR;_O;U$>3=6Z\O(O-D"1:X[W>^RW1828"<_7M,JLW\?\[YL,5.2PJ;* MQR/GJ+Y:X:GM"VY;DWE](_I 9-LNVTOSSXYL;J[VD!QWCN#4C?IFX(YZY@G3 MD\!'QX($ ]??Q0UW<3MF:,WE,T$O$NR;X)7C_$"L(XO<%]QGS^:^U\7K%0/< M]MR6/$7L96WJ0N?MJNJ\*2;/PYN2C+&PO=V]R:W-H965TO:9EFB;JT1J)&4G^_7G>4E9EF,G:X'M0V*1 M>OF\]PMUMM'FFUT)X=A#52I[/E@Y5[\=C6R^$A6W0UT+A3<+;2KNL#3+D:V- MX(4_5)6C9#R>CBHNU>#BS._=FHLSW;A2*G%KF&VJBIO'*U'JS?D@'FPWOLCE MRM'&Z.*LYDMQ)]S7^M9@->I0"ED)9:56S(C%^> R?GLU(7I/\#\I-K;WS$B3 MN=;?:/&Q.!^,22!1BMP1 L?/6ER+LB0@B/%GBSGH6-+!_O,6_8/7';K,N177 MNOQ=%FYU/C@9L$(L>%.Z+WKS7]'JDQ%>KDOK_[--H$VR [L#(2WG#';\X,WK##%$#C1Z\JOXTA).*G'+G#-Y* MG',7=T[GW]Z07@7+=05?6T[F.ALYH!/-*&^1K@)2\@Q2RCYIY5:6O5>%*/;/ MCR!5)UJR%>TJ>1'P$S=#EL812\;)Y 6\M%,U]7CI/Z!J0)H<1Z)$>6MKGHOS M 3+!"K,6@XM??HJGXWR M+ 45#^&!^)1]KI2<-Y9VA*)<8KBWA<>: MU1[SSWPN2^GPK-G2<.58I95PR'Q6\T?DM;,L2 0YB'[-RT8PO6 2;R ER)DE MP2/6U(221./QF/Z877'8?<@^*W99&UE"0!\F"!;_:J7+0AA+8'VI>$W"@B/$ MYI"@("D(F8A>TE&J'!7/DF&(5#757!A"#X+04U]@QANWTD;^!5:HFTQ:VW @ MLODCE,B>*''?D]"(7"\5#MJ =,QG32?'@DO3FLU[@2JE9122N9%SG ._R[MK M-HM/(L^BP_CEIY,DCM^%P-A_1>*@5C:\[.EY>_?51DPNF(\)6&PNF.!&!1[> MVQMN"I)?UM+[5EI41R<,BA99?(%'3PBS$R)GM3"^J9!A*EBW,<+[ _M2%\$N M1V@L>:-L"L$NBS]0( '^_NKC_6"JP*UXP\""A<$E4MOF @AHXV3?[6KY_P3L5(L8;Q<6TA0P#=M M@)$BL,%".B6L;8L[-C@,PK>J>!F1H"!HLR4 M:BV\9#FOI<.K5U\^?[Q^O<-W*R/$&^)BGV$S\?\SSRMPA0=JX?MQ^3AD!/C4 M:Y@Z#,R)0(=_8+)M )%?6"%#Q4'H'8A'8E%Z!SUZL63WHPF%:"G ##F(B63^ M!\0ADP='A.H$)/& 4 MIQ2F>$:%%*",H.]QYW_(\UPWLO_#TSG!M"JFHSF&C M4:A\$DG!24BQ]L!NQ1TK-%/:T6!3>MXP94X1.J?\I@#9+U[!52OX"6$A4&A$ MRY$CY%M2Q(FLFBIJE?,G,"O0'H(2QK:8+MPJ.#RD>-\DB&_2 Q$O)%7)7NRU M2;Y7*+"HI'-";-E?:2H!6-Q(8#AM4-RN";DL_0GK!0*[A9#.9S(9OS5?&_O< MIS<%<=&VK5!9(#GR-C22T#(P'D#S.-N&V&^H["'J_ [^WXG:A2VJ?V'OUT:A MU$^WR] ]=J];T [B@YB;AER9M"1>A5^Y"IN!>3ID-XW9%F6?#]3K:!8*"1%0 M=]D09Y,HG27L"ZHJ"_$[9!_:?++H3&W<$OTTRI()TB$8L UV[T4.D]#,21'9 M9J]U1GZC9B!S[Y6?XW2837Y(/"@=ITDT2=/O$"\^G479Z>P9\0ZEB8?3;,@N M?6P?&"5*DB1*QTF'AG[ ??3A,F$=#$\Z?+_J\3"=AN)Z2)U#?].F0"D7_L1L M.!FS4,<"9[#;Z\Z^:<[>O=":VZ9"Z1+ZH7NL!77"<.?Q P$B?*%+7(;L6]^& MQ^F[?_SWWCNY/X\_2[ISP],WY)80\]L=!,0V&[=;/[/9R6E_%6?=ZO:0?(=] M5* XV:T_U^':M@^03DYVSUG5!760GKAQ%&>SO?5X.CT0[9(9 M>.P-ZM.FK7"-ZB:UXN_#@48A:>N2/X)"AFG7\7E)I1R!,&1??PB.'\D?Y$59 M^JDL$$'*=3MP=<',:%+ J(.V17<62I20R&QA=-5.3U+Y[DJ)$4+8SY>4$BCB M8CN*[Q5?7##^K4#^NU]?HGKQ9MNPL>Q>TS1PQ/[/H4>_W$$T^"=V?4+#H='R8@[#9. M]UP13[/>^B2:S#J48U?P4>\+"6;NI?\.1+=,3![A8TFWVWUJN@Q?6';DX3L5 M1,#C+!LR$;S]AX73MO[?,M<. [Q]7@N,^2@1XO]"XEK<+8M!] M@+OX/U!+ P04 " #28ZA8""FSZ/H" "A!P &0 'AL+W=O90,MV3%0C<64A5,H-+M0QTI8!E#E06 0W#05 R+KS9Q-FNU6PB:U-P =>* MZ+HLF5K/H9"KJ1=Y&\,-7^;&&H+9I&)+N 7SL[I6N HZEHR7(#27@BA83+VS M:#Q/K+]S^,5AI;?FQ&9R)^6]77S-IEYH!4$!J;$,#(='.(>BL$0HXZ'E]+J0 M%K@]W[!_=KEC+G=,P[DL?O/,Y%-OY)$,%JPNS(U[">147C##9A,E5T19;V2S$Y>J M0Z,X+NQ'N34*=SGBS.Q'S!D[?@,?D2@J3:W(I M,LAV\0%*Z?30C9XYW4MXQ52/Q)%/:$B3/7QQEU_L^.+_S:^!)Z_#[9$8ZXJE M,/7PG]>@'L&;'1Y$@_!TC[BD$Y?L8W]?W'[X-VF 1*,>V>$A9X9@%=.\*R,Q M.1!6FUPJ_@D_DPMD16S&Q)JG$@Z8-;N/&L.^'86@?HG.&B5MCVD1I MT"N.=+4A%5/DD14UH(J-:UYC.$1=I4;O0SO[)-HS,E@";J&:N#W&L M=VJ.GX.?A'X24S)G!1,IM&)WOF"\K32AU _C\"/+M!OZ99UVHL=1Z/='R?MU MLF-$3S^L3%&_[Y_L+U.R4Z;!P.]'@XWIM=,:;+7-$M3270X:9=3"-!VTLW;W MSUG3=I_=F\L+=2RYT*2 !4+#WK#O$=5<",W"R,HUX3MIL*6[:8YW*"CK@/L+ MB8>Y7=@ W:T\^PM02P,$% @ TF.H6+"KP)AQ @ H@4 !D !X;"]W M;W)K&ULI51-;]LP#/TKA OT5,2.DW9=EQAHN@W; MH4/1[N.LV+0M5)9NQJ1X+%1VJVC MFJB]B&.7U]@(-S,M:HZ4QC:"V+55[%J+H@B@1L5IDIS%C9 ZRE9A[\9F*].1 MDAIO++BN:81]VJ R_3J:1\\;M[*JR6_$V:H5%=XA?6MO+'OQQ%+(!K631H/% M#;Z2K3'WWOED_X5C/J>?+C7)AA7[( MG7-RWCDRS0AF!8W4PU<\CO>P!SA/7@&D(R -NH>#@LKW@D2VLJ8'Z[.9S1NA MU(!F<5+[1[DCRU').,KNNJW#APXU >YX=:N8F-8'XWRDV P4Z2L4"[@VFFH' M'W2!Q>_XF.5,FM)G39OT(.&UL#-8S$\@3=+E ;[%5.,B\"W^I\:!8ODRA6^- M"]>*'-<1__L.[0ZC[/AH?I:\.R!P.0E<'F+_-X&'*;X80IB_G<%?7/"U1K@R M32OT$]3"\;90G2 LN!/_S'52YPC\ 'D]O< )$#,4C !3>MLAE%(+G4NAP!$' M&@^>^9,L0N\7;?@O);0^9>0V%L@*[43H1P>%=+G9<7(!16>EKIA;3O)\RU(M MB#O_H9-\YVSDIM(R1)C+PY5Q'1\F=9#XLJCCH_,T6;SX3/%>WS1HJS ='.2F MTS2TT+0[#:#+H>]^I0_3BZ^LDER4PI*AR>S-:01VF B#0Z8-7;@UQ#T=S)J' M*%J?P/'2\ N.CC]@&LO93U!+ P04 " #28ZA8B27-B+4& !5$0 &0 M 'AL+W=OG*(DJ1*DG%];_?N9>RK;1.AF+ @*+6@_?%-Y4.C$V[#Z.)-G=^'BS'?)&D=W0<6N:7187Y'UJ_/1T6CSX*-9UHD?3"_.6KVD M>TJ?V[N N^D6I30-N6B\4X&J\]'ET9NK4UXO"_XRM(J#:\69++S_PCCU2 M)56ZL^FC7_U!?3X28.%ME/_5*J\]/AZIHHO)-[TQ(FB,R[_Z6U^'@<'KV1,& M\]Y@+G%G1Q+E6YWTQ5GP*Q5X-=#X0E(5:P1G'#?E/@6\-;!+%UG$T3O/#::=$C7F7$^1.(Q^K6NU1']*"13:&O7A\8E6L)('FO;T:$NT5&PSW45IJD+;-SJ MD!P%%-,_&('3JNJLQ9B;)*X?KX_>=CF.*OA&%=X5U":5/".4G'QDE?J&*E9 MV+78ZRH1ICI\@? 5OFF] Q7B1'WH0C]W%, 2*1LA'E5"/4(D18Y+P'9Q&&=- M^F%]*- -E:9K#LLNK1D:0(71%J6M36$I.77#KVBD-_<&KO2W1<"WM\F8( D5^)D#_ M8TNBX+L\/]6DKN%5N_6F4?!=!R+I(H+I'POO:"E15!Y.L0Z5SX3CEPTEA#K, MH-9)*H&U4BZM%L'K4@7MEL+J_ZO?VNYM>#\L;T697X2 57YK(H M0!PIUEWP#M<%<6A[=>>_(:H;I]YB3;- *I#UXS&W6;T'8YS4;F!YGY"U#F54 M5QX_ZN7[R_NK RA8[-":O0L_MR4/[2 MJ81G M;3"8%(,A#619Q7DM>Q1!"\3*"UYE;";6#H>MM2F'WK_+* ( U V4)T40\,]U MZ-V"]];2*12/EE (V@SXDS'E706.RU(4 ?##DN!J9X4N M8<=I^N%M^$2K%32/X]"B'*P-L?:VG# !-YB9>T^E]F,:3\3R?>\V1=00-QPZ M^7=@.>Q4/HKD=HOUXVY@+\,1/.;'@1K_D)G3ARD$0VNW\178PG$:'Q:#EQ&T,%0<9L>/9(]VN*;(8H[N.&' MI6]W;-QH/\?&!Y0L]%R:UB?N&W<(2XK$)4XUUBT[4\KH^:/(HG\VPS[G(@T:B"6]J]E66"@CXR:GE/?@)W M.$BO_N,@'8M;-ML4%P<2P?Y@T)C'CY?3ROJ/- M=/"IBX/64C[HHY)].G_U;I]N_V9PF3^5=\OS'QSP78EB1YPZ*YC.)J]PI@GY M(S[?)-_*A_/")YQ2Y9*/T11X =Y7'KGV-^Q@^Y>4BW\ 4$L#!!0 ( -)C MJ%CJ3>D]"P0 % + 9 >&PO=V]R:W-H965TK5J-,-0[$/M'2VB%*D2E)V\N]WI"S9 MB1VC';HOEDG>/??<&WG#K53?= 9@R$/.A1YYF3'%=1#H)(.Q&'8#7+*A#<>NKVY&@]E:3@3,%=$EWE.U>,4N-R.O,BK M-SZS=6;L1C >%G0-"S!?BKG"5="@I"P'H9D41,%JY$VBZVG/RCN!/QEL]<%_ M8CU92OG-+N[2D1=:0L A,1:!XF<#-\"Y!4(:WW>87F/2*A[^K]'?.]_1ER75 M<"/Y7RPUVR2%%2VY^2RWO\/.GX[%2R37[I=L=[*A1Y)2&YGOE)%!SD3U MI0^[./R(0KQ3B!WORI!C>4L-'0^5W!)EI1'-_G&N.FTDQX1-RL(H/&6H9\:3 MY'O)-+,1TN3RGBXYZ#?#P""T%0B2'@%O6FK'V.?3Q MLO+3D0N2)S M)8FK0?*>"2H21CFY$U5'HA^GJ)\'?_VJ'X>MM^1GO_>9 GB2ZB,13%R2N)7^>LBS.6_K8P MU*#%"2^Q<\J MD;J"U">N^=-@Q[^*"-/N%K:VU,*<=&AV;_BX95R9OEPCW8$_0_J7C6!Q_9"LB-]>." MM.+V$8M)DLA28$04), V-FZ^\[T6Z&$?1D=J=V(#PL@#Z@._.^B? M?5(@?^,B"QCZ M_QO8UVY,>]8R.?,&&JSEAS>PQ.L3%4K)G-^3/IE[ZWL,'Y MH\! &T@R(;E<[UUI^X,PW > _ U4:7+C'E\DA'ES,=89*_:6HI[?.]"*:K4/ M4J9;QO>IBB,_BCH'W'%F8((9(/?2X$7^K$+WB&'L=_OARQDLZ*,K^_K@,L;4 M==^<4E E L,#UI:&O0N7D=\)!\<*51X.&^5 8]!O'VOWS\E5+G[ MM+TN2+_O#S!XSX1/W5'!P92#>5F[64X3%XUJX&EVFW%Q4DU)>_%JUL1':LUP MX.&P0M7PJH>WOZKFMVIA9.%FIJ4T6 3N;X8C+R@K@.6R7[]#RI;HVE%=K,4V8"^B>$1^/#R7CT<\NA/RBUHRIM%]5=;J>++4NCF< M3E6^9!55+T7#:O@R%[*B&KIR,56-9+2PDZIR2CPOGE:4UY/9D95=RMF1:'7) M:W8ID6JKBLJ'4U:*N^.)/UD+/O#%4AO!=';4T 6[8OIC/M@$^3=((*-J=MJ3^(NU_9:C^1 MPP3W75C0S)!>:NTJ%:308.*UUU+[U=V<":DWB,3R&H"L7IW"UDM7U-- M9T=2W"%I1@.:>;%;M;-!.5X;IUQI"5\YS-.S*VL?V%A)ZYRA+A *0$+/K^E- MR=2+HZF&=Z&,CESJ!J:L^,))(5B\I9-9L^>^+'W M:D31L%!GCU)B1>\0C^J!8_D2^N2 MM>0URUEUP^2&T/C+/ +TEM<<[%R@A1"%0K0N4-,"!B04O%&I53_I*2(93F/B M" S3#/T@=Y![&LF.2V'\23")$C=;D8R]!G(X(#7!XT4.5/#:-_'P%=#U\-! M'*!KH6GI+!C'V'=&@2#!24I&7!KU+HWV=NFE!'*5^@&C2XA$;:WRYH^6-\!Z M>I>3QZ%_M)._;C\J-F]+= $TJIP(V.GY=?L[HU)MQH/3"="%V?/7D\Z!-^80 M,)JY08'CT-OJV_F\ B_?,F,UM07F1P=!MB4-<9"DCTA/6UX6O%Y8?]RL.SL7 MV01/?1Q% VJ2X3@E8*E\"9Z2X&:V=JZ%UD*4!GD]/CCPAPT&GH=CD@S6RB"N M8P]]8DN> R_W'R)'^S B3B]*?/3;?,Z!XN:M!'.VDMF%Y_S>O"MG96 %?2_#29*M,JSI([[I([XW M"D8+*=2V![>\9%0,!XU#/\5!$*$+HP_-\[9J2V") DYGX.2<4ZOTMU!)F.', ML1\)"8XR;S_%:SA OK7 4^0GH'@6;4@BG(31"*_$/:_$>_/*!5?:!)8]-32M M%QQ.B1,TCRW7,=E) M)5IP/S12\S\W(^L]&SX8@_/!]M3:_O"GV^3,5HS Q9*55CFUY$UWW.90DTDH M@K?S*SOPAV1ZBK(8LLMEVBC$)'8/P]"'E [1M:0%0S6M!IIV",P/X<0G?MO:3=*!EL'_)^]/RU[ ^PYI0YD+X&D(]^;O6&X MG;T)'+O_A>P-HFT9I!!(_]'LC4U]Z'H&B#:-XI%B(.F+@63O8N!L"?I!$IW7 M^Q4#X\C[AO+IZM^:*J/#=K[#9E,V7[FV_MZVMFS?T?-/IN\# R# &0 'AL+W=O9ELX6$8G42*I.^NMW)&59 MFA5GW?)A7V*2NN=XS[WQ,ML(^:@R $V>BIRKN9=I79[[ODHR**@:BA(X?ED) M65"-6[GV52F!IA94Y'X4!!._H(Q[BYD]NY.+F:ATSCC<2:*JHJ#R^0IRL9E[ MH;<]^,K6F38'_F)6TC7<@_Z]O).X\QLM*2N *R8XD;":>Y?A^=78R%N!;PPV MJK4FALE2B$>SN4GG7F ,@AP2;310_/D.UY#G1A&:\6>MTVNN-,#V>JO]H^6. M7)94P;7(_V"ISN;>U",IK&B5ZZ]B\PEJ/M; 1.3*_B4;)SLZ]4A2*2V*&HP6 M%(R[7_I4^Z$%F 8O *(:$%F[W476RE^HIHN9%!LBC31J,PM+U:+1.,9-4.ZU MQ*\,<7KQ&9"2(L Z4^17GD+:Q?MH M3&-1M+7H*CJH\);*(8G# 8F":'1 7]PPC*V^^"##/F(.-^K'F6HX5R5-8.YA MNBN0W\%;O'\73H*+ U:-&JM&A[0O[ET1$+$BB2A*P8%K97:Y,9? $U:=@CZK M#^M]_VX:!?$%>:O?ATP"=$*\)X(!2S(;L>V)B5Q[$Y./C%.>0,TN$4J?_[0I MEX60FOV@MIK14ZN.3JH4H >WPD$W)N,>(^(Q\HY*9BG\%WD)/SHBM),(X)BR0X_##GOCQ.(YZ3B_51Q,,D;#+A%\V(C&:[3-],)E.MA,WV6VS6C*4Y?-&ZK( M$7*U)T=(CPSP@5(EV":!#CID&,#S<(?'[3"B.$%.^KLLP!GT+CPH2J MC*SP,44"[E%&1_0UBL/Z_Q>-HM,PK&NO#;N2LM3&A1:B,GT10Y571B7&T<2J MP !6TGIDUS/;56S G3)5/]]O=H7:N+S=7Z;M] WK#O>B=!B<=M+[7_OY#1TD MNIWH[5T4#D;3L+N/QO]8N1T03\3JI-JU=['4.&@ZGO"49)2O705+2(0T#G!4 MQ3)G:UL9_XF5\TN;0=SN4F851A?=UZTCWB-<-@/QI9L#=^)NFL9:6S.NT*050H/A*78#Z294M]&BM%/A4FB<,>TRPZ$> MI!' [RLA]'9C+FC^35C\!5!+ P04 " #28ZA8@N12T+0" !U" &0 M 'AL+W=O/[_'9OHR62C^9 M$M'"EM?5Y&)JLQ(J98U6CI)E"Z8I94O4\-+5&EON@2H1)%)V&%>,R M2$?>=J/3D6JLX!)O-)BFJIA>35"HY3B(@\YPR^>E=88P'=5LCG=H'^H;35K8 MH^2\0FFXDJ"Q& >7\?EDZ/R]PR/'I=F0P3&9*?7DE*_Y.(A<0B@PLPZ!T;# M*Q3" 5$:/]:80;^D"]R4._3/GCMQF3TI\Y[DMQ\%9 #D6K!'V5BV_X)K/ MB;T/KPE(U@&)S[M=R&=YS2Q+1UHM M03MO0G."I^JC*3DN75'NK*993G$V__ %] %,E;6G@D\PQ_S4^I$S[=),NW4FR$W#* M]#$,XB-(HF2X V_0TQ]XO,';Z6]CW8(.MX.Z>W1N:I;A.*"+8E O,$CW]^+3 MZ&)'RL,^Y>$N]/2.[F7>B-\29L8@E8K)' 1G,RZXY4AZEJE&6LR![B\P"\4+ MX=EJ4RLY:J:SHLMU@K;8'N$\*#X7+>S[A3!P??<($"XL-.2GII< C76*#6M.&9 MJNCE-,P_/EU-5CW4!Q@>#9-XA^ZD.+G88KE7EDK^'DC_=^FN,<-JAOKUU1N\ M8_7BZ&2'_C?5>R/2MLJY;W@&_"O0=H7>VO?4R[:5O+BW#9DNQIS> M01!84&AT_/$D -TVN5:QJO:-9:8LM2DOEO1?@-HYT'RAE.T4MT#_IY'^!%!+ M P04 " #28ZA82R;91<(" !.!P &0 'AL+W=OE:(17CPDDF[=I")1/9F)(+7"C0354Q]7N& MI=Q,G<#9+=SR=6'L@I=,:K;&)9KO]4*1Y?4H&:]0:"X%*,RGSE5P,8MM?!OP M@^-&[\W!=K*2\MX:7[.IXUM"6&)J+ *CX0&OL2PM$-'XM<5T^I(V<7^^0__< M]DZ]K)C&:UG^Y)DIIL[8@0QSUI3F5FZ^X+:?H<5+9:G;+VRZV(@JIHTVLMHF MDUUQT8WL<;L/>PEC_X6$<)L0MKR[0BW+3\RP9*+D!I2-)C0[:5MMLXD<%_90 MED:1EU.>2>9,"2[6&A:H8%DPA?#^CJU*U!\FGJ$"-LQ+MV"S#BQ\ 2R"&RE, MH6$N,LR>YGM$K&<7[MC-PJ. -TP-( I<"/TP/H(7]=U&+5[TZFX/-=EAQ(K0-="H'M!)3D^"D7]YA&'<,XR/H2=+NG594R+(''#'MB:V^B6V MQ_%.3\:A'UW"6XUT(FG1'LF_'GM$^T8$WTA3N$AEA<",47S5&/MG@9%P,[_N M8]]!Y(9QL&>'[O L@*L'5*0+7><:2%&T82*C'3E0VXW'0_<\B@ZYHF#H1M$8 M9DSS=,>HW].]NOX@&#TUG^.]=GQS]O,\)R6S_T7&R\9J&9 ZI/;[KA^/#KKB<_<\'L,G M2Y78_=>FAX?ND;>G<16J=:ODFMINA.GDKE_M'XNK3B/_AG&PO=V]R:W-H965T7^/+O M.RPVM@_'.K7Y8,/.SOLS,\QL(^2S*@$T^=[47,VM4NOVRG%45D+#U*5H@>/- M6LB&:3S*PE&M!)8;H:9VJ.M&3L,J;BUFAK:4BYGH=%UQ6$JBNJ9A\O46:K&9 M6YZU(SQ41:E[@K.8M:R 1]!_MDN))V?4DE<-<%4)3B2LY]:-=W4;]OR&X:\* M-NK@G?21K(1X[@]?\[GE]@Y!#9GN-3!\O, =U'6O"-WX9ZO3&DWV@H?O.^U? M3.P8RXHIN!/UWU6NR[F56"2'->MJ_2 VO\$V'N-@)FIE_LEFX(U]BV2=TJ+9 M"J,'3<6')_N^S<.!0.*^(4"W M3X/1@R7GYFFBUF4FR([+E16_]B0C72Z%S% M>U >M<3;"N7TX@%>@'= 'B 3!:],ICX]L54-ZF+F:+30\SG95MOMH(V^H0[YL;R#GHWNT9U[M_2LPGLF+XGOV82Z-#BCSQ_#]8T^_^?#/17E MH"0XK:3ODRO5L@SF%C:" OD"UN+C!R]RK\^X&(PN!N>T+QZQ[_*N!B+6)"L9 M+T"1BI,,$RNQA@E3"K0BC.>DKMBJJC$*4*>B.&_GXX>$NOXU>:_GW<[!-PDW M@^>_[[U&4A_F9\B@68'<(>V/(K^0T ["^.#LVY$?DC]P7)F&KO3KQ)-/E(87 M4VKH)Q=;@UA663G6U9$UZM,C:VX:GP$U'$$-?QK4O%*L*"04S'0;4N2V*E>O MI)4B[S!G&=-0"/EJ< ;\X4VFKM=-";= M!N%OGW4"R;D)+9=UR-+ MD.;;Q3,@2DMTI\.FG7 'H1W'[H1,(SN*0_+4K6!RYZ6V&T_M4M?V0TJ>&'^> MBG@H$ITB>UY*GH1F]?0R2NPT]:?T(,;>H.0KUR ST;2,OQ+%<'(3J"O\5IS. MUJ?8CFEPHC\".W'CB\$)FW#LL$'9'@HO\FP:'8+C!=2.@O#=JNL_51G>]R=L MCP,,#MK:U-N=:!I,4X4)?H&RRFHX""/$#(='-&@35Z #1ZEYS M'^'WR'T_2W&?FMS'*$4GU,0.$<%ONL1Q>Z)RHVAJ*+63*/I?=7%J@CH'2PLB M4YC53.%WKN-ZV%]&ZKC]W0Q+SYY]6!T1_*+BBM2P1E'W,L:1*(=U;#AHT9H5 M:"4T+E3FM<0-%F3/@/=K(?3NT!L8=^+%OU!+ P04 " #28ZA8?2+J/Y<" M #G!P &0 'AL+W=O9K?:W0\SN6O*Q Z%(*HF UH=/P?);8\6[ MQ*VNO=/;"5+*>^L\SF?T, * M @Z9L0P,S3W,@7-+A#)^MIRTF]("^_\[]H^N=JQER33,)?]>YJ:8T!$E.:S8 MAIL;N?T$;3T#RY=)KMV7;)NQ24Q)MM%&5BT8%52E:"Q[:->A!Q@%+P"B%A Y MWH$Z)E=2F$*3#R*'?!_OH\Q.:[33 M.HN.$EXQY9$X?$^B($J.\,5=[;'CB_^R]D,E-XS)849[@LYUS3*84#PB&M0] MT/3T)!P&%T?T)IW>Y!A[NL 3F6]P,ZS6*Z=UWFHE>[4<5'Z<^_1D% 7Q!?G? M]@O>0PMF:WR:F6:9W BCR0UD4-[;KOPCVVVA /;:\#FM6\W719]:;,BL/!+U,>&B"9X'+([F.+/:><)\]NH<.L=^[?''9 MU^Z)T<0U:W,/=]'N%9LVE_?C\.8)Q*Y9ET(3#BN$!M[9@!+5/"N-8V3MKO*E M-+C'[K? EQB4'8#YE91FY]@)NK<]_0U02P,$% @ TF.H6 6+(*8H P MBPD !D !X;"]W;W)K&ULM59M;]HP$/XK5C95 MK90U[T!;B%3:[N5#-53:[;-)#A(UB3/;%+9?O[-#0BB!;M+V)?9=[AX_Y[NS M/5PQ_BP2 $G6>5:(D9%(65Y:EH@2R*DX9R44^&?.>$XEBGQAB9(#C;53GEFN M;?>LG*:%$0ZU;L+#(5O*+"U@PHE8YCGE/\>0L=7(<(Q:\9 N$JD45C@LZ0*F M()_*"4?):E#B-(="I*P@'.8CX]JY' ?*7AM\2V$E6G.B(IDQ]JR$+_'(L!4A MR""2"H'B\ (WD&4*"&G\V& :S9+*L3VOT3_JV#&6&15PP[+O:2R3D3$P2 QS MNLSD UM]ADT\FF#$,J&_9%79!F@<+85D^<89&>1I48UTO=F'EL/ /N#@;AQ< MS;M:2+.\I9*&0\Y6A"MK1%,3':KV1G)IH9(RE1S_IN@GPZEDT?,'%5=,(I9C MK@75VW7Z2&<9B+.A)7$996Q%&\AQ!>D>@/3(/2MD(LA=$4.\ZV\AO8:C6W,< MNT]&4AUS*4H:PD?0P^G5:,0-B=MRC?M--VMU1Q$%_?CZ"?O!J[M79%_/3XF M'&"G! Z:8F*C1&?V]1^5:?7Q&LW#](G0%>6Q:%3O27]PT9:(#'RPS4RD\%AX@MBO07 MF:09&=.,%A$0*M0FW$($^0QX?99XK96+;^+K1MYL:F!=VKVO?;&\G%4XO:,D#T^\W*%V= M8[4NR!SX0C\#!#;KLI#57=EHFY?&=77!;LVK9PI27Z188!G,T=4^[V-G\.KJ MKP3)2GW=SIC$RUM/$WPM 5<&^'_.F*P%M4#S_@I_ U!+ P04 " #28ZA8 M]$*E K@" #]!@ &0 'AL+W=OA: M .G8V>Y4.I:-*;F .T5T4U5,O4ZAE*N)%WEKPSU?%L8: M@G1 M&FY>R=$#FY>@C\>!06[K$60=S[3EH>_PQ.16"E-H#"B87Q!/CK.7)Q_S#\V%'4N3%O5UY!!-0>U/C':0VCH1Z?4/TV&Y &[AFXP M3?RKLT=2-PJ3U1MACI+(CY+1,>D.J_7C6C>0DR,NLK)QH9W]B[V,N2T,-BC- MW!WG%1Z1.7X+?A;Z24S)E)5,9-")Q5\K*]9*XTVE":5^&(>?6:;MT'_7:2MZ M'(7^8)3\OTYVC.C%IY4I&@S\L_UE2K;*-!SZ@VBX-NVZ ,%&2ZI +5WCU2BC M$:;M3KVU[^V7;4M[&ULM99;;],P%,>_BA4D!!)J;KUL M(XVT#A"3**LV+@\3#VYRDEB+[6 [[2KQX;&=-"LBR]!$7Q+;\?F?G\]Q?!QM MN;B3!8!"][1D(8(2$F4D ML'YMX +*TBAICI^MJ-/Y-(:'[;WZ![MXO9@UEG#!R^\D5<7<.7%0"AFN2W7- MMQ^A7=#$Z"6\E/:)MLW<\. M+.4[K' <";Y%PLS6:J9AEVJM-1QA)BLW2NBO1-NI>($ED8AG2.=4 E/8QNK5 M.U"8E/)UY"KMQ$QUDU9PT0@&CPB&:,F9*B1ZSU)(_[1W-5Q'&.P)%\&@X!*+ M$0K]-RCP@C'*<$)*HG9(0JXWAQIP$'8A"*V#<# $5QE:'8;@]I.>ABX54/FC M+PJ-YKA?T_Q+9[+""F\'B,<=\7A(/?Y&41",O139,=J6%Z M$]6P3/YB\?M1IAW*=!!EB>\)K2FZ78)AZDW6J,-M-Z5XE>%HG2A_)*6STJ5Z9[*)DEY0PZJ,?UI^@'6 A!TA/ M.]+3X=P3]F3N!Q6>&4G?>SAJO2-DOQ7]S] ']<$_\@9XPD'X^ YP#^H:!9'; MZBU1PFNFFA+7C78WA/.F+CY,;ZX7NHKDA$F]E$R;>J.9/G5$4[&;CN*5K9)K MKG3-M\:YVG>,@^[>%/\&4$L#!!0 ( -)CJ%@C#-6@00( M ,0$ 9 >&PO=V]R:W-H965T MFD :)$U_;&5I) J:QC2DBL+V ?'!3:Z-A1T'VVG9?[^S4[)N:_F2^,[WWKU+ MGIUNM'FR):*#%R4K.V&E<_5Y%-F\1,7MF:ZQHIVE-HH["LTJLK5!7@20DE$2 MQZ-(<5&Q+ VYFNQU\2M6)7.)Z(LK?D*Y^CN MZYFA*.I8"J&PLD)78' Y81>]\^G UX>"'P(W=F<-?I*%UD\^N"XF+/:"4&+N M/ .GUQHO44I/1#*>MYRL:^F!N^M7]B]A=IIEP2U>:OE3%*Z- M@LHK[GB6&KT!XZN)S2_"J %-XD3E?\K<&=H5A'/91?[<""O\%[)P?(6."VE/ MX!1N1'$Z=]RAA0O94.=&P<,-J@6:1S@"4<%=J1O+J\*FD2,EGB_*MUVG;=?D M0-=O374&O?$'2.*D#_?S*S@^.OF;)J)!NFF2;IHD\/8/\$X;2QE+DO^,!0_? M*0?7#I5]W">UI1SLI_2'XMS6/,<)(]=;-&MDV?MWO5'\^0W!_4YP_RWV;-:8 MO"1306U$CJ"7X$HDJW;J]PEN*4>!TA^Z=38>C@?#-%KO43+HE S>5'*G'9=0 MT360DQ5$@88?ZC_XOW\&ULM9I=;]LV%(;_ M"N$50PNDL43YLW,,I.&Z95BPH&FWBV(7M'P<"Y5$E:3L!MB/'R6S^D E)@I. M;Q)+UGDL/A:IE[161R$_JSV )E^3.%47H[W6V9OQ6(5[2+@Z%QFDYIV=D G7 M9E/>CU4F@6_+HB0>4\^;C1,>I:/UJMQW*]LX2N%6$I4G"9D:,I&B,_%QO7V8N059P0QA+I *&(5?F7'.VQWHB$ MN=(BL<7F#)(H/?WG7ZV(1H$_Z2F@MH ^M2"P!<%3"R:V8%*:.36E],"XYNN5 M%$[[0T[T:F3J\OPR]YI*+B.U#D-;E4"K0RWX;9 M*V%[1N*(;Z+8O ]FKS)7!VS)2P::1[%Z90H^WC'R\L4K\H)$*?FP%[GBZ5:M MQMJ<6_$)X]">Q]O3>=">\[CA\IP$_AFA'IUTE%^YRQF$57G04<[GAOLFG/\T^8#1^N>?_)GW2YQ4^6LK"P& MN,-Z26=3;S4^-%4\Z2CF/(MGMG%2M7'B;".#@QF ,].U/D"X3T4L[A](.00K M\ND&D@W(SBO&21UZQ6#"&!*L97-:V9SB=[XIIDI,&$."M53.*I4SYX7YJ]*1 MN;>:"S-7L,MC2Y@PA@1KB5Q4(A?XW7*!J1(3QI!@+97+2N42IULZ,4/U M8<*8NX'^X_W7]^J$ZSEA-]'V]9TVNLRE%^)L_NZ<4.MH=(8%JVMLC%9 M\/'[L&5B^<2D,2Q:VV<]3?"=T7E]Q=6^4QGJ7 "5QBRMF:>#8LIVZ#)1IWS? M'?,OPU#DJ]>WTDR7I'XX(UG,4TUXNB5@ MAJ0L,9HZ':$&?%0:L[2FHXE/YWT731W>?7<(_DOO36[EY9).IQ-G^6 GF#1F M:4TG=-EGI,[ROCO,NQ83W*6#;:#F=DMKV?!]?]KCHX[DOC.FKC\(S6-[A52+ M?IUR4(,X*HU96E..[]'9PNNQ4Z=LWYU"JWM2QA^*&U*G&-2(C4ICEM84\YH& MBUFW%UH':NH.U,:+S,WD [YFD"KH'%O-UC*8_8*FA^9K- ] M]J,&;E0:L[3FM'ZR]'HR%*T3-W4G[BDX0N.<$3Q[_W)S!5-D*;D:Y\N0=NHG)Q@'E_)X3^ME$\ M %4](;?^'U!+ P04 " #28ZA8USH#KQ$% [)0 &0 'AL+W=OR121^%LQ\4WN0%0 MY$<<)7(^V"B57EB6##804WG*4TCT+RLN8JKTIEA;,A5 PT(41Y9KVQ,KIBP9 M+&;%OENQF/%,12R!6T%D%L=4/%Y!Q'?S@3-XVG''UAN5[[ 6LY2NX1[4E_16 MZ"VKIH0LAD0RGA !J_G@TKGPW6$N*([XD\%.[GTG>5<>./^6;UR'\X&=GQ%$ M$*@<0?7'%I8013E)G\?W"CJHV\R%^]^?Z)^*SNO./% )2Q[]Q4*UF0_.!B2$ M%A0,#DB&%>"HNM6V?>B T59)#_H75_N/?+^ MW0?RCK"$?-[P3-(DE#-+Z=9SAA54+2W+EMPC+0W)#4_41A(_"2'LT/MFO>,: M );N=MUW]ZGO5ZZ1^%L6G1+;^4AWM6Z;Y9[ M$!R3MXHQK"^$8<$;'N%=95+OD9+L71'DZ^]Z'[E6$,N_.T[QJD2.NI'Y&'B+/U(05+%DK6^_ M@,?098.1T->&$C8I8/DTLUU,)T-G9FWWR_O\H-%D:K/I)@&)?EZ _$#B,XKVDCM6TI,F(<)\Y%@+6LFM343 M_)%F@ND+)LS#A/E(L)8OT]J7J?&6\:5B^LE+WS*9A%46D8BM.H<;,V9*'H&* MS@>$MPH]H[!OC=]P%JUZGM7U/#.2EL73&PAR!Q$M'K V+#6//D9@WZL<$^9A MPGPD6,N5\]J5<_S1YQS3%TR8APGSD6 M7QR[22(VSOCS L"0KR@39TB@#(A6D)UG::C=QV#'GX5NA4YU0CQ])&M%$$9J$!/1]D<;: MAM=Z4#8QWO/ =9SQ]- %S%SMH=)\+%K;A29=.^9X?9N)8$,ED%2P @-_]$/ MN[D#G>5&#=6H- ^5YE>T_9O[Q+'/1O6%U2YWDY@=8_ SSLWD7_+6EQWF5GL; M@QJK46D^%JWM7Y.LG>G_,(5CIMXE*LU#I?E8M+8[34YWS$'].E$T6;.'"+HR MPU6E;KWL/+?MP\D"-6ZCTGPL6KN^3>)VC,&Q1[ S,-;ZG,#?8=F%!I'BK-QZ*UK6LBN>O@3QLN:BY'I7FH-!^+UG:G MR>6N,5F^-&U4ZOUIPYE.G\T;YD9Z%Q@U6F/1V@5NHK5KCM:OGC=>X)A>")JE MOK):H 719K'LYV+]T+KQR'4^# M*9<5W5"Q9HDD$:PTTCZ=ZC@DRI4ZY8;B:;$4Y8$K/>D47S= 0Q#Y ?KW%>?J M:2-OH%XOM?@/4$L#!!0 ( -)CJ%B<*>1$.0( !D% 9 >&PO=V]R M:W-H965TAJB7@TH$8#>,HFH0,$Q[DJ9M;R3P5C::$PTHB MU3"&Y8\%4-%FP3 X3#R27:7M1)BG-=[!&O13O9(F"GN6DC#@B@B.)&RS8#Z\ M7HQMODOX1J!51V-D*]D(\6R#^S(+(FL(*!3:,F#SV\,-4&J)C(V7CC/H)2WP M>'Q@OW6UFUHV6,&-H-])J:LLF 6HA"UNJ'X4[1UT]3B#A:#*?5'KN5(.WQ!.T(/@NE+H,R^A_!T?FB+Z2N)#)8OX M+.$#E@.4##^@.(H3]+1>HLN+JS.\2;]#B>--_F.'3I7IT:/3:-M3UZK&!62! M:1H%<@]!_O[=.G%0VYO[?#B>3>,H#?]Y/B?DH07@L$IS?'?FLEL](=B>'1=&&PO=V]R:W-H965T M%,P*TBNJDJ MJGY? 9?MW N]UXD[MBF-G?"SM*8;6(%YJ&\5COR!I6 5",VD( K6<^];>+E( M;+P+^,F@U3M]8IT\2?EL!S?%W NL(."0&\M L=G" CBW1"CC5\_I#5M:X&[_ ME?W:>4C JJ)CH6OK2YV$'$$X^ $0](/I;0-P#8F>T4^9L+:FA6:ID2Y2-1C;;<;EQ M:'3#A#W%E5&XRA!GLI5+*&:"4Y$#Z?Z< IG(*5GA+U,T'(ART504.O4-:K,[^'FOXZK3$7V@XP=59R0. MOY HB"8C\,5A^!+R 1Z_A?N8D2$MT9"6R/'%_YJ6,6<=U62 MWC,-:@M>]OE3F 1?QWS^)[(WKN/!=7R(/;MF@J'5@FRD+#3!DR1UH_(2KPGV MJ#*C!]MQ)H[3%HUM%EW,DBCUM[N^]J/B<#*[&*+>")X,@B<'!=_1%B^# <4H M']76P:>[VJ91/'NG;2SJ(OI VW30-CVH[1'+URD3I[62.>A1==.]?<,0J^\[ M=2-109S$X^J205UR4-V]-)2/:4KVSBE)PCU-(U'GY[/HG29_IR[9-P$O^88) M33BL$1>K!I:@D!?;A1\F**-KRQ8K)-XEE\_ZZ.]U)/U'4["'GWXLU8P(]IDE6G(_6 M0FS>C<=%M&9I6)SE&Y;)7Y8Y3T,A-_EJ7&PX"Q>U49J,L>-,QFD89Z/YK/[N MFL]G>2F2.&/7'!5EFH;\YWN6Y _G(W?T],7G>+46U1?C^6P3KM@-$U\VUUQN MC5N519RRK(CS#'&V/!_]X;Z[\&J#>L37F#T4G<^H"N4NS[]7&Q\7YR.G\H@E M+!*51"C_W;,+EB25DO3C1R,Z:O=9&78_/ZE_J(.7P=R%!;O(DW_BA5B?CZ8C MM&#+L$S$Y_SA+]8$Y%5Z49X4]5_TT(QU1B@J"Y&GC;'T((VS[?_PL4E$Q\"E M!PQP8X"/-2"- :D#W7I6AW49BG ^X_D#XM5HJ59]J'-36\MHXJPZC#>"RU]C M:2?F-W5"92:2,(L8VI;.0BJAW]"-K)E%F3"4+]$UEY7#Q<^WZ%J.%"C,%NC/ M'V6\D8=4H->73(1Q4KR15E]N+M'K5V_0*Q1GZ':=EX4<6\S&0GI;[7,<-9Z] MWWJ&#WAV%?(S1-RW"#N8]IA?P.:7+&K-B6X^ECEJ$X7;1.%:CQS0@Q/P[9,< MCCX*EA;_]H6ZU:;]VE6KOBLV8<3.1[(7"\;OV6C^ZR_NQ/F]+W!#8EH:2)L& M JG/;W,1)FC3)F/3)H,])>,M6O&\Z#WB6^U)K5V=8.[G%&.'^K/Q?3? GF'N ME!"O'::Y3EO7*>CZ)U84\K01E6F9A((M9+?+!$5Q6)U/^KS=RGD=-S - @_O M>-LW#'N!T^^MUWKKG9[HC(D^Q[T]CUP?.X&WXWC?,,^G!](\:1V?P&FN?/QV MQ=([QGM[ 30?V@N&Q+1(_392W^(IP3>9!D-B6AJF;1JF%D\)T_WNF5!GIU*? M&:2Y';1N!\_7Z<=4^GW/*A\+L&A!K:%'RY"8%K;KJ"N^8[%L&W%#F3"EIJ>B M S^NQ=)MQ+7K%/&G.[7;C/(.C=)=5SCB@I=YH'S1?^@JSN*T3,&*AO4''T@; M4.(J*G&)S9H&F6=P*@RIZ:E0E./"F',-53,J"[8L$Y3(>Z?^FH;%70_]9"'O M,[V 35\:M^(E%P8FN"'"QZHA>B,&90A(4>[D3FWU@%,U,J>FI4'#F M@M!S:A_ XB0 ^L &C+F*QEP8Q]Z7<;*(LU4=<+MQ-.C ZH-KP)":G@N%>&Y@ MLQV,0I\I-7WV0E$?!E'J1-1IQ+NH,W4];Y=UFF%=UO&#R13WPPY6G(9A3AM0 MTT?2#[S#P3,RAM3T]'2FIJS.39F=G+(!@EB!((;GITX[ZS\C#M$/;/K2N!7U M81C,!G;(81R"]S.X&FPP(59,B#V;C6&4#$VIZ:E09(CA:;D3&P,6AW (-GUI MW H#,4QJ5V&TEE]Q&;@Z\E7PMWF>5#T"7B6,3M*94M,SH< 03VTV@U$N-*6F MIT)Q(8;G_DZ$H6 /AHCC3/#N8XQFG#9M&7C!Y,#$)5$L1V"6.[JFCX0A>'=# MCZTI-3TYBA6):[',B5$N-*6FIT)Q(8'G"$\[YS\C3@Z?\F'+EX;=>40)8]J@ M]CA,0O!>!I>"#3XDB@\)M=D51J'0E)J>"@6%!)XH/+$K8''7 =K"!@$218 $ MAK2O;!U'"8.G?V"-P4?:!OL1Q7[$Y@-:8A3^3*GIJ5#P1VP^I&W$M2===&\A M!-E_3$L]WSU .PK6" QK)_8K+ [A2'O[^4RCACZ4/(L%B5G M==P?XL?J,]S#L/#0PC6EIJ=!X1RUB7/4*,Z94M-3H7".PL1U6@\WXMT>QMB9 M!KNKF?#^38M+\*&U5PK** QEQY7SD358(7F[7^L=9M?Y\Q:L%O.!EP>@# M6U-J^O)?Q7^>S65ZGE$&-*6FIT(QH&=SF9ZWOTQO0ARRNQAZ?U3@^\$.]HP[ M;UI4K[E^O)#P[9LCVPV1;^J7+^YR(?*T_KAFX8+Q:H#\ M?9GGXFFC>I^C?7]G_C]02P,$% @ TF.H6.&2EW=Q @ 5@8 !D !X M;"]W;W)K&ULK55=3]LP%/TK5H8FD#;RU1;$TDC] MV#0>D! =V[-);AL+Q\YLMX7]^EW;:59*J#9I+XWMW'-\SJU]DFVE>M05@"%/ M-1=Z'%3&-%=AJ(L*:JK/90,"WRREJJG!J5J%NE% 2P>J>9A$T2BL*1-!GKFU M6Y5G2Z' >1%00<"F,9*#XV, /. M+1'*^-ER!MV6%K@_WK%_<=[1RP/5,)/\!RM--0XN U+"DJZYN9/;K]#Z<0(+ MR;7[)=NV-@I(L=9&UBT8%=1,^"=]:ONP!T">?D#2 I)#P. -0-H"4F?4*W.V MYM30/%-R2Y2M1C8[<+UQ:'3#A/T7%T;A6X8XDR]<0[$3G(H"B#\Y)3*1CV12 MELSVFG)R+?R!L9T_G8.AC.LS++E?S,GIR1DY(4R0;Y5<:RI*G84&I=D-PJ*5 M,?4RDC=DI.1&"E-I\EF44+[$AVBI\Y7L?$V3HX0W5)V3-/Y DB@9].B9_3T\ M/2(G[=J<.K[T7]OBGLM?Z2C>T@'& ]U:#VD"0OW\7CZ)/?3[_$]D+ MUX/.]> 8>SX')"V8.S9]1CUZY- V;C;YQ3")LW"S;^!UT2@>)%W1"V'#3MCP MJ+!)+95AO_QYAB>,1 U] H>O]HXOTO1 8&_1Y8' <.^*UJ!6+KDT*>1:&'^J MN]4N'"8G1C8N"!ZDP5AQ MPPJ#'Y0MP/=+*ABJOL"9J)!KDYF0K9$VT,649JD8B*5Q0S<(XBI*P)I0' M6>KV5C)+1:L9Y;B2H-JZ)O)EB4QTBV <[#<>:%EINQ%F:4-*7*-^;%;26.& M4M :N:*"@\3M(K@>SY>)]7<.WREVZF -5LE&B"=KW!6+(+*$D&&N+0(QOQW> M(&,6R-#XV6,&0TH;>+C>HW]VVHV6#5%X(]@/6NAJ$;P/H, M:9E^$-U7[/7, M+%XNF')?Z'K?*("\55K4?;!A4%/N_^2YK\-!0!R?"(C[@-CQ]HD(_B'4!@D> MK\P**EB&( M+=Q4A)>HX([#%R&*CC(&E[>H"67J"BZ "Z4O")%UC\&1\:18.L>"]K&9\%O"=R!)/Q&XBC> J/ZUNXO+@Z@SL9 MRC5QN)/_+=AS*=MM<-23'16#:2:'<89"]?C5.HH]GB$X'HM-SZ)F_ M+WLMY?ZZ9=%:;@[0F,VT)B=I;'L"W6YP9)R M;K)?'3_$R>Q$[F3(G?Q;;N3%J<3)7X*/)0X/^JM&6;HIHB"W9?2M M-NP.@^K:]^=O=S_ES,,TA5# <&M"H]$[(UKZR>$-+1K7K1NA3>^[966&+4KK M8,ZW0NB]81,,XSO[!5!+ P04 " #28ZA8Y$D?C8<& !3- &0 'AL M+W=O1"?ML!\_2E9%ZR5GBZ&_)))]]_CND7CWD*+. M'V7V-5\+H="W)$[SB]%:J+$1[]^.!3M%JK MXH/Q_'S#5^)6J"^;FTR?C6N4992(-(]DBC)Q?S&ZQ&^93PN'TN*/2#SF>\>H M2.5.RJ_%R8?EQ<@K(A*Q6*@"@NM_#^)*Q'&!I./XIP(=U;]9..X?_T#_M4Q> M)W/'R4>4 M%=8:K3@HR2R]=?I16ESW6Y7I;R/MI^:WY170U,4\70BTN]>6&@F]0;?Z)EMN M8X'D/?H]RE64KHK##ZGBZ2JZTU]][%FN*:9U#23$H\^@7>9R$Q%__*"M,CPQW?\_75YEZM,#X&_ M^WC:(?O]R$5=>)MO^$)^OL4>]GDZSHR!,5HRX-<,^# #B\4VV<9< MB27B%1M%+>W+>H8\J7.>@#E_EHK'=;9/ M7/M4J#X.)IWL)A07H[O!08^5/YT$+0[ *"TY"&H.@B,X.#[OH)M1,*/M&[[' M:AH$82MO,#++O,,Z[Q#,^ZKLAB+32H,B#WT M7?"LS_7*WI7!KK8T&9V-8:%MV\,JV,;$R0^G[29VG!F#@[0EP0AM#"OM06VL M*Z##*>YTL1XKWV_/+N"P;-,V.AO#0OM932SL7%@]A^STL*Y52-M3$@:':4N# MT<48%(GSCS)]LY#)1BB=]2H3(A'I@1D&C#BX[CI5Q*[0FFP:38QGIVMGCM1L M1:M+-.8*K;FL:)0V@97V\'9V '#R=#>S]F2PIRU)1I436)7;-C/2E=K3J=?N M94=9,3A$6PKVUI]A/3ZDE550A](^QHK!8=FF;40T@5>)F7@0L=SHI)58K%,9 MR]5WL(+#>(-7VYTJ9U=H32Z-, J

[I-V;LRV-66)B.SZ0&9;;LKH2NF26=+PF$;!H=GF_[>GHP#FS(&]*T* M:K\EX4[*AVT8'))MRD854W@-]SE=BW8W7."V7CG"AL$AVE)@%"R%Q5^Q4+9/ MP+NL>";_\="S'QAU<+5UB<9XO6OJ*"L&AV:;NA'7%!;7UU$:)=ND'I#H/_3L_33P3PZ^TYRN M=KM":])M1#P]W6HW=2KNG:(Q5VC-#8]&W/NN5[L/ (BU-J3P9ZV)!FI[L/R M^)I_*X>Z@Q$._]+06]$I&G.%UF39*'W_=#NZ?:>[7IRB,5=H35K-#,*'9Q 6 M(QP&Q,!RJ+TK@UV'TC3>>X&C>-WFFF>K*,U1+.XUO'<6:CF:[=Y@V9THN2G? MZ;B32H_P\G M^%)DA8'^_EY*]>.D>$VD?H]H_C]02P,$% @ TF.H6)DS MB5^6 @ 2P< !D !X;"]W;W)K&ULK57O;YLP M$/U7+%9-K;06 @GM.H*4I)O6#Y6J9MT^.W )5HW-;)-T^^MW-H2E*8W6:E($ M_G'O^;T+ODLV4CWH L"0QY(+/?8*8ZI+W]=9 2759[("@3M+J4IJ<*I6OJX4 MT-R!2NZ'01#[)67"2Q.W=JO21-:&,P&WBNBZ+*GZ-04N-V-OX&T7[MBJ,';! M3Y.*KF .YKZZ53CS.Y:!R%MMX%_"=P4;OC(EULI#RP4ZN M\[$76$' (3.6@>)K#3/@W!*AC)\MI]<=:8&[XRW[%^<=O2RHAIGD/UANBK%W MX9$Y)-&QMX)*NUD64+1@4E$\V;/K9YV $@3S\@ M; 'A/F#X B!J 9$SVBASMJZHH6FBY(8H&XUL=N!RX]#HA@G[+\Z-PEV&.)/. M74(Q$YR*#$CSY>3(1$[)'#^9O.9 Y)+,"BI6H,FUP)_!,5O@QD1K,)H<7X&A MC.L3!-W/K\CQT0DY(DR0;X6L-16Y3GR#8NV1?M8*FS;"PA>$1>1&"E-H\EGD MD#_%^VBR?^GS^)[(GKH>=Z^$A]G3:V.WSV !C M![2U9YV.+N+X//'7N^(/TK]1_*@3/SHH?E)*9=AOZNH//&(AU;U.&I;1CI/3 MP7D4[3D9/?-KHRZZJ"<2XTYB_-;\QL_S&W^,AGNJ#M*_-K_^3ETJ0:UQ_:9HV@]=RQ80F')9(&9R=8UI54[J;B9&5 MJWX+:;"6NF&!W0Z4#<#]I91F.[$'=/TS_0-02P,$% @ TF.H6#[T1_%C M @ 908 !D !X;"]W;W)K&ULE95O;YLP$,:_ MBL6JJ96V0DCXLPZ0VF;5]F)2U;3;:Q>.8-5@9ILDVZ??V5"4K;11W@3;^)[? MN:B70P@;5 MW/4]+W1KRAHG2^S:K7O*^!BFSHSYWGACJTK;1;<+&GI M&E:@']I;B3-W5"E8#8UBHB$2RM2YG%U9/66F);QG&Z6QESP<3X[3)@?07 MH4 E\I&L\ 84'0JI3FD#E:! KD!)WO_;A9ZG]\P.A^-SM]2SVS> MIQ),.14@SZ;\]0JA53 UM\D"+,'$W4QP%R-W<8@;3+'ZJ&"/%7Z:SZ=9P<@* M#K'"*59P!"L<6>$A5C3%"H]@12,K.L2*IUC12U8<1=.L>&3%;[+N*\ 67&J0 M4\3XQ0TQ]^I_I+O7-4P#QN);LT81#B7&>><16I9]4^LG6K2VD3P*C6W)#BO\ M#H T&_!]*81^GIC>-'Y9LK]02P,$% @ TF.H6)[/NL1;!P #D8 !D M !X;"]W;W)K&ULM9Q?;YM(%,6_RLA;55UI&QOP MWS:QE 1&VU6CK9)V]Z':APF,;51@O#!.6JD??@=,P$/PV&2/_9 8P_W-# >N MKP\#YX\B_9:M.)?D>QPEV45O)>7Z7;^?^2L>L^Q,K'FBUBQ$&C.I%M-E/UNG MG 5%4!SU[<%@W(]9F/3FY\5GG]+YN=C(*$SXIY1DFSAFZ8\K'HG'BY[5>_K@ M-ERN9/Y!?WZ^9DM^Q^67]:=4+?4K2A#&/,E"D9"4+RYZE]8[ZDSR@&*+OT+^ MF.V\)_E0[H7XEB]\""YZ@[Q'/.*^S!%,_7O@USR*UF0?NOG^B MTV+P:C#W+./7(OH[#.3JHC?MD8 OV":2M^+Q=UX.:)3S?!%EQ5_R6&X[Z!%_ MDTD1E\&J!W&8;/^S[^6.V FPAGL"[#+ ;@:,]@0X98!S;,"P#!@V \9[ D9E MP.C8,8S+@'&Q[[<[J]C3+I-L?IZ*1Y+F6RM:_J:0JXA6.SA,\B/K3J9J;:CB MY-SE]Y*\)=2-Z]^):](F)#/*[') M6!)DYWVI.I!C^G[9F+MMS-[3F$-N1")7&?&2@ 35\^VGX M5[:1^,DSG)VWAVKYTJD/)*7C.'MY'M4S^7#P=2Y3Y813*'^1KL>*#Y''V3TLOK[;4 M83LUSZSOLC7S^45/IO&_3"PESD3 /":,@F*;SL-)Y:*+/ M;_F#B!["9$G\K=*)D+PM&UP9.5V51<+<+6Q

YY9 M41>7+WBJTB99A E+_*)L$9ELK5>,I*[G$A+FSIX7(O9PVM ,V2(%P33-K$'] MJW1@5.W#4P)4)PXG3!*>!$0LR)JGH6C[Y7AE!G85#TIS2UKC+)^,)[/=5T/- M/4$3JU%\HKJJ*[7C'UC_K_XD/\GG%5@OS4F96G>,57 M+%-=R(\"N4K%9KDBS/=%&N1>\H(SN4EYZR$!M8)*FO:E.@)UH:UZ4!H] M/ 9=QMK#LPM*<-B%6N6&FDQ0FFNWSKYZYCTFLZY02PE*\Z TBJ+IMVC4UI,S.$G6=J#>$Y3F0FD>E$91-%WNVJ-R#GA4 MS4M[SZ_KMJH-]:I*VFZ%:X]:)F) 6_6@-%K21KMC,$S$<&H7RC&[4!^YE#S- MK\:76MUM[M\NCC$SS.#.(D$]*2C-@](HBJ8+OG.7W(END\/>)X>]40Y[IQSV M5KE3>%=.[5TYYHE6+\W 4.L*2G.A- ]*HR5M-T^/]F?IVI)RS);472Y8_N&) MJVIS-SK+#C6TH#0/2J,HFGYXU.:85=7-HAIJ:4%IM&T(+35U?^?Q%C%/E\6#2#+BBTTBMT^ZJ#ZM M'G9R63SBHU]OOGU2R@U+EV&2D8@O5.C@;*+R1KI]^,AV08IU\;",>R&EB(NW M*\X"GN8;J/4+(>330MY ]0B8^7]02P,$% @ TF.H6 ['R(D5 P G@D M !D !X;"]W;W)K&ULM59M3]LP$/XKIPQ-( WR M4EH*:R-1&!H2;&@=VX=I']SDVEAS[,YV*?S[G9T0.BUD#(TOB<_V/??6J*DE;G2);,DZD5HEAI9[I5*$291 M- A+QF60COS:9+"!B7G)4K#E02-\W%P'!]-XL0I^!U?.*[-QAB<*S.E?CCA/!\'D6.$ M C/K(!C];O $A7!(Q.-G#1HT-IWBYO@>_C8]Q9F%7?AH"]3@A>U3 MM(P+LT/3E]-C.,Y^KKCA/H:[<*9D#OD*+E@&GU&7\$%9A"W@$CX7:F68S,TH MM,3,X8=9S6)2L4@>8=R5M8>"=S#'_73\DCQJWDGNW)DDGX"73>]"+WT 2 M)?MP/3V%[:V=#MQ>$ZZ>Q^T]@GM!,GRNI#*^XH1<8R(:BD M;!O%"F3@05PMWZ3]*!J%-RV6^XWE?J?EE+1S�)[V#?KOI@\;T0:?I MJJ@$9S-W2#@:*FBMR7GX=HGE#'7K4>G$?.91&3:,AR]RO(5I MH;3=M>XNFE6Y;F-88?2?0, <, 9 >&PO=V]R M:W-H965T(, 6(BWL55?I M>K?J]N6S"0.QFMBI;6![NA_?L1-"("&[JOJ%Q&9>GAE[,C/="_E-I0":/.89 M5S,GU;JX<5V5I)!3=2T*X/C/6LB<:ES*C:L*"71EE?+,#3PO,[AXV/;)-JL^'&TX)NX 'TY^)>XLJMK:Q8 M#EPQP8F$]"(8(,DBT,4'QL8,% M9)FQA!S?*Z-.[=,H-M\/UM_9X#&8)56P$-E7MM+IS!D[9 5KNLWT1['_"ZJ MAL9>(C)E?\F^E(T"AR1;I45>*2-!SGCYI(]5(AH*P>B"0E I!.<*ESR$E8+- MG%N2V;#NJ*;Q5(H]D48:K9D7FQNKC=$P;H[Q04O\EZ&>CO\&S($B5V0A\D)P MX%H1L2:9V2;PB+<%GZ_N0%.6J=?D!6&I(G_R%:Q.]5U$K_F# _\\Z#7X@O&:, UY M!]SB^;;"@ZT>QK#.<6CMAKTY[DI6J3?HUC,5?*,*FL#,P1)5('?@Q"__\"/O M;5=PO\G828B#.L1!G_7X-A=2L_^H+4V\/VO&*4^@ND=4*="="2BM1M:J^>+L M8M\;3-U=,ZZVS.0HTJ:,;ID&=.L^[Q*L\,&RO@, MMBWA^]VP40T;]<)^$IIF9YA5878A1AT P1EDAXPW[*8&>('4+!..IF'->,XU[&AQ0OZ14>??XTY+CM?WB>Q@Z9<-*-.*D1 M)[V(7ZC$&Y@]XYPG+>$[6 M)16%%PK%;_0R_QFE\F3J*BO1:8VA'_V>9+D+;%(J7$ M%J]MU:@?"GN6(EOLB[*J]KJ:%/G_4DN;5_Z:J6QENQ?I%SN#?^Q^?F_G:82\ M@Y0E&?Q*E&$KRM9Y_=;^YS9&JASDQDZ:BB1BRW4YG=2[]31[:V>XL_VYF7+M MJ'8T4X[(.&YL&%<8_!I->MYT**P@]M2:!P#[6N*DSI((X#_KX70 MAX5Q4,_^\4]02P,$% @ TF.H6.O:0QP7 P !@H !D !X;"]W;W)K M&ULQ99M;],P$(#_BA4F-"2VM$G?*&VDM6,"B8EI M9?#932Z--<<.MM..?\_9:;.^9(4A-+ZTL7UWON?N;-]H)=6]S@ ,>Q?MX71@Y9W -P8KO?5-+,E$*7!N#:$; M/]8VO7I+J[C]O;%^Y=B194XU3"7_SA*3C;V!1Q)(:J9Z#-@##0Y([.R*#A@?@SE)*8Z M(REFF#!158H-^>DE&,JX?H/B=[-+B1;] G:]F/U_M/ MJOV#)_8/R;44)M/D@T@@V=7WD:4&"C9 D^"HP6NJSDG8?DN"5M!I\&?ZY^KA M$7?".KZALQ<>C6]37"J]3K.>/;Q#7= 8QAZ>3@UJ"5[T^E6[UWK?!/6/C.T@ M=FK$SC'KT=062T%90K!4",UE*8S&LHAYB2FU]6$R(#D&HE2NP(A,";=Q(9S1 M.>/,,"Q!JYPR044,U:H>DB\%**P]L7BLR,985@[VG(/VWEI&@Y&_W [0H42[ M78OL8'=K[.[_PKYRX]]C5PYVMZ%:_3WP0YEWO6;P7@W>>REP6>?WN1GO':)W M!NT]]MYATCM!MYF^7]/WC]*[=^Y,IF$?U#RK"S!WG4W;\\^H,Z&(.7"<;5S@EH"L7@,)=[ M@3CJZG,#X6\]J3FHA>LT-(EML5>/43U;-S,7[@W?FY]@DU/U)(]FJ@X)GYH% M$QJ94S39.N]CGE75=50#(POW<,^EP3; ?6;8J(&R KB>2FDV [M!W?I%OP!0 M2P,$% @ TF.H6"&^!?1: P ,1 !D !X;"]W;W)K&ULK9AA;YLX&,>_BL55IU;:"H% HEZ"U!;0-FE:U=QVKUUX$JR" MS=E.TW[[V8:RI$=8>O*;!!O_?W[LOWG"D\6.\4=1 DCT7%=4+)U2RN;*=45> M0HW%)6N JCMKQFLL59-O7-%PP(41U97K>U[DUIA0)UZ8OCL>+]A65H3"'4=B M6]>8O]Q Q79+9^*\=MR332EUAQLO&KR!%G%*0&*@BCB,-ZZ5Q/ MKK*Y'F\&_""P$WO72*_D@;%'W?A<+!U/!P05Y%(3L/IZ@ENH*@U28?S;,9U^ M2BWS2IA/M.O& M>@[*MT*RNA.K"&I"VV_\W.W#GF R/2+P.X'_5A >$02=(#AUAFDGF+X51$<$ M82<(3YTAZ@21V?MVL\Q.)UCB>,'9#G$]6M'TA;'+J-4&$ZH/UDIR=9Q,V[4&[;4/PCH03H*Z.R%"BE!10#^G1< M/_%' *[:EWYS_-?-N?%'B5\PO43>Y /R/3\86M"X_"OFERAHY=,!>7*Z?&CV M=%R>0-[+_0%Y=KH\&-G+H#]H@>$%_^>@#81WT^*FPSB=;Z]$@W-8.BJA"N!/ MX,1__C&)O+^&C+()2VS"4INPS!+LP.!I;_!TC!XG1$A.'K8F/S3 "1MZAF_& M(0%Z H\+T6VH2EXTL*CRXILQ3%@5UA;UH]R$: M]:'/BRN3%[\U^OD9LF,4\UX[;,(2F[#4)BRS!#LP=M8;.[/[@S>S:;!-6&(3 MEMJ$999@!P;/>X/GISVY@Z_.YSJM7GQ YX3FK(8+!,^J&!0PY/SH/.]UOH5% M>WG*>Y-C?SLBM1E09@G6>N3NE3HU\(TI2@7*V9;*]L6^[^WKWFM3[KWIOYU< M)6WY^@O3%M/JO7M#J$ 5K!72NYRIG,_; K5M2-:8@NJ!256>F*?4$L#!!0 ( -)CJ%B#6R-'XP( /T( 9 >&PO M=V]R:W-H965T3:6#AV9KL4_OW.=AI*"5&']J7UR]USSW-G^S+92O6@V?PB\%6[XV)5;*4\L%.KK-I$%E"P"$U%H'BWR/,@7,+ MA#3^5)A!'=(Z[H]WZ-^==M2RI!KFDO]FF@J&,ZS,TN;^[)*DQLI3*[)E<@@>^T?HI):3F\G9]9K!;RAJD/B[A?2BWK]!C[SX]WC M%CIQG=W8X<5'9K?P%Z) M[==B^VWHR0)4BDKQ[A.Y(E"47#X#D!0KK-ARXPZ1W>!LS9;<;A3X%FE_NFQZ MFK+C0XY=2/LB/2919S )'_=%M]+ZH.A!+7K0*OK*RU1X)TV:D[+.09.8P1%B M6L-]4,RP%C,\IH+OED^_% _?A9U-I;U)\+!!<#0\4-S*Z8.*1[7BT;^4#Y[L MB6RLG<<9[DGI1H/X0,I;H_&H7]N\8CBN&8[;:Z+DBAFBZ#M9GV-M]*WZ!\1\&^,:N&1XE M#BN$C#HC//'*-UL_,;)T_6HI#78_-\SQ^P24-<#]E91F-[$!ZB^>Y"]02P,$ M% @ TF.H6%?\[6#/ @ MP@ !D !X;"]W;W)K&ULK59M;YLP$/XK%JNF5MK":TB;)4A-:+5^J%2UZ_;9@2-8!3NSG9?M MU\\VA)*4HJ[J%[#-/<_= D/(!]7=USM[(8E)25001A%'+*I=>F.XU#;&X.? M!+:BM49:R8*Q)[VY2:>6HP." A*I&;"Z;6 .1:&)5!B_:TZK<:F![?6>_=IH M5UH66,"<%;](*O.I=6ZA%#*\+N0]VWZ'6L]0\R6L$.:*MI7MR+=0LA:2E358 M15 26MWQKLY#"Z!XN@%>#?". <$K +\&^&\%!#4@,)FII)@\Q%CB:,+9%G%M MK=CTPB33H)5\0G79'R173XG"R>B&)JP$)/$.!/J*+M.4Z'K@ MW0ZJ72U3F- M06)2B#-E\O@0H].3,W2""$4_:TD]KSK/+LO>+91[>,RER@ M*YI">HBWE8I&BK>7,O-Z"6\Q'R#?_8(\QPLZXIF_'>YWP.-^> S):_ #-7Y3 M&-_P^6\H3%=R*W30C=;-8BQ6.(&II;J! +X!*_K\R0V=;UV9^4BR^(/(#K(6 M-%D+^MA;64.P4ZU10%?N*H[0<.B^N(EOS*:=DY=&0> >VL2]P;Q3ZK"1 M.NR5>I5E8)JF^@X;T1S+3L45U45+C#/P O?B2'.7F1N$PR/9O8&]4W;8R Y[ M93]2#@E;4O(74B-Y 10R(@62.99JRJR+%)%2^9<(FA3UY29\4>ASYTCQO#>F M__U 7CH]''H 0 ^0, !D !X;"]W;W)K&UL?5-M:]LP$/XK0H.QP8@<)^U&9AN:E+'!-D++ML^* M?;9%]>))Y[C[]Y5DQV20](MU)]WSW'.^NVPP]LFU $B>E=0NIRUBMV',E2TH M[A:F ^U?:F,51^_:AKG. J\B2$F6)LDM4UQH6F3Q;F^+S/0HA8:]):Y7BMM_ M6Y!FR.F2GBX>1--BN&!%UO$&'@%_=7OK/3:S5$*!=L)H8J'.Z=URLUV%^!CP M6\#@SFP2*CD8\Q2<;U5.DR ())08&+@_CK #*0.1E_%WXJ1SR@ \MT_L7V+M MOI8#=[ S\H^HL,WI)THJJ'DO\<$,7V&JYR;PE4:Z^"7#&+M.*"E[AT9-8*] M"3V>_'GZ#V> ]!H@G0!IU#TFBBKO.?(BLV8@-D1[MF#$4B/:BQ,Z-.41K7\5 M'H?%SB@ET/]E=(3KBI1&H] -Z%* (^_N ;F0[GW&T"<+$%9.Q-N1.+U"?-N(Z7 MD%,_OP[L$6CQ]LWR-OG\BK+5K&SU&GOQLU<'L,348ZWNDKZ1X28RA&TY%FG& MCN=)V5DGPU+\X+81VA$)M<;,=!&QTT76SNP: ?E6BV?C?!A@#_7AN# M)R?,R[SMQ0M02P,$% @ TF.H6/O&NJ]S! :14 !D !X;"]W;W)K M&ULM5AM_=9AK71%"1.DNWXW]\*,#:8<'%*O]A(VGVT^^RN6#3="OE#Q0":O*0) M5[=6K'5V8]LJC"&EZDIDP'%E*61*-0[ERE:9!!KE2FEB>X[CVREEW)I-\[DG M.9N*M4X8AR=)U#I-J=S=0R*VMY9K[2>^LE6LS80]FV9T!<^@OV=/$D=VA1*Q M%+AB@A,)RUOKSKT)7-\HY!)_,]BJHV=B7%D(\<,,'J);RS$600*A-A 4_S8P MAR0Q2&C'OR6H5>UI%(^?]^A?Q_1-* MAT8&+Q2)RG_)MI1U+!*NE19IJ8P6I(P7__2E).(M"EZIX#44W.$K"H-28?!6 MA6&I,,R9*5S)>0BHIK.I%%LBC32BF8>WT9W*)V_OT[W7"?A(Y149 MN)?$<[QABSWSMZL/6M2#;O4 PM?4:]X,J@@-!YIEL3N'N+;S&01[K;L"0!3.(5+H-D?$7FN ?E.U*%<'Z\Z5-".6&* MT U6%%V@+M89"4%BA7$":9:('8!"DQ5;<:I17PNR ()6S$CC\.,2LU"EN$R M6>R(1E/VNV(U$IIE4FQ0LUR[%U1&AH> 23QYA517;='O]/?RY%/8'5*/(KBOQ.BNXX7^,IKV(A M-=$@4Q)2%>.9'B(]^$YN(\@_(ZHN?Z'1F4F=J]>. X M"1\)O)B55J8*08/+DDVFZHEI% MD831!4N8WEV2^1K5N&YCIMAQ=.2T-Y@TB.FTZMPL&I^P[(T/&]9XF52\3'X- M+W\9L=>YF9QP,W3'7H.<3M/.)6?2DJ>NW\Z.ZQR:2^=\?BY)Q)26;+$V(X6O M,!:U=HW.:8:,_08)+4*3T;A1.MU6OK-VW*,6VWT;"T]2+)DFSS$U[4&KSYU( MYS9QO:(%?:'56?0.+'K]],$E3E\<]HD6](56Y_#P*>%VMMH_^S(KT>MG]G6S M(D^%1K[3K,A?\4G@'KX)W.Z._?.^N6[ULL_N=]XK6M 76IVW0S?MCGJJP3[; MXWFO:$%?:'4.#^VVV]UO_VP-^J=O:K_Y<=(BY W\9@WVVE;;1W=0*G MT,DUU\75335;W1?>Y;=DC?E[]V9>W/H=8(I+R$&ULK55= M3]LP%/TK5H8FD ;Y;,>Z-!)M0/" A.C8GMWDMK%P[,QVVO+O9SMI:"%4,/&2 MV,X]Q^=<._?&:RX>90&@T*:D3(Z=0JEJY+HR*Z#$\HQ7P/27!1V"_=D62BS MX"9QA9

>-/F80>@>?H! M00L(7@*B-P!A"PC?"XA:0&0STUBQ>4BQPDDL^!H)$ZW9S, FTZ*U?<+,L<^4 MT%^)QJED!G1Q>E6S'')$F*P%9AF@4W21Y\0<#*;HAC6WRQS3<0H*$RI/=,C# M+$7'1R?H2 /1KX+7$K-/=/WP\,>>'H8GD+V%GS/3=B=4&CYPH^<4%^6 M&YJHG\:4CY&L< 9C1]<'"6(%3O+UBS_T?O:EZ#/)TD\BVTM?U*4O.L2>7 .F MJD 9%H"D2>7S+8>-+IZR-Y<-Y]!RFLJY2H;^\$?LKG9S]#HH&H;1?E!Z4-U_ M>A]TW@<'O5]*1?2/JR\.SC)1ZS$XH44]]I@>O_/CA^0L_TX,[?O1B].SH M^>?=CHUI=Z>ZE2"6MDM(E/&:J:8H=*M=([JP]??%^L0?39M^\DS3=#?]RR_U MO4 4%IK2._NNA8FF8S03Q2M;0^=&ULA51M;],P$/XKEI$02#"G:39022*U&XA]&*I6 9_=Y))8\TNP MG6;\>_R2AB)UY4OBL^]Y[KGSG?-1Z2?3 5CT++@T!>ZL[5>$F*H#0S ?N^WVEED9JF9 &F8DDA#4^#U8K7)O']P^,%@-"=K MY#/9*_7DC?NZP(D7!!PJZQFH^QW@%CCW1$[&KXD3SR$]\'1]9/\2Y[*F! M6\5_LMIV!?Z(40T-';A]5.-7F/*Y]GR5XB9\T1A]LPRC:C!6B0GL% @FXY\^ M3W4X :3I"X!T J1!=PP45-Y12\MM*; UZC]9US7RE*$?W,EZWK]N;.["42;2)Z^0+Y$#TK: MSJ#/LH;Z7SQQ0F>UZ5'M)KU(^$#U%5HNWJ$T23-DHO8+O,NY"LO N_Q/%:2?F97I:04%=D-A0!\ EZ]?+6Z23Q=T9;.N[!)[^6T0>]!(-U1K;KP.;'\5 N/ MNLMHF32(0^.@R=4'%U?'(8B&57UHO+VRKHW#LG/O!FCOX,X;I>S1\ 'FEZC\ M U!+ P04 " #28ZA83VJL] $# C#0 &0 'AL+W=OGKJNB M)214'8D,4KP3"YE0C5.Y<%4F@?PJ29UJ M30/<'+^P?[/B4;Z^7$&3ED#C'-N;X1Z^]0"AH8ODAP97_)NHSU M'!+E2HND!&,&"4N+?_I4%F(#X/>W ((2$+P5T"L!/2NTR,S*FE)-P[$4:R)- M-+*9@:V-1:,:EIIMO-42[S+$Z? ;99*L*,^!B)C$+*5IQ"@G+%5:YKA?6I$O MY$PIP %-Y^2*T1GC3#/ N286_V#Q^U/0E'%U@(#7RXP D[\ICQ;R7;=B8[(:KH'E>[!1SAQT*7^ MCLAJ^H>5_N'[G%C !NU.; C:ZL3C*J/CUHRF$(.4,">12/ H5M0>9KQ\J3XW MY=I*N.MN=$16TSZJM(\^PHVC+O5W1%;3?U+I/WF?&T_>XL:&H*UN]+W7X]_[ M'S^2WV3'=V?[>KMN5U=L]>IL-$?^1SBV9.VJ!AVQU6OPVLSXK;W"=M>6N'\< MYTU1?_O6W>A@S><#=G0++#+A$"/,.SI&W\NB(R\F6F2VJ9T)C2VR'2[Q*P:D M"<#[L1#Z96+ZY.J[*/P#4$L#!!0 ( -)CJ%C;;IYI7@, /(* 9 M>&PO=V]R:W-H965T3&&(UL3/;0/?O=W9""C1D3.J7Q"]WCY\[W_ENN.'B22:$ M*/2TY3M?.,&56 M.#1K4Q$.^4JEE)&I0'*595C\&9.4;T:6:VT7[NDR47K!#H27//T!XU5,K+Z%HK) J]2=<\W MGTEI4$?C13R5YHLVA6RO8Z%H)17/2F5@D%%6_/%SZ8@=!?>8@E(<*P1$% MOU3PC:$%,V/6!"L<#@7?(*&E 4T/C&^,-EA#F;[&F1*P2T%/A3=8,,J6$DV) M0+,$"X(^3(C"-)7GZ (]SB;HP]DY.D,VDGI7(LK0(Z-*MF 1Q@\)7TG,8CFT M%?#1J'94GCTNSO:.G.VC.\Y4(M$-BTF\KV^#'94QWM:8L=<(>(=%&_EN"WF. M%]3PN3Y=W6^@XU>^]0V>?[)O6VB,)8W0SZNY5 )"^%>=UPK4H!Y5Y_6ES'%$ M1A8DKB1B3:SP_3NWZWRL,_F-P/8<$%0.")K0PZ_P#-VRB&<05%^XE.=UUA80 M70.A'YUUZ'N!.[37NU:\%O(ZO1>A/7:=BEVGD=W5F@AXJ;9Q#6^<5!#(<&-U M- NLSBX#)^AW!KY_0+5.T'<[OM^OI]NMZ'8;Z1:10PMWYA!1AG<=U0*GM\/ M:;O= YJU0GX]Q5Y%L??? 3^AZ4J1N(6^J016)U1&*9 M5_J55_IO&&?]4^.L3K IS@85W4$CW9O% DHLX@L4ZZN#(HN@"D5/%[I:Q@C" M#UH(B741KN,_>$W+#5SWD/UKL< /NJY3S]UU7LJ9T\C^@2NZAXR( MI6FJ)%STBJFB]E:K5>-V9=J5@_6Q;NA,5_("4W2#4%F7E$F4D@5 .FW=/HFB MP2HFBN>F1YES!1V/&2;0E!*A!6!_P>%&RXD^H&ISP[]02P,$% @ TF.H M6"(ZT()N @ OP8 !D !X;"]W;W)K&ULK55= M;YLP%/TK%I.F3=H"@:2;,H+4I)VVAVI1HVW/+ES JC^8;9+TW^_:$)I42=2' MOH _[CD^Y^)[2;=*/YH:P)*=X-+,@]K:9A:&)J]!4#-2#4C<*946U.)45Z%I M--#"@P0/XRBZ"@5E,LA2O[;26:I:RYF$E2:F%8+JIP5PM9T'XV"_<,^JVKJ% M,$L;6L$:[.]FI7$6#BP%$R -4Y)H*.?!]7BVG+IX'_"'P=8$,O[UG,%PI ,>CO?LW[UW]/) #2P5_\L*6\^# MKP$IH*0MM_=J^P-Z/UY@KKCQ3[+M8Z. Y*VQ2O1@5""8[-YTU^?A ( \IP%Q M#XA? B9G $D/2+S13IFW=4,MS5*MMD2[:&1S Y\;CT8W3+JON+8:=QGB;'9+ MM62R,F0%FJQKJH%\)M?2LH+QUF68K"%O-;,,#/EP Y8R;CYBC'&Q)@TMBG!4 M8=X?N.@.C,\G-"S M?#T\N2 G&1*:>+[)&;ZU5?DC^=6X2WHR/1?AKFAGIJ$YS .L2@-Z T'V_MWX M*OIVRML;D1TYG0Q.)YX]>?75.65W\I9VWXCLR.YTL#N]^&&/BL(\%P7L^]LWGQ?H"NW/73)]INM:.)5,Q:0B'$BFCT1?4 MH[MVV4VL:GS'>5 6^YT"<+]4RNXG[H#AGY7]!U!+ P04 " #2 M8ZA8,&N03*\" !G!P &0 'AL+W=OYYZ[L\_QEHL'60 H]%A2)J=.H51UY;HR+:#$\I)7P/3.FHL2*ST5 MN2LK 3BSH)*ZON=%;HD)D-*$RH/$,GQOQ[P6NI;63L*BW5.'335M:LD>4_(RM M]I7(=%'ED'V-][5 M(79Q^KLX9_Y1PELL+E$P.$>^YP_1_?(&G9Z<'>$-NOP%EC=X??[ZHFU(AOTD MYN)=R0JG,'7TS9(@-N D[]\-(N_#$8G#3N+P&'O250V;JIVC%>2$,<)R?9PI M9BGT"6XH(TMI+O8F"8?A*'8W/4+"3DAX5,@WW6/L+23JJ<]G@P[W?%[X?MCO M,^I\1F\*'ECV0N31@8K0#_Q^%:-.Q>AU*FA[6YY>68;1@9@@"IY)R;@3,_ZO M,HP/RQ &XWZ?D\[GY,T)>+D4DX-#&'B3?P^AN]?\2A"Y;?$2I;QFJNF#W6KW MBEPWS?./>?,$Z2:A:R(1A;6&>I&ULK5A=CYLX%/TK%ENM6JD=L"$09I-(G0Y%:]WD/']W,+6V\!3FFQ4.6 O9EN:P#.H[]M'H<_L M%B5.7",2BHKSE_*DZ_QW'+*BB"#2)40 M5/_M8 E95B+I.OYK0*WVGF7BX?$;^I>*O":SHA*6//LWC=5F;DTM%,.:%IEZ MXON_H"%4%1CQ3%:_:-_$.A:*"JEXWB3K"O*4U?_T1_,@#A(TSG ":1+(<8)W M)L%M$MR*:%U91>N>*KJ8";Y'HHS6:.5!]6RJ;,TF9>4T/BNAKZ8Z3RV>8 >L M /0$$4]86CW:3^A9JR4N,D!\C>Y329-$0$*KBWKD+6?UBAX%CXM(H255D'#Q MBM[?@Z)I)C]HE._/]^C]NP_H'4H9^K;AA:0LEC-;Z;K+N]M14^-=72,Y4Z.+ M'CA3&XG^9#'$_7Q;\VU)DS?2=V04\(&*&^3BCX@XQ!NH9WEYNCM2CMO.@5OA MN9?/P=!#JD&\89#R=;^56QK!W-+OLP2Q VOQ^V_8=_X88F@(K,?7:_EZ8^B+ M;US1["-B>I&2-(-!1=0(?H50+D6[!?8Q\<.9O3ND,1#F$=^;M&&] B=M@9/1 M O_>@M!J9PF2D.@U2PV6.(IQ[7P8 NO1]5NZO@G]^2;Y&@+K\0U:OL$OZZ]& MF/3T-PU#]TA_ V%>X$W(L/ZF;8'3T0*_,@4BXOF6LM>Z1 19JE=_>FYN1O&N MG1M#8#WJ84L]-*'%T"1?0V ]OMCI-F#GE]780!SJ[%,0E'M73XU#8=[4"8;5 MB \\ AY?#PL5IT#V1%\&3XRUY*,IUSNS(N/,,>-PT?*$KD49G%\#Q[*LGPQ!:GVMG/_#$ MB "-.A!3:'W.G0?!HUO^90+T3Z05.B$^609/PZ:!X^ S$NQL Q[W#8\@JN]F M%@&22NCOGD*<*704Z.J9,836I]V9$3PUHD:C'L046I]SYT+PZ*9_F1K#$YEY MDR!PCM5X&D9\/SBS()+.-Y"?^(9B!4-EC:==.P^FT/HD.^=!L GM$:/VPQ1: MGW-G/\CH5G^1]AJ(WH='Z 3'*^% &''<$:T9]1YF$+K<^Z,%4W=%K1]NV\>>J67HT?H=OEW7SMX.I>]$/5"0IDRB#M89T;@)=F:C; MN_6)XMNJ0[KB2O&\.MP C4&4 ?KZFG/U=E+>H&VR+_X'4$L#!!0 ( -)C MJ%@8)F&X @0 -84 9 >&PO=V]R:W-H965T^ &T #.VB9I__V:1W@D MA$U4?TFPN?=PCGW UU[L&7\3,8!$/[(T%TLCEG)[:YHBB"&CXH9M(5=W-HQG M5*HFCTRQY4##*BE+36)9GIG1)#=6BZKOB:\6K)!IDL,31Z+(,LI_WD/*]DL# M&X>.YR2*9=EAKA9;&L$+R._;)ZY:9HL2)AGD(F$YXK!9&G?X=DU(F5!%_)W M7O2N42GEE;&WLO%7N#2LDA&D$,@2@JJ_':PA34LDQ>/?!M1HGUDF]J\/Z']4 MXI685RI@S=)_DE#&2V-NH! VM$CE,]O_"8T@M\0+6"JJ7[1O8BT#!860+&N2 M%8,LR>M_^J,9B%Z"PAE/($T".4YPSB3838)=":V95;(>J*2K!6=[Q,MHA59> M5&-392LU25Y.XXODZFZB\N3J&7:0%X">(6!1GE1#^QF]*+>$10J(;=!#(F@4 M<8AH=5/U'')>?Z+?\Q ]4OZF_/;A 21-4O%1Y7]_>4 ?WGU$[U"2HV\Q*P3- M0[$PI6)X]F0147&^0C3\A M8A%GA,_Z\G1[@H[=CKY=X=F7C_[8(-4@SCA(^:+?BBT-8&FH-UD WX&Q>O\; M]JPO8PHU@0WT.JU>9PI]]8U)FGY"N;*+H"F,.J)&\"J$\B.T6V$/$\]?F+N^ MC)$PAWB.VX8-"+HM07>2X)IE&? @H2G:09P$*8Q1G,2X=CXT@0WD>JU<3X?_ M/)UZ-8$-],Y:O;-?]E^-X/:,YJ?1TF]'7JU00VT(NM;LVU?MF+?863N M.-Z1#\?"/->:C1L1]\H"/$GQB>V!BRWC>:_&?UJ)#%]I0U8AEO5KDP@TV7"5QD#'V,UG7?M-.A"&ZKL*@V" M=5B/:*TX=*$--7<5!YEAUX M?8A6-R3;5N=0KTQ*EE67,= 0>!F@[F\8DX=&^8#V*'/U'U!+ P04 " #2 M8ZA8#+$>M),$ ">) &0 'AL+W=O-/[#^<%Y#)C'97H0\E5M.=?H2Y;F:A9LM=[=AJ&*MSQCZDKL M>&[NK(7,F#:G1L501E:4BB:!1F+,F#^;2X]BCG4['7:9+S1XG4/LN8 M_'O!4W&8!3AXO_"4;+;:7@CGTQW;\&>N?]D]2G,65I15DO%<)2)'DJ]GP3V^ MI61B XH2OR;\H$Z.D4WE18A7>_)Y-0LBVR*>\EA;!#,_;WS)T]223#O^*J%! M5:<-/#U^I_]0)&^2>6&*+T7Z6[+2VUDP"="*K]D^U4_B\",O$[JVO%BDJOB+ M#F79*$#Q7FF1E<&F!5F2'W_9EU*(DP##:0\@90!I!@S/! S*@$$S8'0F8%@& M# MECJD4.E"FV7PJQ0%)6]K0[$$A9A%MTD]R^]R?M31W$Q.GYTN1QSS7DA5/ M0:P-^T\ARYJY5.@[]&SZVFJ?H0'^%I&(#%L:M.P>/FC+QQ].>7PNW,EF4/6"0<$;GNL%[P_K'OV#?C:S MS3-+N6I[3EZ.G:1NU8[%?!:864AQ^<:#^:>O\"BZ:],($D:!8(Y^PTJ_84$? M=!I%MH^CWW\R9=!GS3/U1YN00T@A(6$4".8(>5T)>>WOB(Z0T@JYX])>,B^A M-AF/N)L"9]]Q;_/H"H]&T_#M5)_64M<#MQ3U-NV#B8^JQ$?=1^!]'(M]KA5Z MXC%/WMA+VIJ[E]BW"T'"*!#,47)<*3F&'HMC2"$A810(Y@@YJ827ZCL<>53#4;WBC+I- M=8M+BPT_J*]BH#0*17-%/%FV8^A9KB1"J0E)HU T5TU2JTE@AW+)F[ASW; Q MU96EFNN.QNJ$^AOWT>3KM3_NN/A?=%]Z^)&]^Q*H$8"BN7+65@"#>P$,:@9 M:12*YJI9^P$,; APZUH?-QV!O]K>(K562NI*W>QK4X [NH+EQ5.=6X*4FH%X BN9^5JW= >GH#I;=5R-^9-\N!DJC4#17SMHG$'"?0$!] BB- M0M%<-6N?0(!]P@6>?US[@WM+][&FN$K5IH)T-!7TTLK%#^K=W4"M!!3-%;&V M$@3<2A!0*P%*HU T5\W:2A!@*W&!=V'P_H=@Z@_^J%*U[2 =;0?M\0X&-2"@ M- I%<^6L#0@!-R $U(" TB@4S56S-B $V("4O,:WNL8__Y;^6GMKU&Y3QHT/ M N')Q@TSWC;%!AB%B@%WW(M07:TVV=P76TL:UQ?X=GG<*E-CCCMW'IC<)+E" M*5\;9'0U-E.+/&Z&.9YHL2NVA[P(;09]<;CE;,6E+6#NKX70[R>V@FI+TOQ? M4$L#!!0 ( -)CJ%CC%#MTP00 )T8 9 >&PO=V]R:W-H965TK6G7W8MH+ M:I,$U38>X*39IQ]@UXE3!UTVINN+%F.>/SP_S ,/G>PH>^8;C 5XR;."3YV- M$.6-Z_)D@W/$![3$A7RSHBQ'0CZRM,?GDMBHIR7'! M"2T PZNI,X>*'U6#[?IU/'4B'"&$Z$DD/RSQ4N< M94I)CN.O1M1I^U2&Q^57]4_:>>G,$^)X2;.O)!6;J7/M@!2O4)6)>[K[!3<. MA4HOH1G7O\&N;AN-'9!47-"\,98CR$E1_T4O#8@C S\\8^ W!OZ) 1R>,0@: M@^!;#8:-P5"3J5W1'&(DT&S"Z XPU5JJJ8*&J:VE^Z10\_X@F'Q+I)V8/0B: M/']0Y%*0T%Q^3ASI"?D YFE*5!%EX+:HOS#UXEV,!2(9?R^;_ A(83YQ MA1R-TG23IN=%W;-_IN< ?*:%V'#PL4AQVK5WI1>M*_ZK*PO?*/@9L0$(X!7P M/7_8,Y[EMYL'/>:QV7Q>2G/?T^;0X$W03DR@]8)S$Z.P@H6>F.7QQ,P90\4: MR[4GP&(/CMO=H;VNGN\02\$?OTI)<"MPSO_LFYZZ_V%__RK>W/ 2)7CJR(#" M,=MB9_;3#W#D_=S'UJ98;$FLPWW8269HB(%,EYR(0ND M6(.BRI\PZ^-9ZX9:5X7;[0SZOA]X_L3='J,R]G\I*DMB'51ABRK\3ZAV.NBJ M%UO,Y"8"\ MF">$8E(PDN(]AW6%TS! .@M$)0>.P+B5H2:Q#<-02'!D)?CTE ME,B0R.1>6,F@FY$5EENKVKPES3Y:9O$([#%B' Q!7@=:?PA2M.\+U4NCTJ5$ M+8EUB$8MTFC2Z7F!&:]N$U]Z3W"QA> 17QHSZH M1OM+H5H2ZT"];J%>&UWU/3@&7_*"/%5 U/KLSX&,QA4U?N\ ?!D&W76P>V;_U_)"T0'/6\C$O,[K'&.BK#U G,;U^VTPS MEE;58EMJ78:'M 6.OO?2M9F1+*VJQ;;4NO /&0XT)QY-VMVL6/".%,WV_+X7 M9-1S94Y$W&S 4CSX8;A4:O.J]U0S"/;JWS3%;Z_MO=1BM"E'?>[:U[1W[7-\LG]0OX,VR MOBD_R-07]S)+71/YL61X)26]020GF-5WX?6#H*6^'7ZB0M!<%S<8I9BI!O+] MBE+Q^J Z:/\C,?L'4$L#!!0 ( -)CJ%BIB1B?1@, +<. 9 >&PO M=V]R:W-H965T':0\FN6TB$KNSW0_^_6PG39.21D,+XH7&SCW']QZ?&-_^AK(G'@(( MM$UBP@=&*,3RRC2Y'T*"^25= I%OYI0E6,@A6YA\R0 '&I3$IF-9GIG@B!C# MOIZ;L&&?KD0<$9@PQ%=)@MGS"&*Z&1BVL9MXB!:A4!/FL+_$"YB"F"TG3([, MG"6($B \H@0QF ^,:_MJ;+L*H"-^1+#AA6>D2GFD]$D-[H*!8:F,( 9?* HL M?]8PACA63#*//QFID:^I@,7G'?MG7;PLYA%S&-/X9Q2(<&!T#13 '*]B\4 W M7R KJ*WX?!IS_1=MLEC+0/Z*"YID8)E!$I'T%V\S(0H R5,-<#* \%FJ8[B^@<%:/&Q:C;K7H&CDYO0. HYF<2.)O>H-.3,W2"(H*^ MAW3%,0EXWQ0R7[6JZ6>YC=+B>$A%R=$L"",IX4]:9%^OLBATYM83W MF%TBUSY'CN6T*O(9_SO,X;) N37(M#H&17C M)OA93U]O, O0KZ^2$MT)2/CO*GW3]5O5ZZL3XHHOL0\#0QX!'-@:C.''#[9G M?:H2IR&RDE2M7*I6'7MJ4U1A4T@->(Z(//*D4P7>5@F1LGN:79ULZZ%MMSM] MVTU* MU1!92:I.+E7G3;VP=6KHBQV]5.[N9I=VO3_K9,_^\>]7(M_+4; MU!!9J=)>7FGOG;W<:U*JALA*4MG6_OY@O:F;,_JB5=U6]\#.65#Q:';;=K6? M[<+5QZY-?3*=U=BY'OS:36J*K5RJLR_5>6=+9PDT)5=#;&6Y]AD'.9_/NZUKW' ?S(]65Z=9B3Y.V M=/+ZNX@(1S',):5UV9'?+$N[I'0@Z%(W&H]4R+9%/X:RLP2F N3[.:5B-U + MY+WJ\"]02P,$% @ TF.H6)%Z]$/4 P T! !D !X;"]W;W)K&ULQ5A1;]LV$/XKA%8,+;!$(B7+&.EL"Y%(CZ3CI+^^I*1(RB31@=5\19R*L_Y#IC^LN8BITI/Q<:5.P$T*4!YYA+/"]V>%FW2S56;!G4]W= ,K4+>[I= SM[:2 MI#DPF7*&!*QGSB6^6)#0 (H=?Z1PD*TQ,J'<<7YO)I^2F>,9CR"#6!D35/\\ MP!5DF;&D_?BG,NK4G ;8'C];_ZD(7@=S1R5<\>S/-%';F1,Y*($UW6?JAA]^ M@2J@D;$7\TP6?]&AVNLY*-Y+Q?,*K#W(4U;^TL0'] ZE#/V^Y7M) M62*GKM(N&V(WKMQ;E.Z1 ?=\])DSM97H(TL@>8EW=:AUO.0YW@6Q&OQ,Q3GR M\0^(>"1 MZMK]/[=!XM=O\ZC7]CUA_*XI0+0HIN32R$HVX"^R HMGE![WY(^ M%OVB3ZI""7?_P)E__QT.O1\M MT05U=('-^GP!FY2QE&VTYQEE,?0Y6)H("Q-&#![F?H3'4_>AAWA4$X^LQ#_K MY*G>>U/B1BVV412$_6QAS19:V72=KR%5>YW /LJP0WGFDW[&<(>89QX \*(&V7$=FE<]I>P M'77J%6_4$X_?NH:M^GUJ@(U<8[M>OZZ&NYKM#9QWH]C8+MF6 IYTV/!@ 9-& MCHE5#6VU5"%?U!(9B) T\DCL\GB\E$A7&W'@#47::".Q:V/Q?$:_[.CP&P$G1P3<?ECG$X^A>QVVHR-*-\#%< LT 6$VZ.]KSM7SQ!#4 M_\28?P502P,$% @ TF.H6&=9PSD! @ [ 0 !D !X;"]W;W)K&ULK511;]L@$/XKB$G3)G7!L9-VRFQ+:[)I>Y@4M=KZ M3.Q+C K&A7/<]MZ@=JM;+51')UK=LPV!G@90$JR.(HNF>*BIGD:YM8F3W6+4M2P-L2V M2G'S= U2=QF=TL/$C=A5Z"=8GC9\![> ?YNU<1X;64JAH+9"U\3 -J/?IXME MXN-#P#\!G3VRB5>RT?K>.[_+C$8^(9!0H&?@;MC#$J3T1"Z-AX&3CEMZX+%] M8/\9M#LM&VYAJ>6=*+'*Z%=*2MCR5N*-[G[!H&?N^0HM;?B3KH]-$DJ*UJ)6 M ]AEH$3=C_QQ.( /&Y@&0 A)-C?69!UHHCSU.C.V)\M&/S1CB; M@'9J1.UO\1:-6Q4.A_E2*^5.\\=#*_")?%H!-TSQJ\P_N%F0I+I!8FC>'8"OGP;OH)BA"Y@_R@( !@' 9 >&PO=V]R:W-H965TAZ(&6UA81D51(RD[^ODM*5AU' M,7J1R.7N:&9)CB8;J1YU!6#(,Z^%GGJ5,1;.?4"2PAJ*(Q%H/A:PQSJV@(AC:<>TQL^:0MWQUOT+TX[:EE0#7-9_V*E MJ:;>N4=*6-*V-O=R\Q5Z/:G%*V2MW9-L^MS (T6KC>1],3+@3'1O^MSW8:< M<<8+HKX@VB](WBF(^X+8">V8.5G7U-!\HN2&*)N-:';@>N.J40T3=AV MH%MY,+)X)+]O@2] _<%XESKQ#9*TG_*+GM"L(Q2]0R@FMU*82I,;44+YNMY' M<8/":*MP%AT$O*7JE,3A)Q(%43+"9_[_Y?$!.O'0\-CA)>_@S6#%A+ ]7=": MB@+&6M1!I ["WL-U'@5Q&*3G*&"]RWTL,3R+SI)L2'S%,AE8)@=9?D='T*UZ M(=KM:].JHL++,KJ?!Y&L"UWJAA8P]=!F-*@U>/G'#V$6?![;C.2-H),D#)/S M<3GI("<]**<_I)T8IG4+)3EBHJA;=[I=_,2Z06E/.CJDILYD&$?FYGA,=?J& M:)BF%W&TMT%OTZ*+(-E)>Z4G&_1D!_7<=+?RP G*1@Y&DF5IF.T1'$V,\+@% M>Q3]'9/AH%;.>S7VJQ6FNXU#=+#W*^=J>_$9VG[GTO]@NG\&WC6\')K4L$3( MX/0,::G.A[N)D8VSLH4T:(QN6.&O"Y1-P/6EE&8[L1\8?H;Y7U!+ P04 M" #28ZA88D59S$8" "?!0 &0 'AL+W=OLKSU-Y"151(U$#-S=K(2NB MC2DWGJHED,*!*N:%OC_Q*D(YSA+G6\@L$8UFE,-"(M54%9%/4V"B37& =XX[ MNBFU=7A94I,-+$'?UPMI+&]@*6@%7%'!D81UBJ^#JUELXUW #PJMVCLCJV0E MQ(,U;HH4^[8@8)!KRT#,9PLS8,P2F3)^]9QX2&F!^^<=^V>GW6A9$04SP7[2 M0I^S[L M 8)C@+ 'A*\!\1% U ,B)[2KS,F:$TVR1(H621MMV.S!]<:AC1K*[;^XU-+< M4H/3V8(\H:U""Y#N1? 9]GVN4)C^2)T*W@NE3H$R^@>(GW3,U#X>&N\&EXDO"6R!&*@GTH)H["+I9M%H5QD'C;?15_ M!H7CR^>@KCIO[ZU7(#=N!2B4BX;K[O4,WF'+7+OA>N6?FNW3+8MGFFYUF;>Q MH5PA!FM#Z8\NS>S*;AUTAA:UFZB5T&8^W;$T&Q2D#3#W:R'TSK )AIV<_090 M2P,$% @ TF.H6";:+PY$ @ B@8 !D !X;"]W;W)K&ULG95=;YLP%$#_BL6D/;6%0#ZV#)"2;M/RT"E*N^W9P1>P:FQF MF]#^^]F&L&Q*J)278)M[C\]UY$O<"OFL2@"-7BK&5>*56M=+WU=9"156=Z(& M;M[D0E98FZDL?%5+P,0E5

)-O./"CA:EM@M^&M>X@$?0/^JM-#-_H!!: 5=4<"0A3[S59+E>V'@7\)-" MJT[&R%:R%^+93C8D\0(K! PR;0G8/ YP#XQ9D-'XW3.]84N;>#H^TK^ZVDTM M>ZS@7K!?E.@R\3YXB$".&Z9WHOT&?3TSR\L$4^X7M5UL]-%#6:.TJ/ID8U!1 MWCWQ2W\.)PF& M4I.GTXTY7@(2/4E,*"_02DK,"S#'KE7L:[.#C?.SGK;N:.$%6H0>!->E0E\X M ?)OOF_,!KWPJ+<.1X$/6-ZA:'*#PB"LV>Z%-[W+#TGPL0-H \SX70A\G=H/A M\Y/^ 5!+ P04 " #28ZA8',4/H!X# !($0 #0 'AL+W-T>6QEUY-B9X[*67S]? M.TT_\$6,APV6JL2^Q^?<8_L&1QW69BW8S8(Q$ZU*(>L161A3?8SC>K9@):W/ M5,6D10JE2VIL5\_CNM*,YC602A'W.ITT+BF79#R4R_*J-'4T4TMI1N2\#47^ M]B4?D6YZ3B(O-U$Y&Y&[D_<_E\IC#T5'G[O3R,'[B@%,2!T7[SQ ] MZ^"Z%L.DTWUI-_S8"GGB,4:["-!LEBT3.HX<-^LV'A9*;I#AKN_!EC8Z)9=*N]P^@_\[ M;88? )L>&.1"M 9[Q ?&PXH:P[2\LATWV 4?05'3OEU7UN%A=7IU4EUI\$G\N2^\:*$T?[#9H%1F-L TB>Z9 M-GRV&_FE:77+5F933JL"]]Q[@Y[_[CK/F62:BEW3MO9?\RJ_V'%R\:\LN_\J MAX:#'IM#[+6;[+\%D^E;,/DZ:S)NCIV=LVWO9&NC$;Q!C,AW>!\1VZ31=,F% MX;+I+7B>,_GH@+/RAD[M:^*>OAV?LX(NA;EMP1'9MK^QG"_+K!UU#0O1C-JV MO\+TNFG[^F)S<9FS%!D%D@'(&*,>S0LC$?; \84YFK_!,LRQ)TA1;TLAGD#!I8',OW96N.[C5?(TW6 [>E3%8+-%*]$;*;X6@,27C=@9%EX MM[$\P,!V :L=R!_. S45YB0)["KF#7N"<23+, 1J,5RC:8JL3@J?\/Y@3TF2 M9%D8 2SL($DP!)Y&',$<@ <,21)W#AZ<1_'FG(JWOYV,?P-02P,$% @ MTF.H6)>*NQS $P( L !?3T\$MP>:4#M.*2VBZD8_1!2 M:5K5N %(MB6/:(7->= MI3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8 M%II%R=.B':5_'W'$!FH^(8.EQ)ZWS[1-L_!\9' 0]W5XTW M5U)Y8>?\"-8FA/)-RP MUU4+3@=Y870EM!,5@U?.*%D!1\4^<\5U*5@$F2"0R0$A_TDBR!2!3 \"N0@X M\*\19(9 9@>$[$4R1R#S0T*F$62!0!:TD)^YDXZ9%8.LZN#1[=_T%$&;TJ*= ME]\;>,^V/2+ZB!!]I"5:" 4J8L'#A# A-L*U+DTMH'QY[@\HEO\GY *H:^G#0ZZM2TJHRJ! $KJ4?4@L M_T^(!3 7*V&M"'0U=./>U4M8WI\0)W[(9:NCJP8453&I76-#2HOAL,P_(4[] M"W'?CFW,@^7]"7'BO^+2LD>N&A%4N9(:@B6Y"H'SMJEC3"S_3X@%<,FMAE^! M8S?"LL6:VWA $TP'";$.;L6CT!"]6U&:>RVW?@@)YH:$?NI0PA.VO1.&M^;_ M&LO*!EQ1"QMCHG,'8CLL@KF.EMSMSB<)9HF$?-Y0UQ"_2ZC9_$L,A6DB(=;$ MHEDZ\;T)2@U?P%Y"23 U),1J&"R[V8<;F"5L&2S!))$02R(NP=F'.P[O[GZ+ MX3!)).22V%&-=Z0Q)N:.A-@=724\&#W,%0FQ*U"E]1:5U6,B3DGHW8.&LUXF3Y#=SRHIS(H9A9C8O+)B.6#8^8Q)B:? MC'[U"\$L8DS,0AFQA<**/A!=@'*D9^?W5HANS;/+\#$F9J&,V$*OF%_]&HKT M]F+(0!EFH(S80*^S,(@EE)5&MT&$$DF%9B:>XQU#S$#Y7K9-PI>PV6Q4.]@P M)RNY6[.5,D\Q)F:@_)#[*>PHQL0,E.]Y1Z433UN&0%2O8TS,0/D>-UBV$,,Y MBQ@3,U!^R#T7]B'&1'?=#['K\BNL,29FH/P0^R_#F)B!\CWMQ Q\+\/YGQ@3 M,U!^R V:7A&78Q;*][Y!,VC* E-0L?\5-QA[^*E74C6]$2\P!14'6'5K9VFB M:E3OQ%>!*:@@5Q""V9NK%9B""F(%X9B]LTJ8@@KZ"BM8^HIB-73 MQX-YT)I#[>; D,PTO8W1*6:?*;%];O@+>VS=T_Y[J(GFTI7*0(44#_44<\^4 MV#W7VLD*['AG>06J9.?6AF!N'UF98N*9MN(9MP^[L]-*0-$BJK^A?P?M)5?E M#20V^-.=2\OR<+)DU2AU 6U?]1?#J[?CX&]'V<]^ E!+ P04 " #28ZA8 MK&U05SP" "O*@ &@ 'AL+U]R96QS+W=O0,UYOVR'IJO9=%MZ Y*>?- DBL>A[=U/2!?)([.83?%9R5%\ M_8/P0]3'EWQHQWUW*KM]7Q:?Q\.IK*K=./:_ZKJL=_G8EKNNSZ?SD4TW'-OQ MO!RV==^NW]MMKF6YC'JXG5$]/=[.7+Q^]?E_)G:;S7Z=?W?K/\=\&O\QN/[H MAO>RRWFL%J_ML,WCJJH_#]?=I;YLTMUY"<"O07U%@*] M!?46 KUE\K!-H+>@WD*@MZ#>0J"WH-Y"H+>@WD*@MZ#>0J"WH-Y"H+>@WD*@ MMZ+>2J"WHMY*H+>BWDJ@MTY>EA#HK:BW$NBMJ+<2Z*VHMQ+HK:BW$NBMJ+<2 MZ*VHMQ+H;:BW$>AMJ+<1Z&VHMQ'H;:BW$>AMDY?=!'H;ZFT$>AOJ;01Z&^IM M!'H;ZFT$>AOJ;01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>OOD8R6!WHYZ M.X'>CGH[@=Z.>CN!WHYZ.X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z M!X'>,?G9A$#O0+V#0.] O8- [T"]@T#O!O5N"/1N4.^&0.\&]6Y^4N\R?AUR MN?9\K_'Z/TGU>#XW7R]_67[OG-R7"\[U;45Y^@M02P,$% @ TF.H6$!K M%[H @ QBD !, !;0V]N=&5N=%]4>7!E&ULS=I-3L,P$ 7@JU39 MHL;U;P%1-L 66' !DTS;J$ELV0;*[7%20 )!!2H2;].HM3UOXI&^5<_NGCW% MR;9K^[@HUBGY4\9BM:;.QM)YZO/*TH7.IOPUK)BWU<:NB(G9S+#*]8GZ-$U# MC>+\[)*6]J%-DZMM_CDVKE\4@=I83"YV&X>L16&];YO*IKS.'OOZ4\KT-:', M)\<]<=WX>)0W%.S+A&'E^X#7/%$)3T^36AG1MN[R+;5L6TW-+L=Q?XHL> MW7+95%2[ZJ'+1\KH ]DZKHE2UY:[HD?[DU.^8=I]\H/SQS+[ O/.V^!\S!,+ M]/NXMY$,IZ<^%Z*0FOVO^)Z82Q_\?C1,NZ;ZA]GY>I]&UL4$L! A0#% @ TF.H6'2O%(??!0 VQ\ !@ M ("!#0@ 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ TF.H6/G)@M]&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H M6+%"_D')" -!< !@ ("!G"D 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ TF.H6-@\%6]1!P Q!( !D M ("!6D8 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ TF.H6 $\0,6> P C @ !D ("! MO5< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ TF.H6$I66-3P!0 Y0X !D ("!$V< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H6.56&.[: M!@ 0!0 !D ("!^W( 'AL+W=O@ >&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H6!O'Y\'% @ =P@ !D M ("![X, 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ TF.H6+"KP)AQ @ H@4 !D ("!Q)$ M 'AL+W=O&PO=V]R:W-H965TD]"P0 % + 9 M " @5B; !X;"]W;W)K&UL4$L! A0#% @ MTF.H6# S(TFZ!0 $14 !D ("!FI\ 'AL+W=O&UL4$L! A0#% @ TF.H6$LFV47" @ M3@< !D ("!G*P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H6 6+(*8H P BPD !D M ("!C;8 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ TF.H6",,U:!! @ Q 0 !D ("!W[\ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H M6)PIY$0Y @ &04 !D ("!6&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H6.&2EW=Q @ 5@8 M !D ("!)=D 'AL+W=O&PO=V]R:W-H965T !X;"]W;W)K&UL4$L! A0#% @ TF.H6)DSB5^6 @ 2P< !D M ("!*.4 'AL+W=O&PO=V]R:W-H965T MS[K$6P< Y& 9 M " @8_J !X;"]W;W)K&UL4$L! A0# M% @ TF.H6 ['R(D5 P G@D !D ("!(?( 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H6"&^ M!?1: P ,1 !D ("!:_P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TF.H6)4>]''H 0 ^0, !D M ("!' 8! 'AL+W=O&PO M=V]R:W-H965T4, 0!X;"]W;W)K&UL4$L! A0#% @ TF.H6.)1 [$4 @ E00 !D ("! MP0\! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ TF.H6"(ZT()N @ OP8 !D ("!V1@! 'AL+W=O 0!X M;"]W;W)K&UL4$L! A0#% @ TF.H6!@F8;@" M! UA0 !D ("!WR(! 'AL+W=OM),$ ">) &0 M@($8)P$ >&PO=V]R:W-H965T(K 0!X;"]W;W)K&UL4$L! A0#% @ TF.H6*F)&)]& P MPX !D M ("!VC ! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ TF.H6*U[F#_* @ & < !D ("!FCH! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MTF.H6!S%#Z > P 2!$ T ( !DT(! 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ TF.H M6*QM4%<\ @ KRH !H ( !ADP! 'AL+U]R96QS+W=O XML 84 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 85 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 87 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 179 276 1 false 63 0 false 8 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.mecinc.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - Condensed Consolidated Statements of Comprehensive Income Sheet http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome Condensed Consolidated Statements of Comprehensive Income Statements 4 false false R5.htm 00300 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows Condensed Consolidated Statements of Cash Flows Statements 5 false false R6.htm 00400 - Statement - Condensed Consolidated Statements of Shareholders' Equity Sheet http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity Condensed Consolidated Statements of Shareholders' Equity Statements 6 false false R7.htm 10101 - Disclosure - Basis of presentation Sheet http://www.mecinc.com/role/DisclosureBasisOfPresentation Basis of presentation Notes 7 false false R8.htm 10201 - Disclosure - Acquisitions Sheet http://www.mecinc.com/role/DisclosureAcquisitions Acquisitions Notes 8 false false R9.htm 10301 - Disclosure - Select balance sheet data Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetData Select balance sheet data Notes 9 false false R10.htm 10401 - Disclosure - Debt Sheet http://www.mecinc.com/role/DisclosureDebt Debt Notes 10 false false R11.htm 10501 - Disclosure - Leases Sheet http://www.mecinc.com/role/DisclosureLeases Leases Notes 11 false false R12.htm 10601 - Disclosure - Employee stock ownership plan Sheet http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlan Employee stock ownership plan Notes 12 false false R13.htm 10701 - Disclosure - Retirement plans Sheet http://www.mecinc.com/role/DisclosureRetirementPlans Retirement plans Notes 13 false false R14.htm 10801 - Disclosure - Income taxes Sheet http://www.mecinc.com/role/DisclosureIncomeTaxes Income taxes Notes 14 false false R15.htm 10901 - Disclosure - Commitments and contingencies Sheet http://www.mecinc.com/role/DisclosureCommitmentsAndContingencies Commitments and contingencies Notes 15 false false R16.htm 11001 - Disclosure - Deferred compensation Sheet http://www.mecinc.com/role/DisclosureDeferredCompensation Deferred compensation Notes 16 false false R17.htm 11101 - Disclosure - Self-Funded insurance Sheet http://www.mecinc.com/role/DisclosureSelfFundedInsurance Self-Funded insurance Notes 17 false false R18.htm 11201 - Disclosure - Segments Sheet http://www.mecinc.com/role/DisclosureSegments Segments Notes 18 false false R19.htm 11301 - Disclosure - Fair value of financial instruments Sheet http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstruments Fair value of financial instruments Notes 19 false false R20.htm 11401 - Disclosure - Earnings Per Share Sheet http://www.mecinc.com/role/DisclosureEarningsPerShare Earnings Per Share Notes 20 false false R21.htm 11501 - Disclosure - Revenue Recognition Sheet http://www.mecinc.com/role/DisclosureRevenueRecognition Revenue Recognition Notes 21 false false R22.htm 11601 - Disclosure - Concentration of major customers Sheet http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomers Concentration of major customers Notes 22 false false R23.htm 11701 - Disclosure - Stock-based compensation Sheet http://www.mecinc.com/role/DisclosureStockBasedCompensation Stock-based compensation Notes 23 false false R24.htm 11801 - Disclosure - Common Equity Sheet http://www.mecinc.com/role/DisclosureCommonEquity Common Equity Notes 24 false false R25.htm 11901 - Disclosure - Subsequent events Sheet http://www.mecinc.com/role/DisclosureSubsequentEvents Subsequent events Notes 25 false false R26.htm 20102 - Disclosure - Basis of presentation (Policies) Sheet http://www.mecinc.com/role/DisclosureBasisOfPresentationPolicies Basis of presentation (Policies) Policies 26 false false R27.htm 30203 - Disclosure - Acquisitions (Tables) Sheet http://www.mecinc.com/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.mecinc.com/role/DisclosureAcquisitions 27 false false R28.htm 30303 - Disclosure - Select balance sheet data (Tables) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables Select balance sheet data (Tables) Tables http://www.mecinc.com/role/DisclosureSelectBalanceSheetData 28 false false R29.htm 30503 - Disclosure - Leases (Tables) Sheet http://www.mecinc.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.mecinc.com/role/DisclosureLeases 29 false false R30.htm 31303 - Disclosure - Fair value of financial instruments (Tables) Sheet http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsTables Fair value of financial instruments (Tables) Tables http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstruments 30 false false R31.htm 31403 - Disclosure - Earnings Per Share (Tables) Sheet http://www.mecinc.com/role/DisclosureEarningsPerShareTables Earnings Per Share (Tables) Tables http://www.mecinc.com/role/DisclosureEarningsPerShare 31 false false R32.htm 31503 - Disclosure - Revenue Recognition (Tables) Sheet http://www.mecinc.com/role/DisclosureRevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.mecinc.com/role/DisclosureRevenueRecognition 32 false false R33.htm 31603 - Disclosure - Concentration of major customers (Tables) Sheet http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersTables Concentration of major customers (Tables) Tables http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomers 33 false false R34.htm 31703 - Disclosure - Stock-based compensation (Tables) Sheet http://www.mecinc.com/role/DisclosureStockBasedCompensationTables Stock-based compensation (Tables) Tables http://www.mecinc.com/role/DisclosureStockBasedCompensation 34 false false R35.htm 31803 - Disclosure - Common Equity (Tables) Sheet http://www.mecinc.com/role/DisclosureCommonEquityTables Common Equity (Tables) Tables http://www.mecinc.com/role/DisclosureCommonEquity 35 false false R36.htm 40101 - Disclosure - Basis of presentation (Details) Sheet http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails Basis of presentation (Details) Details http://www.mecinc.com/role/DisclosureBasisOfPresentationPolicies 36 false false R37.htm 40201 - Disclosure - Acquisitions (Details) Sheet http://www.mecinc.com/role/DisclosureAcquisitionsDetails Acquisitions (Details) Details http://www.mecinc.com/role/DisclosureAcquisitionsTables 37 false false R38.htm 40202 - Disclosure - Acquisitions - Assets acquired, liabilities assumed (Details) Sheet http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails Acquisitions - Assets acquired, liabilities assumed (Details) Details 38 false false R39.htm 40203 - Disclosure - Acquisitions - Assets (Details) Sheet http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails Acquisitions - Assets (Details) Details 39 false false R40.htm 40204 - Disclosure - Acquisitions - Pro Forma Financial Information (Details) Sheet http://www.mecinc.com/role/DisclosureAcquisitionsProFormaFinancialInformationDetails Acquisitions - Pro Forma Financial Information (Details) Details 40 false false R41.htm 40301 - Disclosure - Select balance sheet data - Schedule of Inventories (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails Select balance sheet data - Schedule of Inventories (Details) Details 41 false false R42.htm 40302 - Disclosure - Select balance sheet data - Schedule of Property, Plant and Equipment (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails Select balance sheet data - Schedule of Property, Plant and Equipment (Details) Details 42 false false R43.htm 40303 - Disclosure - Select balance sheet data - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataAdditionalInformationDetails Select balance sheet data - Additional Information (Details) Details 43 false false R44.htm 40304 - Disclosure - Select balance sheet data - Schedule of Changes In Goodwill (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInGoodwillDetails Select balance sheet data - Schedule of Changes In Goodwill (Details) Details 44 false false R45.htm 40305 - Disclosure - Select balance sheet data - Schedule of Listing of Intangible Assets (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails Select balance sheet data - Schedule of Listing of Intangible Assets (Details) Details 45 false false R46.htm 40306 - Disclosure - Select balance sheet data - Schedule of Changes In Intangible Assets (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInIntangibleAssetsDetails Select balance sheet data - Schedule of Changes In Intangible Assets (Details) Details 46 false false R47.htm 40307 - Disclosure - Select balance sheet data - Schedule of Future Amortization Expense (Details) Sheet http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails Select balance sheet data - Schedule of Future Amortization Expense (Details) Details 47 false false R48.htm 40401 - Disclosure - Debt - Credit Agreements (Details) Sheet http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails Debt - Credit Agreements (Details) Details 48 false false R49.htm 40402 - Disclosure - Debt - Other Debt (Details) Sheet http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails Debt - Other Debt (Details) Details 49 false false R50.htm 40501 - Disclosure - Leases - Components of lease expense (Details) Sheet http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails Leases - Components of lease expense (Details) Details 50 false false R51.htm 40502 - Disclosure - Leases - Supplemental cash flow information (Details) Sheet http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails Leases - Supplemental cash flow information (Details) Details 51 false false R52.htm 40601 - Disclosure - Employee stock ownership plan - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails Employee stock ownership plan - Additional Information (Details) Details 52 false false R53.htm 40701 - Disclosure - Retirement plans - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails Retirement plans - Additional Information (Details) Details 53 false false R54.htm 40801 - Disclosure - Income taxes - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureIncomeTaxesAdditionalInformationDetails Income taxes - Additional Information (Details) Details 54 false false R55.htm 40901 - Disclosure - Commitments and contingencies (Details) Sheet http://www.mecinc.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and contingencies (Details) Details http://www.mecinc.com/role/DisclosureCommitmentsAndContingencies 55 false false R56.htm 41001 - Disclosure - Deferred compensation - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails Deferred compensation - Additional Information (Details) Details 56 false false R57.htm 41101 - Disclosure - Self-Funded insurance - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureSelfFundedInsuranceAdditionalInformationDetails Self-Funded insurance - Additional Information (Details) Details 57 false false R58.htm 41201 - Disclosure - Segments - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureSegmentsAdditionalInformationDetails Segments - Additional Information (Details) Details 58 false false R59.htm 41301 - Disclosure - Fair value of financial instruments - Assets and Liabilities at Fair Value (Details) Sheet http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails Fair value of financial instruments - Assets and Liabilities at Fair Value (Details) Details 59 false false R60.htm 41401 - Disclosure - Earnings Per Share (Details) Sheet http://www.mecinc.com/role/DisclosureEarningsPerShareDetails Earnings Per Share (Details) Details http://www.mecinc.com/role/DisclosureEarningsPerShareTables 60 false false R61.htm 41402 - Disclosure - Earnings Per Share - Antidilutive Securities (Details) Sheet http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails Earnings Per Share - Antidilutive Securities (Details) Details 61 false false R62.htm 41501 - Disclosure - Revenue Recognition - Schedule of Changes in Contract Assets and Liabilities (Details) Sheet http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfChangesInContractAssetsAndLiabilitiesDetails Revenue Recognition - Schedule of Changes in Contract Assets and Liabilities (Details) Details 62 false false R63.htm 41502 - Disclosure - Revenue Recognition - Schedule of Disaggregation of Revenue by Product Category (Details) Sheet http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails Revenue Recognition - Schedule of Disaggregation of Revenue by Product Category (Details) Details 63 false false R64.htm 41503 - Disclosure - Revenue Recognition - Schedule of Disaggregation of Revenue by End Market (Details) Sheet http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails Revenue Recognition - Schedule of Disaggregation of Revenue by End Market (Details) Details 64 false false R65.htm 41601 - Disclosure - Concentration of major customers - Schedule of Major Customer Concentrations (Details) Sheet http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails Concentration of major customers - Schedule of Major Customer Concentrations (Details) Details 65 false false R66.htm 41701 - Disclosure - Stock-based compensation - Additional Information (Details) Sheet http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-based compensation - Additional Information (Details) Details 66 false false R67.htm 41702 - Disclosure - Stock-based compensation - Summary of Stock-based Compensation Expenses (Details) Sheet http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails Stock-based compensation - Summary of Stock-based Compensation Expenses (Details) Details 67 false false R68.htm 41703 - Disclosure - Stock-based compensation - Schedule of Unrecognized Stock-based Compensation Expense (Details) Sheet http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails Stock-based compensation - Schedule of Unrecognized Stock-based Compensation Expense (Details) Details 68 false false R69.htm 41801 - Disclosure - Common Equity (Details) Sheet http://www.mecinc.com/role/DisclosureCommonEquityDetails Common Equity (Details) Details http://www.mecinc.com/role/DisclosureCommonEquityTables 69 false false R70.htm 41802 - Disclosure - Common Equity - Changes in outstanding common shares (Details) Sheet http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails Common Equity - Changes in outstanding common shares (Details) Details 70 false false R71.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 71 false false R72.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 72 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 1 fact(s) appearing in ix:hidden were eligible for transformation: mec:ProductRedevelopmentCyclePeriod - tmb-20240331x10q.htm 9 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 2 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies - tmb-20240331x10q.htm 9 [dq-0712-Presentation-Base-Set-Order] Role '41802 - Disclosure - Common Equity - Changes in outstanding common shares (Details)', a level 4, Detail role, appears before '995410 - Disclosure - Pay vs Performance Disclosure', a level 1, Note role. https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd 30, tmb-20240331.xsd 213 tmb-20240331.xsd tmb-20240331_cal.xml tmb-20240331_def.xml tmb-20240331_lab.xml tmb-20240331_pre.xml tmb-20240331x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 90 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "tmb-20240331x10q.htm": { "nsprefix": "mec", "nsuri": "http://www.mecinc.com/20240331", "dts": { "schema": { "local": [ "tmb-20240331.xsd" ], "remote": [ "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/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "tmb-20240331_cal.xml" ] }, "definitionLink": { "local": [ "tmb-20240331_def.xml" ] }, "labelLink": { "local": [ "tmb-20240331_lab.xml" ] }, "presentationLink": { "local": [ "tmb-20240331_pre.xml" ] }, "inline": { "local": [ "tmb-20240331x10q.htm" ] } }, "keyStandard": 233, "keyCustom": 43, "axisStandard": 23, "axisCustom": 0, "memberStandard": 32, "memberCustom": 29, "hidden": { "total": 10, "http://xbrl.sec.gov/dei/2023": 5, "http://fasb.org/us-gaap/2023": 4, "http://www.mecinc.com/20240331": 1 }, "contextCount": 179, "entityCount": 1, "segmentCount": 63, "elementCount": 535, "unitCount": 8, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 519, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "00100 - Statement - Condensed Consolidated Balance Sheets", "shortName": "Condensed Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "longName": "00200 - Statement - Condensed Consolidated Statements of Comprehensive Income", "shortName": "Condensed Consolidated Statements of Comprehensive Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:CostOfRevenue", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R5": { "role": "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "00300 - Statement - Condensed Consolidated Statements of Cash Flows", "shortName": "Condensed Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity", "longName": "00400 - Statement - Condensed Consolidated Statements of Shareholders' Equity", "shortName": "Condensed Consolidated Statements of Shareholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_nkJh38AGh064XmsUvJNfdw", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_nkJh38AGh064XmsUvJNfdw", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.mecinc.com/role/DisclosureBasisOfPresentation", "longName": "10101 - Disclosure - Basis of presentation", "shortName": "Basis of presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.mecinc.com/role/DisclosureAcquisitions", "longName": "10201 - Disclosure - Acquisitions", "shortName": "Acquisitions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetData", "longName": "10301 - Disclosure - Select balance sheet data", "shortName": "Select balance sheet data", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.mecinc.com/role/DisclosureDebt", "longName": "10401 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.mecinc.com/role/DisclosureLeases", "longName": "10501 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:LeaseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:LeaseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlan", "longName": "10601 - Disclosure - Employee stock ownership plan", "shortName": "Employee stock ownership plan", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:EmployeeStockOwnershipPlanDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:EmployeeStockOwnershipPlanDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.mecinc.com/role/DisclosureRetirementPlans", "longName": "10701 - Disclosure - Retirement plans", "shortName": "Retirement plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.mecinc.com/role/DisclosureIncomeTaxes", "longName": "10801 - Disclosure - Income taxes", "shortName": "Income taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.mecinc.com/role/DisclosureCommitmentsAndContingencies", "longName": "10901 - Disclosure - Commitments and contingencies", "shortName": "Commitments and contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:LossContingencyDisclosures", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:LossContingencyDisclosures", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.mecinc.com/role/DisclosureDeferredCompensation", "longName": "11001 - Disclosure - Deferred compensation", "shortName": "Deferred compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.mecinc.com/role/DisclosureSelfFundedInsurance", "longName": "11101 - Disclosure - Self-Funded insurance", "shortName": "Self-Funded insurance", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:SelfFundedMedicalInsurancePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:SelfFundedMedicalInsurancePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.mecinc.com/role/DisclosureSegments", "longName": "11201 - Disclosure - Segments", "shortName": "Segments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstruments", "longName": "11301 - Disclosure - Fair value of financial instruments", "shortName": "Fair value of financial instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.mecinc.com/role/DisclosureEarningsPerShare", "longName": "11401 - Disclosure - Earnings Per Share", "shortName": "Earnings Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.mecinc.com/role/DisclosureRevenueRecognition", "longName": "11501 - Disclosure - Revenue Recognition", "shortName": "Revenue Recognition", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomers", "longName": "11601 - Disclosure - Concentration of major customers", "shortName": "Concentration of major customers", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.mecinc.com/role/DisclosureStockBasedCompensation", "longName": "11701 - Disclosure - Stock-based compensation", "shortName": "Stock-based compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.mecinc.com/role/DisclosureCommonEquity", "longName": "11801 - Disclosure - Common Equity", "shortName": "Common Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.mecinc.com/role/DisclosureSubsequentEvents", "longName": "11901 - Disclosure - Subsequent events", "shortName": "Subsequent events", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.mecinc.com/role/DisclosureBasisOfPresentationPolicies", "longName": "20102 - Disclosure - Basis of presentation (Policies)", "shortName": "Basis of presentation (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:NatureOfOperationsPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:NatureOfOperationsPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.mecinc.com/role/DisclosureAcquisitionsTables", "longName": "30203 - Disclosure - Acquisitions (Tables)", "shortName": "Acquisitions (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables", "longName": "30303 - Disclosure - Select balance sheet data (Tables)", "shortName": "Select balance sheet data (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.mecinc.com/role/DisclosureLeasesTables", "longName": "30503 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsTables", "longName": "31303 - Disclosure - Fair value of financial instruments (Tables)", "shortName": "Fair value of financial instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.mecinc.com/role/DisclosureEarningsPerShareTables", "longName": "31403 - Disclosure - Earnings Per Share (Tables)", "shortName": "Earnings Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.mecinc.com/role/DisclosureRevenueRecognitionTables", "longName": "31503 - Disclosure - Revenue Recognition (Tables)", "shortName": "Revenue Recognition (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersTables", "longName": "31603 - Disclosure - Concentration of major customers (Tables)", "shortName": "Concentration of major customers (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.mecinc.com/role/DisclosureStockBasedCompensationTables", "longName": "31703 - Disclosure - Stock-based compensation (Tables)", "shortName": "Stock-based compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.mecinc.com/role/DisclosureCommonEquityTables", "longName": "31803 - Disclosure - Common Equity (Tables)", "shortName": "Common Equity (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails", "longName": "40101 - Disclosure - Basis of presentation (Details)", "shortName": "Basis of presentation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:NumberOfFacilities", "unitRef": "Unit_Standard_facility_zFlIp7elikeeapl6SeBmgA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "mec:NatureOfOperationsPolicyTextBlock", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:NumberOfFacilities", "unitRef": "Unit_Standard_facility_zFlIp7elikeeapl6SeBmgA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "mec:NatureOfOperationsPolicyTextBlock", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.mecinc.com/role/DisclosureAcquisitionsDetails", "longName": "40201 - Disclosure - Acquisitions (Details)", "shortName": "Acquisitions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_6_19_2023_To_6_19_2023_us-gaap_BusinessAcquisitionAxis_mec_MidStatesAluminumMember_q5_nTnBudkqtdB4MgG8TWA", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_6_19_2023_To_6_19_2023_us-gaap_BusinessAcquisitionAxis_mec_MidStatesAluminumMember_q5_nTnBudkqtdB4MgG8TWA", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "longName": "40202 - Disclosure - Acquisitions - Assets acquired, liabilities assumed (Details)", "shortName": "Acquisitions - Assets acquired, liabilities assumed (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_7_1_2023_us-gaap_BusinessAcquisitionAxis_mec_MidStatesAluminumMember_m-F7pJOb8U6eLDqV5gHo-Q", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R39": { "role": "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "longName": "40203 - Disclosure - Acquisitions - Assets (Details)", "shortName": "Acquisitions - Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_7_1_2023_us-gaap_BusinessAcquisitionAxis_mec_MidStatesAluminumMember_R7BSHOJPJ0C67Q96Sw3AHA", "name": "mec:InventoryFairValuePeriodIncreaseDecreaseTotal", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R40": { "role": "http://www.mecinc.com/role/DisclosureAcquisitionsProFormaFinancialInformationDetails", "longName": "40204 - Disclosure - Acquisitions - Pro Forma Financial Information (Details)", "shortName": "Acquisitions - Pro Forma Financial Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_3_31_2023_3MtmfF4aD0y203o_MiePXA", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_3_31_2023_3MtmfF4aD0y203o_MiePXA", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails", "longName": "40301 - Disclosure - Select balance sheet data - Schedule of Inventories (Details)", "shortName": "Select balance sheet data - Schedule of Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:InventoryFinishedGoodsNetOfReserves", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:InventoryFinishedGoodsNetOfReserves", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails", "longName": "40302 - Disclosure - Select balance sheet data - Schedule of Property, Plant and Equipment (Details)", "shortName": "Select balance sheet data - Schedule of Property, Plant and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataAdditionalInformationDetails", "longName": "40303 - Disclosure - Select balance sheet data - Additional Information (Details)", "shortName": "Select balance sheet data - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:Depreciation", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R44": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInGoodwillDetails", "longName": "40304 - Disclosure - Select balance sheet data - Schedule of Changes In Goodwill (Details)", "shortName": "Select balance sheet data - Schedule of Changes In Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails", "longName": "40305 - Disclosure - Select balance sheet data - Schedule of Listing of Intangible Assets (Details)", "shortName": "Select balance sheet data - Schedule of Listing of Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInIntangibleAssetsDetails", "longName": "40306 - Disclosure - Select balance sheet data - Schedule of Changes In Intangible Assets (Details)", "shortName": "Select balance sheet data - Schedule of Changes In Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_12_31_2023_6qUXVpeAJkGZ9_jr4mDHYw", "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R47": { "role": "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails", "longName": "40307 - Disclosure - Select balance sheet data - Schedule of Future Amortization Expense (Details)", "shortName": "Select balance sheet data - Schedule of Future Amortization Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails", "longName": "40401 - Disclosure - Debt - Credit Agreements (Details)", "shortName": "Debt - Credit Agreements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:LongTermLineOfCredit", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_DebtInstrumentAxis_mec_AmendedAndRestatedCreditAgreementMember_UrJfUmhuG0KVmTs0j8BuEA", "name": "mec:MinimumInterestCoverageRatios", "unitRef": "Unit_Standard_pure_UIoJh3H4sU6U-wax8jZGfQ", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R49": { "role": "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails", "longName": "40402 - Disclosure - Debt - Other Debt (Details)", "shortName": "Debt - Other Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_BusinessAcquisitionAxis_mec_MidStatesAluminumMember_us-gaap_DebtInstrumentAxis_mec_FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember_Do_HyaOQvk22Ld_wOfVs7Q", "name": "us-gaap:DebtInstrumentPeriodicPayment", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_BusinessAcquisitionAxis_mec_MidStatesAluminumMember_us-gaap_DebtInstrumentAxis_mec_FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember_Do_HyaOQvk22Ld_wOfVs7Q", "name": "us-gaap:DebtInstrumentPeriodicPayment", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails", "longName": "40501 - Disclosure - Leases - Components of lease expense (Details)", "shortName": "Leases - Components of lease expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "longName": "40502 - Disclosure - Leases - Supplemental cash flow information (Details)", "shortName": "Leases - Supplemental cash flow information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mec:LesseeSupplementalCashFlowInformationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mec:LesseeSupplementalCashFlowInformationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails", "longName": "40601 - Disclosure - Employee stock ownership plan - Additional Information (Details)", "shortName": "Employee stock ownership plan - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_1_1_2023_4hdKWIM3E0SklbF1HXW8Cw", "name": "mec:EmployeeStockOwnershipPlanEsopDistributionPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "mec:EmployeeStockOwnershipPlanDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_1_1_2023_4hdKWIM3E0SklbF1HXW8Cw", "name": "mec:EmployeeStockOwnershipPlanEsopDistributionPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "mec:EmployeeStockOwnershipPlanDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails", "longName": "40701 - Disclosure - Retirement plans - Additional Information (Details)", "shortName": "Retirement plans - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "Unit_Standard_pure_UIoJh3H4sU6U-wax8jZGfQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "Unit_Standard_pure_UIoJh3H4sU6U-wax8jZGfQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.mecinc.com/role/DisclosureIncomeTaxesAdditionalInformationDetails", "longName": "40801 - Disclosure - Income taxes - Additional Information (Details)", "shortName": "Income taxes - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_UIoJh3H4sU6U-wax8jZGfQ", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R55": { "role": "http://www.mecinc.com/role/DisclosureCommitmentsAndContingenciesDetails", "longName": "40901 - Disclosure - Commitments and contingencies (Details)", "shortName": "Commitments and contingencies (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_8_4_2022_ckrebvsodUukaCvPmx-1ig", "name": "mec:GainContingencyPendingClaimsNumber", "unitRef": "Unit_Standard_claim_e6QkxRV5hEyaIoR3HKRvbQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:LossContingencyDisclosures", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_8_4_2022_ckrebvsodUukaCvPmx-1ig", "name": "mec:GainContingencyPendingClaimsNumber", "unitRef": "Unit_Standard_claim_e6QkxRV5hEyaIoR3HKRvbQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:LossContingencyDisclosures", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails", "longName": "41001 - Disclosure - Deferred compensation - Additional Information (Details)", "shortName": "Deferred compensation - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DeferredCompensationArrangementWithIndividualDescription", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CompensationRelatedCostsGeneralTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:DeferredCompensationArrangementWithIndividualDescription", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CompensationRelatedCostsGeneralTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.mecinc.com/role/DisclosureSelfFundedInsuranceAdditionalInformationDetails", "longName": "41101 - Disclosure - Self-Funded insurance - Additional Information (Details)", "shortName": "Self-Funded insurance - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:ReinsurancePolicyRetentionToLimitAggregateExpense", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "mec:SelfFundedMedicalInsurancePlanTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "mec:ReinsurancePolicyRetentionToLimitAggregateExpense", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "mec:SelfFundedMedicalInsurancePlanTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.mecinc.com/role/DisclosureSegmentsAdditionalInformationDetails", "longName": "41201 - Disclosure - Segments - Additional Information (Details)", "shortName": "Segments - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_r2_JvHmk9kmIfVujy2z4sQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "mec:NatureOfOperationsPolicyTextBlock", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R59": { "role": "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails", "longName": "41301 - Disclosure - Fair value of financial instruments - Assets and Liabilities at Fair Value (Details)", "shortName": "Fair value of financial instruments - Assets and Liabilities at Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_cTWHppBhM0iPv9_ggxEpeQ", "name": "us-gaap:LiabilitiesFairValueDisclosure", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_cTWHppBhM0iPv9_ggxEpeQ", "name": "us-gaap:LiabilitiesFairValueDisclosure", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails", "longName": "41401 - Disclosure - Earnings Per Share (Details)", "shortName": "Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R61": { "role": "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails", "longName": "41402 - Disclosure - Earnings Per Share - Antidilutive Securities (Details)", "shortName": "Earnings Per Share - Antidilutive Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_SE2l6pLL-U-EQ70znRcmGA", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_SE2l6pLL-U-EQ70znRcmGA", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfChangesInContractAssetsAndLiabilitiesDetails", "longName": "41501 - Disclosure - Revenue Recognition - Schedule of Changes in Contract Assets and Liabilities (Details)", "shortName": "Revenue Recognition - Schedule of Changes in Contract Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "As_Of_12_31_2023_6qUXVpeAJkGZ9_jr4mDHYw", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_6qUXVpeAJkGZ9_jr4mDHYw", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails", "longName": "41502 - Disclosure - Revenue Recognition - Schedule of Disaggregation of Revenue by Product Category (Details)", "shortName": "Revenue Recognition - Schedule of Disaggregation of Revenue by Product Category (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_4LJJEL3bkkahYOu8Vk6CFQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R64": { "role": "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails", "longName": "41503 - Disclosure - Revenue Recognition - Schedule of Disaggregation of Revenue by End Market (Details)", "shortName": "Revenue Recognition - Schedule of Disaggregation of Revenue by End Market (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_EquitySecuritiesByIndustryAxis_mec_CommercialVehicleMember_DJTBS61KKEW3yDpeYIJ5CA", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "unique": true } }, "R65": { "role": "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails", "longName": "41601 - Disclosure - Concentration of major customers - Schedule of Major Customer Concentrations (Details)", "shortName": "Concentration of major customers - Schedule of Major Customer Concentrations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_mec_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_1KRy_HJTb0S2J6WWl6C6xw", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_UIoJh3H4sU6U-wax8jZGfQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_mec_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_1KRy_HJTb0S2J6WWl6C6xw", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_UIoJh3H4sU6U-wax8jZGfQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "41701 - Disclosure - Stock-based compensation - Additional Information (Details)", "shortName": "Stock-based compensation - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails", "longName": "41702 - Disclosure - Stock-based compensation - Summary of Stock-based Compensation Expenses (Details)", "shortName": "Stock-based compensation - Summary of Stock-based Compensation Expenses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "longName": "41703 - Disclosure - Stock-based compensation - Schedule of Unrecognized Stock-based Compensation Expense (Details)", "shortName": "Stock-based compensation - Schedule of Unrecognized Stock-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "As_Of_12_31_2023_6qUXVpeAJkGZ9_jr4mDHYw", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mec:ScheduleOfUnrecognizedStockBasedCompensationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_6qUXVpeAJkGZ9_jr4mDHYw", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mec:ScheduleOfUnrecognizedStockBasedCompensationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.mecinc.com/role/DisclosureCommonEquityDetails", "longName": "41801 - Disclosure - Common Equity (Details)", "shortName": "Common Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "As_Of_3_31_2024_97geovsSQk-eb3OATX9xIg", "name": "us-gaap:CommonStockSharesAuthorized", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R70": { "role": "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails", "longName": "41802 - Disclosure - Common Equity - Changes in outstanding common shares (Details)", "shortName": "Common Equity - Changes in outstanding common shares (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_H6vdKf3NxUGSu4bzg-_-ag", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_H6vdKf3NxUGSu4bzg-_-ag", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "Unit_Standard_shares_2cL3yiO9vEOqSxT3GQieBw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } }, "R71": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "71", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_p7ltDx7TR0WNvcezyReqFA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R72": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "72", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_nAcplorP_EW_3iNd-U1Qfw", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tmb-20240331x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable Current", "terseLabel": "Accounts payable", "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)." } } }, "auth_ref": [ "r14", "r595" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r555" ] }, "us-gaap_AccruedBonusesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedBonusesCurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Bonuses Current", "terseLabel": "Profit sharing and bonus", "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. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities Current [Abstract]", "terseLabel": "Accrued liabilities:" } } }, "auth_ref": [] }, "mec_AccruedSalariesWagesAndPayrollTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "AccruedSalariesWagesAndPayrollTaxesCurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Accrued salaries, wages and payroll taxes, current.", "label": "Accrued Salaries Wages And Payroll Taxes Current", "terseLabel": "Salaries, wages, and payroll taxes" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation Depletion And Amortization Property Plant And Equipment", "terseLabel": "Less accumulated depreciation", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r48", "r136", "r462" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r646" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid In Capital Common Stock", "terseLabel": "Additional paid-in-capital", "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." } } }, "auth_ref": [ "r86" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in-Capital [Member]", "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." } } }, "auth_ref": [ "r369", "r370", "r371", "r487", "r698", "r699", "r700", "r719", "r738" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r652" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r652" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r652" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r652" ] }, "us-gaap_AdjustmentForAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentForAmortization", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustment For Amortization", "terseLabel": "Amortization", "documentation": "The aggregate amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives." } } }, "auth_ref": [ "r7", "r46" ] }, "mec_AdjustmentsToAdditionalPaidInCapitalRestrictedStockUnitsEeTaxNetting": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "AdjustmentsToAdditionalPaidInCapitalRestrictedStockUnitsEeTaxNetting", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from restricted stock units EE tax netting.", "label": "Adjustments to Additional Paid in Capital, Restricted Stock Units EE Tax Netting", "negatedLabel": "Restricted stock units net of tax withholding" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r61", "r62", "r335" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "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 (used in) operating activities:" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r617", "r628", "r638", "r663" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r620", "r631", "r641", "r666" ] }, "mec_AgricultureMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "AgricultureMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "documentation": "Agriculture.", "label": "Agriculture [Member]", "terseLabel": "Agriculture" } } }, "auth_ref": [] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r652" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r659" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r624", "r632", "r642", "r659", "r667", "r671", "r679" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r677" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Allocated Share Based Compensation Expense", "terseLabel": "Stock based compensation expense, net of tax", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r365", "r372" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Allowance For Doubtful Accounts Receivable", "terseLabel": "Allowances for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r141", "r219", "r223", "r224", "r226", "r733" ] }, "mec_AmendedAndRestatedCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "AmendedAndRestatedCreditAgreementMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amended and restated credit agreement.", "label": "Amended And Restated Credit Agreement [Member]", "terseLabel": "A&R Credit Agreement [Member]" } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "mec_AmortizableIntangibleAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "AmortizableIntangibleAssetsAbstract", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amortizable intangible assets.", "label": "Amortizable Intangible Assets [Abstract]", "terseLabel": "Amortizable intangible assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInIntangibleAssetsDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Amortization Of Intangible Assets", "negatedLabel": "Amortization expense", "terseLabel": "Amortization of intangible assets", "verboseLabel": "Amortization expense", "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." } } }, "auth_ref": [ "r7", "r41", "r46" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount", "terseLabel": "Antidilutive securities excluded from computation of diluted earnings per share", "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." } } }, "auth_ref": [ "r188" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share By Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r34" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]", "verboseLabel": "Earnings Per Share", "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." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Name [Domain]", "terseLabel": "Antidilutive Securities, Name", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r34" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "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." } } }, "auth_ref": [ "r119", "r140", "r161", "r197", "r205", "r211", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r395", "r399", "r418", "r456", "r514", "r595", "r608", "r712", "r713", "r723" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets Current", "totalLabel": "Total current assets", "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." } } }, "auth_ref": [ "r132", "r143", "r161", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r395", "r399", "r418", "r595", "r712", "r713", "r723" ] }, "us-gaap_AssumedLiabilityForUnpaidClaimsAndClaimsAdjustmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssumedLiabilityForUnpaidClaimsAndClaimsAdjustmentExpense", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelfFundedInsuranceAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Assumed Liability For Unpaid Claims And Claims Adjustment Expense", "terseLabel": "Estimated accrued liability", "documentation": "Liability as of the balance sheet date for the estimated ultimate cost of settling claims and claim adjustment expense relating to insured events that have occurred on or before the balance sheet date for those liabilities owed to another party as a result of assuming another insurer's primary obligation." } } }, "auth_ref": [ "r80", "r126" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r674" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r675" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r670" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r670" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r670" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r670" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r670" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r670" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r673" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r672" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r671" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r671" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r72", "r73" ] }, "mec_BankRevolvingCreditNotesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "BankRevolvingCreditNotesAbstract", "lang": { "en-us": { "role": { "documentation": "Bank revolving credit notes [Abstract]", "label": "Bank revolving credit notes [Abstract]" } } }, "auth_ref": [] }, "mec_BasisOfPresentationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "BasisOfPresentationLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails" ], "lang": { "en-us": { "role": { "documentation": "Basis of presentation.", "label": "Basis Of Presentation [Line Items]", "terseLabel": "Basis Of Presentation [Line Items]" } } }, "auth_ref": [] }, "mec_BasisOfPresentationTable": { "xbrltype": "stringItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "BasisOfPresentationTable", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails" ], "lang": { "en-us": { "role": { "documentation": "Basis of presentation.", "label": "Basis Of Presentation [Table]", "terseLabel": "Basis Of Presentation [Table]" } } }, "auth_ref": [] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Building And Building Improvements [Member]", "terseLabel": "Building and Building Improvements [Member]", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsTables", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition", "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." } } }, "auth_ref": [ "r391", "r587", "r588" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsTables", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r65", "r66", "r391", "r587", "r588" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Line Items]", "terseLabel": "Self-Funded insurance", "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." } } }, "auth_ref": [ "r391" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Schedule of Pro Forma Financial Information", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r688", "r689" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsProFormaFinancialInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Net Income (Loss)", "terseLabel": "Net income", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r389", "r390" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsProFormaFinancialInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Net sales", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r389", "r390" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsDetails" ], "lang": { "en-us": { "role": { "label": "Purchase price", "terseLabel": "Purchase price of the acquisition", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r2", "r3", "r9" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitions" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r115", "r392" ] }, "mec_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpenses", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of accrued expenses due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Expenses", "negatedLabel": "Accrued expenses" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets", "totalLabel": "Total assets acquired", "documentation": "Amount of assets acquired at the acquisition date." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable, net", "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "negatedLabel": "Accounts payable", "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other", "negatedLabel": "Other liabilities", "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Intangibles", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r67", "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "terseLabel": "Inventory", "documentation": "The amount of inventory recognized as of the acquisition date." } } }, "auth_ref": [ "r67", "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "totalLabel": "Total consideration", "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r67", "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Long-Term Debt", "negatedLabel": "Debt", "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r68" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property, plant and equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r67", "r68" ] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "Acquisitions" } } }, "auth_ref": [] }, "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentation" ], "lang": { "en-us": { "role": { "label": "Business Description And Basis Of Presentation [Text Block]", "terseLabel": "Basis of presentation", "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [ "r81", "r103", "r104" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Non-cash property, plant & equipment, net", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r31", "r32", "r33" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash And Cash Equivalents At Carrying Value", "terseLabel": "Cash and cash equivalents", "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." } } }, "auth_ref": [ "r29", "r134", "r559" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r29", "r100", "r158" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect", "totalLabel": "Net increase (decrease) in cash and cash equivalents", "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." } } }, "auth_ref": [ "r4", "r100" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r650" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "terseLabel": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r651" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r651" ] }, "mec_CommercialVehicleMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CommercialVehicleMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "documentation": "Commercial Vehicle.", "label": "Commercial Vehicle [Member]", "terseLabel": "Commercial vehicle" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (see Note 9)", "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." } } }, "auth_ref": [ "r22", "r78", "r458", "r501" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and contingencies" } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r598", "r599", "r600", "r602", "r603", "r604", "r605", "r698", "r699", "r719", "r736", "r738" ] }, "us-gaap_CommonStockNoParValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockNoParValue", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock No Par Value", "terseLabel": "Common shares, no par value", "documentation": "Face amount per share of no-par value common stock." } } }, "auth_ref": [ "r85" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock Shares Authorized", "terseLabel": "Common shares, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r85", "r502" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock Shares Issued", "terseLabel": "Common shares, Shares, issued", "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." } } }, "auth_ref": [ "r85" ] }, "mec_CommonStockSharesIssuedIncludingShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CommonStockSharesIssuedIncludingShareBasedCompensation", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to common stock shares Issued including share based compensation.", "label": "Common Stock Shares Issued Including Share Based Compensation", "terseLabel": "Common stock issued (including stock-based compensation impact)" } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r10", "r85", "r502", "r520", "r738", "r739" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock Value", "terseLabel": "Common shares, no par value, 75,000,000 authorized, 22,009,409 shares issued at March 31, 2024 and 21,853,477 at December 31, 2023", "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." } } }, "auth_ref": [ "r85", "r459", "r595" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r656" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r655" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r657" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r654" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Retirement plans" } } }, "auth_ref": [] }, "us-gaap_CompensationRelatedCostsGeneralTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationRelatedCostsGeneralTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensation" ], "lang": { "en-us": { "role": { "label": "Compensation Related Costs General [Text Block]", "terseLabel": "Deferred compensation", "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability." } } }, "auth_ref": [ "r312", "r313" ] }, "us-gaap_ConcentrationRiskAdditionalCharacteristic": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskAdditionalCharacteristic", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Additional Characteristic", "terseLabel": "Concentration risk percentage", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, this item identifies a second characteristic of the concentration. For example, \"Europe\" is the second characteristic in the phrase: \"net assets in Europe are 70 percent of total net assets\"." } } }, "auth_ref": [ "r36", "r38", "r75", "r76" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r36", "r38", "r75", "r76", "r218", "r555" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk By Benchmark [Axis]", "terseLabel": "Sales Revenue, Net [Member]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r36", "r38", "r75", "r76", "r218", "r481", "r555" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk By Type [Axis]", "terseLabel": "Concentration Risk Type", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r36", "r38", "r75", "r76", "r218", "r555", "r687" ] }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomers" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Disclosure [Text Block]", "terseLabel": "Concentration of major customers", "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date." } } }, "auth_ref": [ "r104" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]", "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." } } }, "auth_ref": [ "r555" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Percentage1", "terseLabel": "Concentration risk percentage", "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." } } }, "auth_ref": [ "r36", "r38", "r75", "r76", "r218" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r35", "r36", "r38", "r39", "r75", "r118", "r555" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type", "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." } } }, "auth_ref": [ "r36", "r38", "r75", "r76", "r218", "r555" ] }, "mec_ConsolidatedLeverageRatios": { "xbrltype": "percentItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ConsolidatedLeverageRatios", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Consolidated leverage ratios.", "label": "Consolidated Leverage Ratios", "terseLabel": "Consolidated leverage ratio" } } }, "auth_ref": [] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items" } } }, "auth_ref": [ "r163", "r199", "r203", "r204", "r205", "r206", "r207", "r209", "r213", "r244", "r245", "r246", "r247", "r249", "r250", "r252", "r254", "r255", "r712", "r713" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items" } } }, "auth_ref": [ "r163", "r199", "r203", "r204", "r205", "r206", "r207", "r209", "r213", "r244", "r245", "r246", "r247", "r249", "r250", "r252", "r254", "r255", "r712", "r713" ] }, "mec_ConstructionAndAccessMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ConstructionAndAccessMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "documentation": "Construction & Access.", "label": "Construction And Access [Member]", "terseLabel": "Construction & access" } } }, "auth_ref": [] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Construction In Progress [Member]", "terseLabel": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionTables" ], "lang": { "en-us": { "role": { "label": "Contract With Customer Asset And Liability Table [Text Block]", "terseLabel": "Schedule of changes in contract assets and liabilities", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r715" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfChangesInContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract With Customer Asset Net Current", "periodEndLabel": "Contract asset, ending balance", "periodStartLabel": "Contract asset, beginning balance", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r297", "r299", "r310" ] }, "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetReclassifiedToReceivable", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfChangesInContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract With Customer Asset Reclassified To Receivable", "negatedLabel": "Net activity", "documentation": "Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional." } } }, "auth_ref": [ "r576" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfChangesInContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract With Customer Liability Current", "periodEndLabel": "Contract liability, ending balance", "periodStartLabel": "Contract liability, beginning balance", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r297", "r298", "r310" ] }, "mec_ContractWithCustomerLiabilityNetActivityAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ContractWithCustomerLiabilityNetActivityAmount", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfChangesInContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer liability net activity amount.", "label": "Contract With Customer Liability Net Activity Amount", "terseLabel": "Net activity" } } }, "auth_ref": [] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost Of Revenue", "terseLabel": "Cost of sales", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r96", "r161", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r418", "r712" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "mec_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CustomerAMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer A [Member]", "label": "Customer A [Member]", "terseLabel": "Customer A" } } }, "auth_ref": [] }, "mec_CustomerBMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CustomerBMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer B [Member]", "label": "Customer B [Member]", "terseLabel": "Customer B" } } }, "auth_ref": [] }, "mec_CustomerCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CustomerCMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer C [Member]", "label": "Customer C [Member]", "terseLabel": "Customer C" } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk", "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." } } }, "auth_ref": [ "r37", "r218" ] }, "mec_CustomerDMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CustomerDMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer D [Member]", "label": "Customer D [Member]", "terseLabel": "Customer D" } } }, "auth_ref": [] }, "mec_CustomerRelationshipsAndContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "CustomerRelationshipsAndContractsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer relationships and contracts.", "label": "Customer Relationships And Contracts [Member]", "terseLabel": "Customer relationships and contracts [Member]" } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r71" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Debt", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r111", "r159", "r257", "r263", "r264", "r265", "r266", "r267", "r268", "r273", "r280", "r281", "r282" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "terseLabel": "Debt Instrument", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r12", "r83", "r84", "r120", "r121", "r163", "r258", "r259", "r260", "r261", "r262", "r264", "r269", "r270", "r271", "r272", "r274", "r275", "r276", "r277", "r278", "r279", "r426", "r570", "r571", "r572", "r573", "r574", "r696" ] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate (as a percent)", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r19", "r259" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument Name [Domain]", "terseLabel": "Debt Instrument, Name", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r20", "r163", "r258", "r259", "r260", "r261", "r262", "r264", "r269", "r270", "r271", "r272", "r274", "r275", "r276", "r277", "r278", "r279", "r426", "r570", "r571", "r572", "r573", "r574", "r696" ] }, "us-gaap_DebtInstrumentPeriodicPayment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentPeriodicPayment", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Periodic Payment", "terseLabel": "Monthly installment", "documentation": "Amount of the required periodic payments including both interest and principal payments." } } }, "auth_ref": [ "r20", "r79" ] }, "us-gaap_DebtLongtermAndShorttermCombinedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtLongtermAndShorttermCombinedAmount", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Long-Term and Short-Term, Combined Amount", "terseLabel": "Balance outstanding", "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt." } } }, "auth_ref": [] }, "us-gaap_DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Bonus And Profit Sharing Arrangement Individual Contract Type Of Deferred Compensation [Domain]", "terseLabel": "Deferred Bonus and Profit Sharing Arrangement, Individual Contract, Type of Deferred Compensation", "documentation": "Deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans." } } }, "auth_ref": [ "r53", "r114" ] }, "mec_DeferredCompensationArrangementWithIndividualAnnualShortTermCashIncentivePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "DeferredCompensationArrangementWithIndividualAnnualShortTermCashIncentivePercentage", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Deferred compensation arrangement with individual annual short term cash incentive percentage.", "label": "Deferred Compensation Arrangement With Individual Annual Short Term Cash Incentive Percentage", "terseLabel": "Annual short term cash incentive" } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationArrangementWithIndividualCashAwardsGrantedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualCashAwardsGrantedPercentage", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement With Individual Cash Awards Granted Percentage", "terseLabel": "Deferred compensation arrangements", "documentation": "Commitment made to pay deferred cash remuneration expressed as a percentage of the individual's base salary." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualCompensationExpense", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement With Individual Compensation Expense", "terseLabel": "Profit sharing, bonuses, and deferred compensation", "verboseLabel": "Deferred compensation plan (Income) expense", "documentation": "The compensation expense recognized during the period pertaining to the deferred compensation arrangement." } } }, "auth_ref": [ "r58", "r114" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualDescription": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualDescription", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement With Individual Description", "terseLabel": "Description of deferred compensation arrangements", "documentation": "Description of the deferred compensation arrangement, including fixed amounts and determinable awards, or the method for determining payments and awards, the timing of such payments and awards, and any requisite service or performance criteria, as of the balance sheet date." } } }, "auth_ref": [ "r56", "r57" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualDistributionPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualDistributionPaid", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement with Individual, Distribution Paid", "terseLabel": "Deferred compensation, distributions paid", "documentation": "Amount of distribution made to individual in accordance with deferred compensation arrangement." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement With Individual Excluding Share Based Payments And Postretirement Benefits By Type Of Deferred Compensation [Axis]", "terseLabel": "Deferred Bonus and Profit Sharing Arrangements, Individual Contracts, Type of Deferred Compensation", "documentation": "Information by type of deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans." } } }, "auth_ref": [ "r53", "r114" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement With Individual Excluding Share Based Payments And Postretirement Benefits [Line Items]", "verboseLabel": "Deferred compensation", "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." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement With Individual Share Based Payments By Type Of Deferred Compensation [Axis]", "terseLabel": "Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation", "documentation": "Information by type of deferred compensation related to equity-based payment arrangements. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes broad group equity-based compensation plans, defined benefit pension plans, defined benefit other postretirement benefit plans and other deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan." } } }, "auth_ref": [ "r59" ] }, "us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationCashBasedArrangementsLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Cash-based Arrangements, Liability, Current", "terseLabel": "Deferred compensation cash-based arrangements liability, Current", "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for deferred compensation arrangements payable within one year (or the normal operating cycle, if longer). Represents currently earned compensation under cash arrangements (such as a profit-sharing plan, rabbi trust, and employee contract--excluding equity-based arrangements) that is not actually paid until a later date." } } }, "auth_ref": [ "r54", "r55" ] }, "us-gaap_DeferredCompensationCashbasedArrangementsLiabilityClassifiedNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationCashbasedArrangementsLiabilityClassifiedNoncurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Cashbased Arrangements Liability Classified Noncurrent", "terseLabel": "Deferred compensation, less current portion", "verboseLabel": "Deferred compensation cash-based arrangements liability, Non current", "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for deferred compensation arrangements payable after one year (or the normal operating cycle, if longer). Represents currently earned compensation under cash arrangements (such as a profit-sharing plan, rabbi trust, and employee contract--excluding equity-based arrangements) that is not actually paid until a later date." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationLiabilityAbstract", "lang": { "en-us": { "role": { "label": "Deferred compensation" } } }, "auth_ref": [] }, "mec_DeferredCompensationNonCash": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "DeferredCompensationNonCash", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents Deferred Compensation Non Cash.", "label": "Deferred Compensation Non Cash", "terseLabel": "Deferred compensation" } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationShareBasedPaymentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationShareBasedPaymentsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Share Based Payments [Member]", "terseLabel": "Deferred compensation liability", "documentation": "Deferred compensation arrangements (such as stock or unit options and share or unit awards) that are equity-based payments with individual employees. The arrangements are generally based on employment contracts between the entity and one or more selected officers or key employees, and contain a promise by the employer to pay certain amounts or benefits at designated future dates, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Other \"sub-members\" can be added as necessary." } } }, "auth_ref": [] }, "us-gaap_DeferredCostsCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCostsCurrentAndNoncurrent", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Costs", "terseLabel": "Deferred financing costs", "documentation": "The carrying amount of deferred costs." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities Net", "terseLabel": "Deferred income tax liability", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r374", "r375", "r457" ] }, "us-gaap_DeferredProfitSharingMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredProfitSharingMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Profit Sharing [Member]", "terseLabel": "Deferred Profit Sharing", "documentation": "An arrangement whereby an employee is entitled to receive in the future, subject to vesting and other restrictions, a share in the profits, as defined in the agreement, of the entity or portion thereof. Employer contributions may be discretionary or may be based on a fixed formula related to profits, compensation, or other factors. It is a form of incentive compensation to employees in addition to their regular salary and bonuses." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Profit sharing expense", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "mec_DefinedContributionPlanEmployerMatchAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "DefinedContributionPlanEmployerMatchAmount", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of employer match of employee contributions to a defined contribution plan.", "label": "Defined Contribution Plan, Employer Match Amount", "terseLabel": "Employer match expense" } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "presentation": [ "http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay", "terseLabel": "Percent of employee contributions eligible for employer match", "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "presentation": [ "http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match", "terseLabel": "Employer match percentage", "documentation": "Percentage employer matches of the employee's percentage contribution matched." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "presentation": [ "http://www.mecinc.com/role/DisclosureRetirementPlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan Maximum Annual Contributions Per Employee Percent", "terseLabel": "Percentage of employee contribution of eligible compensation plan", "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan." } } }, "auth_ref": [] }, "mec_DefinedContributionPlanNonCashContributionOfTreasuryStock": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "DefinedContributionPlanNonCashContributionOfTreasuryStock", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The amount of non cash contribution of treasury stock under defined contribution plan.", "label": "Defined Contribution Plan, Non Cash Contribution of Treasury Stock", "terseLabel": "Non-cash 401(k) contribution of treasury stock" } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataAdditionalInformationDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r7", "r47" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Developed Technology Rights [Member]", "terseLabel": "Developed technology [Member]", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r117" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails", "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation Of Revenue [Line Items]", "verboseLabel": "Revenue Recognition", "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." } } }, "auth_ref": [ "r309", "r577", "r578", "r579", "r580", "r581", "r582", "r583" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails", "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation Of Revenue [Table]", "terseLabel": "Disaggregation Of Revenue [Table]", "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." } } }, "auth_ref": [ "r309", "r577", "r578", "r579", "r580", "r581", "r582", "r583" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation Of Revenue Table [Text Block]", "terseLabel": "Schedule of disaggregation of revenue by product category and end market", "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." } } }, "auth_ref": [ "r716" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Disclosure Of Compensation Related Costs Share Based Payments [Text Block]", "terseLabel": "Stock-based compensation", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r333", "r338", "r366", "r367", "r368", "r590" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Stock-based compensation" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY 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." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r612" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "terseLabel": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r645" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "terseLabel": "Document Type", "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'." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "terseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share Basic", "terseLabel": "Basic", "verboseLabel": "Basic income per share", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r150", "r169", "r170", "r171", "r172", "r173", "r178", "r180", "r185", "r186", "r187", "r191", "r409", "r410", "r453", "r467", "r564" ] }, "us-gaap_EarningsPerShareBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasicAbstract", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share Diluted", "terseLabel": "Diluted", "verboseLabel": "Diluted income per share", "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." } } }, "auth_ref": [ "r150", "r169", "r170", "r171", "r172", "r173", "r180", "r185", "r186", "r187", "r191", "r409", "r410", "r453", "r467", "r564" ] }, "us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDilutedOtherDisclosuresAbstract", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted, Other Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "Earnings Per Share", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r177", "r188", "r189", "r190" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.mecinc.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Continuing Operations", "terseLabel": "Effective income tax rate", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r377" ] }, "mec_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod": { "xbrltype": "dateItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Employee service share based compensation nonvested awards total compensation cost not yet recognized period.", "label": "Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period", "terseLabel": "Unrecognized stock-based compensation recognition period" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "documentation": "Amount of cost to be recognized for option under share-based payment arrangement." } } }, "auth_ref": [ "r718" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails", "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock Options", "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "mec_EmployeeStockOwnershipPlanDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "EmployeeStockOwnershipPlanDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlan" ], "lang": { "en-us": { "role": { "documentation": "Employee stock ownership plan disclosure.", "label": "Employee Stock Ownership Plan Disclosure [Text Block]", "terseLabel": "Employee stock ownership plan" } } }, "auth_ref": [] }, "mec_EmployeeStockOwnershipPlanESOPCompensationIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "EmployeeStockOwnershipPlanESOPCompensationIncomeExpense", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Employee stock ownership plan ESOP compensation income expense.", "label": "Employee Stock Ownership Plan E S O P Compensation Income Expense", "terseLabel": "Employee stock ownership plan expense (income)", "verboseLabel": "Employee stock ownership plan (ESOP), (income) expense" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOwnershipPlanESOPDisclosuresLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan E S O P Disclosures [Line Items]", "verboseLabel": "Employee stock ownership plan", "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." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOwnershipPlanESOPSharesInESOP", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan E S O P Shares In E S O P", "verboseLabel": "Shares in ESOP", "documentation": "Sum of the allocated, committed-to-be-released and suspense shares of the entity held by the plan." } } }, "auth_ref": [ "r64" ] }, "us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOwnershipPlanESOPSharesInESOPAbstract", "lang": { "en-us": { "role": { "label": "Employee stock ownership plan" } } }, "auth_ref": [] }, "mec_EmployeeStockOwnershipPlanEsopDistributionPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "EmployeeStockOwnershipPlanEsopDistributionPeriod", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Distribution period in an Employee Stock Ownership Plan (ESOP).", "label": "Employee Stock Ownership Plan ESOP Distribution Period", "terseLabel": "Distribution period" } } }, "auth_ref": [] }, "mec_EmployeesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "EmployeesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Employees [Member]", "label": "Employees [Member]", "terseLabel": "Employees" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address Address Line1", "terseLabel": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address City Or Town", "terseLabel": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address State Or Province", "terseLabel": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r610" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r610" ] }, "dei_EntityExTransitionPeriod": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityExTransitionPeriod", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Ex Transition Period", "terseLabel": "Entity Ex Transition Period", "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards." } } }, "auth_ref": [ "r685" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "terseLabel": "Entity File Number", "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." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "Entity Filer Category", "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." } } }, "auth_ref": [ "r610" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation State Country Code", "terseLabel": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current", "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)." } } }, "auth_ref": [ "r684" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r610" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "terseLabel": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r610" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "terseLabel": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r610" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r610" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Common Equity" } } }, "auth_ref": [] }, "us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Equity Based Arrangements Individual Contracts Type Of Deferred Compensation [Domain]", "terseLabel": "Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation", "documentation": "Deferred compensation related to equity-based payment arrangements. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes broad group equity-based compensation plans, defined benefit pension plans, defined benefit other postretirement benefit plans and other deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan." } } }, "auth_ref": [ "r59" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails", "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "terseLabel": "Equity Component", "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." } } }, "auth_ref": [ "r10", "r130", "r146", "r147", "r148", "r164", "r165", "r166", "r168", "r174", "r176", "r192", "r221", "r222", "r296", "r369", "r370", "r371", "r382", "r383", "r401", "r402", "r403", "r404", "r405", "r406", "r408", "r419", "r420", "r421", "r422", "r423", "r424", "r441", "r476", "r477", "r478", "r487", "r540" ] }, "us-gaap_EquitySecuritiesByIndustryAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesByIndustryAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "label": "Industry Sector [Axis]", "documentation": "Information by industry sector, examples include but are not limited to, commercial, industrial, agricultural, financial services, technology, healthcare and real estate." } } }, "auth_ref": [ "r489", "r490", "r491", "r546", "r548", "r551", "r553", "r568", "r600" ] }, "us-gaap_EquitySecuritiesIndustryMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesIndustryMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "label": "Industry Sector [Domain]", "documentation": "Industry sector consisting of government, private and corporate entities engaged in business activities, including but not limited to, commercial, industrial, agricultural, financial services, technology, healthcare and real estate." } } }, "auth_ref": [ "r489", "r490", "r491", "r546", "r548", "r551", "r553", "r600" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r653" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r617", "r628", "r638", "r663" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r614", "r625", "r635", "r660" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r659" ] }, "mec_FabricationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "FabricationMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "documentation": "Fabrication", "label": "Fabrication [Member]", "terseLabel": "Fabrication" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]", "verboseLabel": "Fair value of financial instruments", "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." } } }, "auth_ref": [ "r412", "r413", "r416" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Table]", "terseLabel": "Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r412", "r413", "r416" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value By Fair Value Hierarchy Level [Axis]", "terseLabel": "Fair Value Hierarchy and NAV", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r271", "r317", "r318", "r319", "r320", "r321", "r322", "r413", "r444", "r445", "r446", "r571", "r572", "r584", "r585", "r586" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value By Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r412", "r413", "r414", "r415", "r417" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair value of financial instruments" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstruments" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair value of financial instruments", "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." } } }, "auth_ref": [ "r411" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Inputs Level1 [Member]", "terseLabel": "Fair Value, Inputs, Level 1", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r271", "r317", "r322", "r413", "r444", "r584", "r585", "r586" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value Hierarchy and NAV", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r271", "r317", "r318", "r319", "r320", "r321", "r322", "r444", "r445", "r446", "r571", "r572", "r584", "r585", "r586" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements Recurring [Member]", "terseLabel": "Fair Value, measurements, recurring", "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." } } }, "auth_ref": [ "r411", "r417" ] }, "mec_FinanceAndOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "FinanceAndOperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesSupplementalInformationRelatedToLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance and operating lease.", "label": "Finance And Operating Lease Liability" } } }, "auth_ref": [] }, "mec_FinanceAndOperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "FinanceAndOperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesSupplementalInformationRelatedToLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under finance and operating lease.", "label": "Finance and Operating Lease Right of Use Asset" } } }, "auth_ref": [] }, "mec_FinanceLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "FinanceLeaseCost", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Total amount of finance lease costs.", "label": "Finance Lease, Cost", "totalLabel": "Total finance lease expense" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseInterestExpense", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "mec_FinanceLeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Expense", "terseLabel": "Interest on finance lease liabilities", "documentation": "Amount of interest expense on finance lease liability." } } }, "auth_ref": [ "r429", "r434", "r594" ] }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseInterestPaymentOnLiability", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Payment on Liability", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities for finance leases: Operating cash flows", "documentation": "Amount of interest paid on finance lease liability." } } }, "auth_ref": [ "r431", "r439" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Principal Payments", "negatedLabel": "Payments on finance leases", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities for finance leases: Financing cash flows", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r430", "r439" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "mec_FinanceLeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Amortization", "terseLabel": "Amortization of finance lease assets", "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease." } } }, "auth_ref": [ "r429", "r434", "r594" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Asset Useful Life", "terseLabel": "Estimated useful life", "verboseLabel": "Intangible assets useful Lives", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Accumulated Amortization", "terseLabel": "Accumulated amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r138", "r231" ] }, "mec_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Finite lived intangible assets amortization expense after year four.", "label": "Finite Lived Intangible Assets Amortization Expense After Year Four", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Amortization Expense Next Twelve Months", "terseLabel": "2025", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r108" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Amortization Expense Remainder Of Fiscal Year", "terseLabel": "2024 (remainder)", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Amortization Expense Year Four", "terseLabel": "2028", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r108" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Amortization Expense Year Three", "terseLabel": "2027", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r108" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Amortization Expense Year Two", "terseLabel": "2026", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r108" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets By Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r228", "r230", "r231", "r233", "r450", "r451" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Gross", "terseLabel": "Amortizable intangible assets, gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r107", "r451" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "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." } } }, "auth_ref": [ "r450" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name", "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." } } }, "auth_ref": [ "r42", "r45" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite Lived Intangible Assets Net", "totalLabel": "Total amortizable intangible assets, net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r107", "r450" ] }, "mec_FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Fond du Lac County and Fond du Lac Economic Development Corporation term note.", "label": "Fond du Lac County and Fond du Lac Economic Development Corporation Term Note [Member]", "terseLabel": "Fond du Lac Term Note" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r621", "r632", "r642", "r667" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r621", "r632", "r642", "r667" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r621", "r632", "r642", "r667" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r621", "r632", "r642", "r667" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r621", "r632", "r642", "r667" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Furniture And Fixtures [Member]", "terseLabel": "Office Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "mec_GainContingencyPendingClaimsNumber": { "xbrltype": "integerItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "GainContingencyPendingClaimsNumber", "presentation": [ "http://www.mecinc.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of pending claims pertaining to a gain contingency.", "label": "Gain Contingency, Pending Claims, Number", "terseLabel": "Number of claims" } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain Loss On Sale Of Property Plant Equipment", "negatedLabel": "Loss (gain) on disposal of property, plant and equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r7" ] }, "us-gaap_GainLossRelatedToLitigationSettlementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossRelatedToLitigationSettlementAbstract", "presentation": [ "http://www.mecinc.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Litigation Settlement [Abstract]", "terseLabel": "Litigation" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 1.0 }, "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInGoodwillDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Balance (ending)", "periodStartLabel": "Balance (beginning)", "terseLabel": "Goodwill", "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." } } }, "auth_ref": [ "r137", "r227", "r452", "r569", "r595", "r706", "r708" ] }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPeriodIncreaseDecrease", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Period Increase (Decrease)", "terseLabel": "Change in goodwill carrying amount", "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r705" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Purchase Accounting Adjustments", "terseLabel": "Purchase price adjustment", "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r1", "r707" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest", "totalLabel": "Income before taxes", "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." } } }, "auth_ref": [ "r0", "r94", "r123", "r197", "r204", "r210", "r213", "r454", "r464", "r566" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income taxes", "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." } } }, "auth_ref": [ "r162", "r373", "r378", "r380", "r381", "r384", "r386", "r387", "r388", "r485" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureIncomeTaxesAdditionalInformationDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense Benefit", "terseLabel": "Income tax expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r127", "r128", "r175", "r176", "r201", "r376", "r385", "r468" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid", "terseLabel": "Cash paid for taxes", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r28", "r30" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Accounts Payable", "terseLabel": "Accounts payable", "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." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Accounts Receivable", "negatedLabel": "Accounts receivable", "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." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 18.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Accrued Liabilities", "terseLabel": "Accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 16.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Deferred Income Taxes", "negatedLabel": "Deferred income taxes", "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." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Inventories", "negatedLabel": "Inventories", "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." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Lease Liability", "terseLabel": "Operating lease obligations", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r690", "r695" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Prepaid Deferred Expense And Other Assets", "negatedLabel": "Prepaids and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r6" ] }, "mec_IncreaseDecreaseInToolingInProcess": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "IncreaseDecreaseInToolingInProcess", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the book value of tooling in process.", "label": "Increase Decrease In Tooling In Process", "negatedLabel": "Tooling in progress" } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Effect of dilutive stock-based compensation", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r181", "r182", "r183", "r187", "r337" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite Lived Intangible Assets By Major Class [Axis]", "terseLabel": "Indefinite-lived Intangible Assets", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r229", "r232" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite Lived Intangible Assets Major Class Name [Domain]", "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. 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 the company." } } }, "auth_ref": [ "r43", "r109" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r624", "r632", "r642", "r659", "r667", "r671", "r679" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r677" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r613", "r683" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r613", "r683" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r613", "r683" ] }, "us-gaap_InsuranceAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InsuranceAbstract", "lang": { "en-us": { "role": { "label": "Self-Funded insurance" } } }, "auth_ref": [] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfChangesInIntangibleAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets Net Excluding Goodwill", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "terseLabel": "Intangible assets, net", "verboseLabel": "Total intangible assets, net", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r40", "r44" ] }, "mec_InterestCoverageRatios": { "xbrltype": "percentItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "InterestCoverageRatios", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Interest coverage ratios.", "label": "Interest Coverage Ratios", "terseLabel": "Interest coverage ratios" } } }, "auth_ref": [] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "negatedLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r77", "r125", "r149", "r200", "r425", "r525", "r606", "r737" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r153", "r156", "r157" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Intercompany sales elimination", "terseLabel": "Intercompany sales elimination", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r199", "r203", "r204", "r205", "r206", "r207", "r209", "r213" ] }, "mec_InventoryExcessAndObsolescenceReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "InventoryExcessAndObsolescenceReserve", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Inventory excess and obsolescence reserve.", "label": "Inventory Excess And Obsolescence Reserve", "terseLabel": "Inventory excess and obsolescence reserve" } } }, "auth_ref": [] }, "mec_InventoryFairValuePeriodIncreaseDecreaseTotal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "InventoryFairValuePeriodIncreaseDecreaseTotal", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) in the fair value of inventory.", "label": "Inventory Fair Value, Period Increase (Decrease), Total", "terseLabel": "Inventory fair value step-up" } } }, "auth_ref": [] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory Finished Goods Net Of Reserves", "terseLabel": "Finished goods and purchased parts", "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." } } }, "auth_ref": [ "r106", "r561" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory Net", "terseLabel": "Inventories, net", "totalLabel": "Total", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r142", "r560", "r595" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory Raw Materials Net Of Reserves", "terseLabel": "Raw materials", "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." } } }, "auth_ref": [ "r106", "r563" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory Work In Process Net Of Reserves", "terseLabel": "Work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r106", "r562" ] }, "us-gaap_LandImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandImprovementsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Land Improvements [Member]", "terseLabel": "Land Improvements [Member]", "documentation": "Additions or improvements to real estate held." } } }, "auth_ref": [] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Land [Member]", "terseLabel": "Land [Member]", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r717" ] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total lease expense", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r433", "r594" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Summary of components of lease expense", "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." } } }, "auth_ref": [ "r721" ] }, "mec_LeaseDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "LeaseDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of information about leases.", "label": "Lease Disclosure [Text Block]", "terseLabel": "Leases" } } }, "auth_ref": [] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "mec_LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Lenders and Wells Fargo Bank, national association, administrative agent.", "label": "Lenders And Wells Fargo Bank National Association Administrative Agent [Member]", "terseLabel": "The Agent [Member]" } } }, "auth_ref": [] }, "mec_LesseeSupplementalCashFlowInformationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "LesseeSupplementalCashFlowInformationTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental cash flow information related to leases.", "label": "Lessee, Supplemental Cash Flow Information [Table Text Block]", "terseLabel": "Schedule of Supplemental cash flow information" } } }, "auth_ref": [] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Letter Of Credit [Member]", "terseLabel": "Letter of Credit Sub-facility [Member]", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "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." } } }, "auth_ref": [ "r16", "r161", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r396", "r399", "r400", "r418", "r500", "r565", "r608", "r712", "r723", "r724" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities And Stockholders Equity", "totalLabel": "Total", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r90", "r122", "r461", "r595", "r697", "r704", "r720" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities And Stockholders Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities Current", "totalLabel": "Total current liabilities", "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." } } }, "auth_ref": [ "r18", "r133", "r161", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r396", "r399", "r400", "r418", "r595", "r712", "r723", "r724" ] }, "us-gaap_LiabilitiesFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Liabilities Fair Value Disclosure", "terseLabel": "Total", "documentation": "Fair value of financial and nonfinancial obligations." } } }, "auth_ref": [ "r74" ] }, "mec_LineOfCreditAdditionalBorrowingCapacityThroughAccordionFeature": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "LineOfCreditAdditionalBorrowingCapacityThroughAccordionFeature", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Line of credit additional borrowing capacity through accordion feature.", "label": "Line Of Credit Additional Borrowing Capacity Through Accordion Feature", "terseLabel": "Credit agreement additional borrowing capacity through accordion feature" } } }, "auth_ref": [] }, "mec_LineOfCreditFacilityAdditionalBorrowingCapacityPercentageThroughAccordionFeature": { "xbrltype": "percentItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "LineOfCreditFacilityAdditionalBorrowingCapacityPercentageThroughAccordionFeature", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of additional borrowing capacity under accordion feature.", "label": "Line of Credit Facility Additional Borrowing Capacity Percentage Through Accordion Feature", "terseLabel": "Line of credit facility additional borrowing capacity percentage through accordion feature" } } }, "auth_ref": [] }, "mec_LineOfCreditFacilityAdditionalBorrowingCapacityPeriodThroughAccordionFeature": { "xbrltype": "durationItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "LineOfCreditFacilityAdditionalBorrowingCapacityPeriodThroughAccordionFeature", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "The period of additional borrowing capacity under accordion feature.", "label": "Line of Credit Facility Additional Borrowing Capacity Period Through Accordion Feature", "terseLabel": "Line of credit facility additional borrowing capacity period through accordion feature" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility [Axis]", "terseLabel": "Lender Name", "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit." } } }, "auth_ref": [ "r15", "r696" ] }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityExpirationDate1", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility Expiration Date1", "terseLabel": "Credit agreement maturity date", "documentation": "Date the credit facility terminates, in YYYY-MM-DD format." } } }, "auth_ref": [ "r15" ] }, "us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityInterestRateAtPeriodEnd", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Interest Rate at Period End", "terseLabel": "Interest rate at end of period", "documentation": "The effective interest rate at the end of the reporting period." } } }, "auth_ref": [ "r15" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility Lender [Domain]", "terseLabel": "Line of Credit Facility, Lender", "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility." } } }, "auth_ref": [ "r15", "r696" ] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility [Line Items]", "terseLabel": "Line Of Credit Facility [Line Items]", "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." } } }, "auth_ref": [ "r696" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility Maximum Borrowing Capacity", "terseLabel": "Credit agreement borrowing capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r15" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility [Table]", "terseLabel": "Line Of Credit Facility [Table]", "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line." } } }, "auth_ref": [ "r15", "r696" ] }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Line Of Credit Facility Unused Capacity Commitment Fee Percentage", "terseLabel": "Revolving commitments fee percentage", "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility." } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "terseLabel": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt", "terseLabel": "Long-term balance", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r12", "r121", "r270", "r283", "r571", "r572", "r732" ] }, "us-gaap_LongTermLineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermLineOfCredit", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long Term Line Of Credit", "terseLabel": "Bank revolving credit notes", "verboseLabel": "Revolving credit notes", "documentation": "The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r20", "r49", "r50" ] }, "us-gaap_LossContingencyDisclosures": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyDisclosures", "presentation": [ "http://www.mecinc.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Loss Contingency Disclosures", "terseLabel": "Commitments and contingencies", "documentation": "The entire disclosure for loss and gain contingencies. Describes any existing condition, situation, or set of circumstances involving uncertainty as of the balance sheet date (or prior to issuance of the financial statements) as to a probable or reasonably possible loss incurred by an entity that will ultimately be resolved when one or more future events occur or fail to occur, and typically discloses the amount of loss recorded or a range of possible loss, or an assertion that no reasonable estimate can be made." } } }, "auth_ref": [ "r234", "r235", "r236", "r238", "r240", "r241", "r242", "r243" ] }, "mec_MachineryEquipmentAndToolingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "MachineryEquipmentAndToolingMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "documentation": "Machinery equipment and tooling.", "label": "Machinery Equipment And Tooling [Member]", "terseLabel": "Machinery, Equipment and Tooling [Member]" } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Major Customers [Axis]", "terseLabel": "Customer" } } }, "auth_ref": [ "r218", "r579", "r716", "r734", "r735" ] }, "mec_MaximumConsolidatedLeverageRatio": { "xbrltype": "percentItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "MaximumConsolidatedLeverageRatio", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Maximum consolidated leverage ratio.", "label": "Maximum Consolidated Leverage Ratio", "terseLabel": "Maximum consolidated leverage ratio" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "auth_ref": [ "r237", "r239", "r240", "r241", "r332", "r448", "r475", "r492", "r493", "r545", "r547", "r549", "r550", "r552", "r556", "r557", "r567", "r575", "r589", "r597", "r714", "r725", "r726", "r727", "r728", "r729", "r730" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r651" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r651" ] }, "mec_MidStatesAluminumMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "MidStatesAluminumMember", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsTables", "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Mid-States Aluminum.", "label": "Mid-States Aluminum [Member]", "terseLabel": "Mid-States Aluminum", "verboseLabel": "MSA Acquisition" } } }, "auth_ref": [] }, "mec_MilitaryMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "MilitaryMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "documentation": "Military.", "label": "Military [Member]", "terseLabel": "Military" } } }, "auth_ref": [] }, "mec_MinimumInterestCoverageRatios": { "xbrltype": "percentItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "MinimumInterestCoverageRatios", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Minimum interest coverage ratios.", "label": "Minimum Interest Coverage Ratios", "terseLabel": "Minimum interest coverage ratio" } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum [Member]" } } }, "auth_ref": [ "r237", "r239", "r240", "r241", "r332", "r448", "r475", "r492", "r493", "r545", "r547", "r549", "r550", "r552", "r556", "r557", "r567", "r575", "r589", "r597", "r714", "r725", "r726", "r727", "r728", "r729", "r730" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r670" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r678" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer" } } }, "auth_ref": [ "r218", "r579", "r716", "r734", "r735" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r652" ] }, "mec_NatureOfOperationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "NatureOfOperationsPolicyTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for nature of operations.", "label": "Nature Of Operations Policy [Text Block]", "terseLabel": "Nature of Operations" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities", "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." } } }, "auth_ref": [ "r155" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Financing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Investing Activities", "totalLabel": "Net cash used in investing activities", "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." } } }, "auth_ref": [ "r155" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Investing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Operating Activities", "totalLabel": "Net cash provided by (used in) operating activities", "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." } } }, "auth_ref": [ "r100", "r101", "r102" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Operating Activities [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "positiveVerboseLabel": "Net income (loss)", "totalLabel": "Net income and comprehensive income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r95", "r102", "r124", "r131", "r144", "r145", "r148", "r161", "r167", "r169", "r170", "r171", "r172", "r175", "r176", "r184", "r197", "r204", "r210", "r213", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r410", "r418", "r466", "r522", "r538", "r539", "r566", "r606", "r712" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements Policy Policy [Text Block]", "terseLabel": "Recent Accounting Pronouncements", "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." } } }, "auth_ref": [] }, "mec_NonAmortizableBrandNameMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "NonAmortizableBrandNameMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Non-amortizable brand name.", "label": "Non Amortizable Brand Name [Member]", "terseLabel": "Non-amortizable Brand Name [Member]" } } }, "auth_ref": [] }, "mec_NonCashLeaseExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "NonCashLeaseExpense", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount represents the non cash lease expense.", "label": "Non Cash Lease Expense", "terseLabel": "Non-cash lease expense" } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r651" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r621", "r632", "r642", "r659", "r667" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r649" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r648" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r659" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r678" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r678" ] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete agreements [Member]", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r70" ] }, "mec_NumberOfFacilities": { "xbrltype": "integerItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "NumberOfFacilities", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of facilities.", "label": "Number Of Facilities", "terseLabel": "Number of facilities operated" } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails", "http://www.mecinc.com/role/DisclosureSegmentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Number Of Operating Segments", "terseLabel": "Number of operating segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r702" ] }, "mec_NumberOfSystemsUnderFinancingLeases": { "xbrltype": "integerItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "NumberOfSystemsUnderFinancingLeases", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of systems, such as those for laser cutting, that are under financing leases.", "label": "Number Of Systems Under Financing Leases", "terseLabel": "Number of laser cutting systems under financing leases" } } }, "auth_ref": [] }, "mec_NumberOfVehiclesUnderFinancingLeases": { "xbrltype": "integerItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "NumberOfVehiclesUnderFinancingLeases", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of vehicles that are under financing leases.", "label": "Number Of Vehicles Under Financing Leases", "terseLabel": "Number of vehicles under financing leases" } } }, "auth_ref": [] }, "mec_OmnibusIncentivesPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "OmnibusIncentivesPlanMember", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Omnibus incentives plan.", "label": "Omnibus Incentives Plan [Member]", "terseLabel": "2019 Omnibus Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income Loss", "terseLabel": "Operating income", "totalLabel": "Income from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r197", "r204", "r210", "r213", "r566" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Operating lease expense", "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." } } }, "auth_ref": [ "r435", "r594" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.mecinc.com/role/DisclosureLeasesSupplementalInformationRelatedToLeasesDetails": { "parentTag": "mec_FinanceAndOperatingLeaseLiability", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of operating lease obligation", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r428" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesSupplementalInformationRelatedToLeasesDetails": { "parentTag": "mec_FinanceAndOperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease obligation, less current maturities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r428" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities for operating leases: Operating cash flows", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r432", "r439" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesSupplementalInformationRelatedToLeasesDetails": { "parentTag": "mec_FinanceAndOperatingLeaseRightOfUseAsset", "weight": 1.0, "order": 1.0 }, "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r427" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "terseLabel": "Operating segments", "documentation": "Identifies 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." } } }, "auth_ref": [ "r203", "r204", "r205", "r206", "r207", "r213" ] }, "mec_OptionAwardMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "OptionAwardMember", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Option award.", "label": "Option Award [Member]", "terseLabel": "Option awards" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Basis of presentation" } } }, "auth_ref": [] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets Noncurrent", "terseLabel": "Other long-term assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r139" ] }, "us-gaap_OtherCurrentLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentLiabilitiesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Other Current Liabilities [Member]", "terseLabel": "Other liabilities current [Member]", "documentation": "Primary financial statement caption encompassing other current liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities Current", "terseLabel": "Other current liabilities", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r17", "r595" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities Noncurrent", "terseLabel": "Other long-term liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r21" ] }, "mec_OtherMarketMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "OtherMarketMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "documentation": "Other end markets..", "label": "Other Market [Member]", "terseLabel": "Other" } } }, "auth_ref": [] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Income Expense", "negatedLabel": "Other non-cash adjustments", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r102" ] }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncurrentLiabilitiesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Other Noncurrent Liabilities [Member]", "terseLabel": "Other liabilities non-current [Member]", "documentation": "Primary financial statement caption encompassing other noncurrent liabilities." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r651" ] }, "us-gaap_OtherSellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherSellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Selling General And Administrative Expense", "terseLabel": "Other selling, general and administrative expenses", "documentation": "Amount of selling, general and administrative expense classified as other." } } }, "auth_ref": [ "r97" ] }, "mec_OutdoorSportsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "OutdoorSportsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "documentation": "Outdoor Sports", "label": "Outdoor Sports [Member]", "terseLabel": "Outdoor sports" } } }, "auth_ref": [] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r619", "r630", "r640", "r665" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r622", "r633", "r643", "r668" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r622", "r633", "r643", "r668" ] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PatentsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Patents [Member]", "terseLabel": "Patents [Member]", "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law." } } }, "auth_ref": [ "r117" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r647" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedLabel": "Shares withheld for employees' taxes", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r152" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsDetails" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Total net consideration", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r25", "r393" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments To Acquire Property Plant And Equipment", "negatedLabel": "Purchase of property, plant and equipment", "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." } } }, "auth_ref": [ "r99" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r650" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r650" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureRetirementPlans" ], "lang": { "en-us": { "role": { "label": "Pension And Other Postretirement Benefits Disclosure [Text Block]", "terseLabel": "Retirement plans", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r314", "r315", "r316", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r586" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r649" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r659" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r652" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r648" ] }, "mec_PerformanceStockUnitsPsusMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "PerformanceStockUnitsPsusMember", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Performance Stock Units (PSUs) [Member]", "terseLabel": "PSU awards", "verboseLabel": "PSU" } } }, "auth_ref": [] }, "mec_PerformanceStructuresMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "PerformanceStructuresMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "documentation": "Performance structures", "label": "Performance Structures [Member]", "terseLabel": "Performance structures" } } }, "auth_ref": [] }, "mec_PowersportsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "PowersportsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails" ], "lang": { "en-us": { "role": { "documentation": "Powersports.", "label": "Powersports [Member]", "terseLabel": "Powersports" } } }, "auth_ref": [] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense And Other Assets Current", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r693" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds From Lines Of Credit", "terseLabel": "Proceeds from bank revolving credit notes", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r26", "r696" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds From Sale Of Property Plant And Equipment", "terseLabel": "Proceeds from sale of property, plant and equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r98" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds From Stock Options Exercised", "terseLabel": "Proceeds from the exercise of stock options", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r5", "r11" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Product Or Service [Axis]", "terseLabel": "Product and Service" } } }, "auth_ref": [ "r215", "r449", "r469", "r470", "r471", "r472", "r473", "r474", "r558", "r577", "r596", "r691", "r710", "r711", "r716", "r734" ] }, "mec_ProductRedevelopmentCyclePeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ProductRedevelopmentCyclePeriod", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails" ], "lang": { "en-us": { "role": { "documentation": "The period of product redevelopment cycle.", "label": "Product Redevelopment Cycle, Period", "terseLabel": "The length of the product redevelopment cycle." } } }, "auth_ref": [] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "label": "Products And Services [Domain]", "terseLabel": "Product and Service" } } }, "auth_ref": [ "r215", "r449", "r469", "r470", "r471", "r472", "r473", "r474", "r558", "r577", "r596", "r691", "r710", "r711", "r716", "r734" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Profit Loss", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r131", "r144", "r145", "r154", "r161", "r167", "r175", "r176", "r197", "r204", "r210", "r213", "r220", "r244", "r245", "r247", "r248", "r249", "r251", "r253", "r255", "r256", "r394", "r397", "r398", "r410", "r418", "r454", "r465", "r486", "r522", "r538", "r539", "r566", "r592", "r593", "r607", "r694", "r712" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment By Type [Axis]", "terseLabel": "Long-Lived Tangible Asset", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r8" ] }, "mec_PropertyPlantAndEquipmentFairValuePeriodIncreaseDecreaseTotal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "PropertyPlantAndEquipmentFairValuePeriodIncreaseDecreaseTotal", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) in the fair value of property, plant and equipment.", "label": "Property Plant And Equipment Fair Value, Period Increase (Decrease), Total", "terseLabel": "Property, plant and equipment fair value step-up" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Gross", "terseLabel": "Total property, plant and equipment, gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r110", "r135", "r463" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Net", "terseLabel": "Property, plant and equipment, net", "totalLabel": "Total property, plant and equipment, net", "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." } } }, "auth_ref": [ "r8", "r455", "r463", "r595" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment [Text Block]", "terseLabel": "Schedule of Property, Plant and Equipment", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r8" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Type [Domain]", "terseLabel": "Long-Lived Tangible Asset", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r110" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Useful Life", "terseLabel": "Property, plant and equipment useful lives", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Provision For Doubtful Accounts", "terseLabel": "Allowance for doubtful accounts", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r151", "r225" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r647" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r647" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]", "terseLabel": "Statistical Measurement" } } }, "auth_ref": [ "r237", "r239", "r240", "r241", "r315", "r332", "r361", "r362", "r363", "r447", "r448", "r475", "r492", "r493", "r545", "r547", "r549", "r550", "r552", "r556", "r557", "r567", "r575", "r589", "r597", "r600", "r709", "r714", "r726", "r727", "r728", "r729", "r730" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.mecinc.com/role/DisclosureBasisOfPresentationDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails", "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Range [Member]", "terseLabel": "Statistical Measurement" } } }, "auth_ref": [ "r237", "r239", "r240", "r241", "r315", "r332", "r361", "r362", "r363", "r447", "r448", "r475", "r492", "r493", "r545", "r547", "r549", "r550", "r552", "r556", "r557", "r567", "r575", "r589", "r597", "r600", "r709", "r714", "r726", "r727", "r728", "r729", "r730" ] }, "us-gaap_ReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Receivables Net Current", "terseLabel": "Receivables, net of allowances for doubtful accounts of $669 at March 31, 2024 and $685 at December 31, 2023", "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value." } } }, "auth_ref": [ "r595" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r614", "r625", "r635", "r660" ] }, "mec_ReinsurancePolicyRetentionToLimitAggregateExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ReinsurancePolicyRetentionToLimitAggregateExpense", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureSelfFundedInsuranceAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Reinsurance policy retention to limit aggregate expense.", "label": "Reinsurance Policy Retention To Limit Aggregate Expense", "verboseLabel": "Health care self-insurance expense" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments Of Lines Of Credit", "negatedLabel": "Payments on bank revolving credit notes", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r27", "r696" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Debt", "negatedLabel": "Repayments of other long-term debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r27", "r483" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r615", "r626", "r636", "r661" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r616", "r627", "r637", "r662" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r623", "r634", "r644", "r669" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units R S U [Member]", "terseLabel": "RSU awards", "verboseLabel": "RSU", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings Accumulated Deficit", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r87", "r113", "r460", "r479", "r480", "r484", "r503", "r595" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r130", "r164", "r165", "r166", "r168", "r174", "r176", "r221", "r222", "r369", "r370", "r371", "r382", "r383", "r401", "r403", "r404", "r406", "r408", "r476", "r478", "r487", "r738" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue Recognition" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByEndMarketDetails", "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue From Contract With Customer Excluding Assessed Tax", "terseLabel": "Net sales", "verboseLabel": "Total, net sales", "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." } } }, "auth_ref": [ "r198", "r199", "r203", "r208", "r209", "r215", "r217", "r218", "r308", "r309", "r449" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognition" ], "lang": { "en-us": { "role": { "label": "Revenue From Contract With Customer [Text Block]", "terseLabel": "Revenue Recognition", "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." } } }, "auth_ref": [ "r129", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r311" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for recorded lease obligations: Finance leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability." } } }, "auth_ref": [ "r440", "r594" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for recorded lease obligations: Operating leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r440", "r594" ] }, "us-gaap_RisksAndUncertaintiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RisksAndUncertaintiesAbstract", "lang": { "en-us": { "role": { "label": "Concentration of major customers" } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r678" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r678" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersScheduleOfMajorCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Sales Revenue Net [Member]", "terseLabel": "Net Sales", "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." } } }, "auth_ref": [ "r218", "r686" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule Of Antidilutive Securities Excluded From Computation Of Earnings Per Share [Table]", "terseLabel": "Schedule Of Antidilutive Securities Excluded From Computation Of Earnings Per Share [Table]", "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsAcquiredLiabilitiesAssumedDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsAssetsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsDetails", "http://www.mecinc.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "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." } } }, "auth_ref": [ "r65", "r66", "r391" ] }, "mec_ScheduleOfChangesInFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ScheduleOfChangesInFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables" ], "lang": { "en-us": { "role": { "documentation": "Schedule Of Changes In Finite Lived Intangible Assets", "label": "Schedule Of Changes In Finite Lived Intangible Assets Table [Text Block]", "terseLabel": "Schedule of Changes In Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCommonStockOutstandingRollForwardTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Common Stock Outstanding Roll Forward [Table Text Block]", "terseLabel": "Summary of changes in outstanding common shares", "documentation": "Tabular disclosure of the change in common stock outstanding." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Compensation Cost For Share Based Payment Arrangements Allocation Of Share Based Compensation Costs By Plan Table [Text Block]", "terseLabel": "Summary of Stock-based Compensation Expenses", "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit." } } }, "auth_ref": [ "r60" ] }, "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule Of Deferred Compensation Arrangement With Individual Excluding Share Based Payments And Postretirement Benefits By Title Of Individual And By Type Of Deferred Compensation [Table]", "terseLabel": "Schedule Of Deferred Compensation Arrangement With Individual Excluding Share Based Payments And Postretirement Benefits By Title Of Individual And By Type Of Deferred Compensation [Table]", "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability." } } }, "auth_ref": [ "r53", "r114" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of earnings per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r701" ] }, "us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTable", "presentation": [ "http://www.mecinc.com/role/DisclosureEmployeeStockOwnershipPlanAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule Of Employee Stock Ownership Plan E S O P Disclosures [Table]", "terseLabel": "Schedule Of Employee Stock Ownership Plan E S O P Disclosures [Table]", "documentation": "Describes the details pertaining to each employee stock ownership plan." } } }, "auth_ref": [ "r63" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Fair Value Assets And Liabilities Measured On Recurring Basis Table [Text Block]", "terseLabel": "Schedule of financial assets and liabilities accounted for at fair value by fair value hierarchy", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r412", "r413" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule Of Finite Lived Intangible Assets [Table]", "terseLabel": "Schedule Of Finite Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r42", "r45", "r450" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Finite Lived Intangible Assets Table [Text Block]", "terseLabel": "Schedule of Listing of Intangible Assets", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r42", "r45" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Inventory Current Table [Text Block]", "terseLabel": "Schedule of Inventories", "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." } } }, "auth_ref": [ "r13", "r91", "r92", "r93" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Schedule Of Property Plant And Equipment [Table]", "terseLabel": "Schedule Of Property Plant And Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r8" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Schedule of assets acquired, liabilities assumed and net cash consideration paid", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r116" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]", "terseLabel": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r334", "r336", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364" ] }, "mec_ScheduleOfUnrecognizedStockBasedCompensationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ScheduleOfUnrecognizedStockBasedCompensationExpenseTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Unrecognized stock-based compensation expense.", "label": "Schedule Of Unrecognized Stock Based Compensation Expense Table [Text Block]", "terseLabel": "Schedule of Unrecognized Stock-based Compensation Expense" } } }, "auth_ref": [] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataTables" ], "lang": { "en-us": { "role": { "label": "Scheduleof Finite Lived Intangible Assets Future Amortization Expense Table [Text Block]", "terseLabel": "Schedule of Future Amortization Expense", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r45" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureConcentrationOfMajorCustomersTables" ], "lang": { "en-us": { "role": { "label": "Schedules Of Concentration Of Risk By Risk Factor [Text Block]", "terseLabel": "Schedules of Major Customer Concentrations", "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r35", "r36", "r38", "r39", "r75", "r118" ] }, "mec_SecondAmendmentCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "SecondAmendmentCreditAgreementMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Second amendment credit agreement.", "label": "Second Amendment Credit Agreement [Member]", "terseLabel": "Second Amendment [Member]" } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security12b Title", "terseLabel": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r609" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "terseLabel": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r611" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segments" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSegments" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segments", "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." } } }, "auth_ref": [ "r193", "r194", "r195", "r196", "r197", "r202", "r207", "r211", "r212", "r213", "r214", "r215", "r216", "r218" ] }, "mec_SelectBalanceSheetDataAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "SelectBalanceSheetDataAbstract", "lang": { "en-us": { "role": { "documentation": "Select balance sheet data.", "label": "Select balance sheet data" } } }, "auth_ref": [] }, "mec_SelfFundedMedicalInsurancePlanTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "SelfFundedMedicalInsurancePlanTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelfFundedInsurance" ], "lang": { "en-us": { "role": { "documentation": "Policy conspicuously depicting the plan in respect of insurance taken by the company in favor of all its employees and the policy clearly describes the risk.", "label": "Self Funded Medical Insurance Plan [Text Block]", "terseLabel": "Self-Funded insurance" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r6" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested In Period", "terseLabel": "Number of units, vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r354" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]", "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]", "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." } } }, "auth_ref": [ "r334", "r336", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Authorized", "terseLabel": "Number of shares authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r591" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price", "terseLabel": "Weighted average strike price", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r342", "r343" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Number", "terseLabel": "Options, issued and outstanding number", "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r358" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Weighted Average Exercise Price", "terseLabel": "Options, issued and outstanding weighted average exercise price", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r358" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails", "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1", "terseLabel": "Weighted average contractual life remaining", "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r59" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares", "terseLabel": "Options vested (in shares)", "documentation": "Number of options vested." } } }, "auth_ref": [] }, "us-gaap_ShortTermBorrowings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermBorrowings", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtOtherDebtDetails" ], "lang": { "en-us": { "role": { "label": "Short-Term Debt", "terseLabel": "Short-term balance", "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r82", "r120", "r595", "r731" ] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Lease, Cost", "terseLabel": "Short-term lease expense", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r436", "r594" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails", "http://www.mecinc.com/role/DisclosureFairValueOfFinancialInstrumentsAssetsAndLiabilitiesAtFairValueDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement Equity Components [Axis]", "terseLabel": "Equity Components", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r10", "r23", "r130", "r146", "r147", "r148", "r164", "r165", "r166", "r168", "r174", "r176", "r192", "r221", "r222", "r296", "r369", "r370", "r371", "r382", "r383", "r401", "r402", "r403", "r404", "r405", "r406", "r408", "r419", "r420", "r421", "r422", "r423", "r424", "r441", "r476", "r477", "r478", "r487", "r540" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "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." } } }, "auth_ref": [ "r164", "r165", "r166", "r192", "r449", "r482", "r488", "r494", "r495", "r496", "r497", "r498", "r499", "r502", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r515", "r516", "r517", "r518", "r519", "r521", "r523", "r524", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r540", "r601" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Statements of Cash Flows" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Balance Sheets" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Statements of Comprehensive Income" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Statements of Shareholders' Equity" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "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." } } }, "auth_ref": [ "r164", "r165", "r166", "r192", "r449", "r482", "r488", "r494", "r495", "r496", "r497", "r498", "r499", "r502", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r515", "r516", "r517", "r518", "r519", "r521", "r523", "r524", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r540", "r601" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r618", "r629", "r639", "r664" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeBenefitPlan", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Benefit Plan", "verboseLabel": "401(k) contribution", "documentation": "Value of shares issued during the period to an employee benefit plan, such as a defined contribution or defined benefit plan." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Stock options exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r10", "r23", "r113" ] }, "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program Number Of Shares Authorized To Be Repurchased", "terseLabel": "Payments based on the value of its common stock", "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan." } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders Equity", "periodEndLabel": "Ending, Balance", "periodStartLabel": "Beginning, Balance", "totalLabel": "Total shareholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r85", "r88", "r89", "r105", "r504", "r520", "r541", "r542", "r595", "r608", "r697", "r704", "r720", "r738" ] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquity" ], "lang": { "en-us": { "role": { "label": "Common equity", "terseLabel": "Common Equity", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r112", "r160", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r407", "r543", "r544", "r554" ] }, "us-gaap_SubleaseIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubleaseIncome", "crdr": "credit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Sublease Income", "negatedLabel": "Lease income", "documentation": "Amount of sublease income excluding finance and operating lease expense." } } }, "auth_ref": [ "r438", "r594" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "Subsequent events" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent events", "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." } } }, "auth_ref": [ "r442", "r443" ] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetData" ], "lang": { "en-us": { "role": { "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "Select balance sheet data", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r692" ] }, "us-gaap_SupplementalCashFlowElementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowElementsAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Elements [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "auth_ref": [] }, "mec_SwinglineFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "SwinglineFacilityMember", "presentation": [ "http://www.mecinc.com/role/DisclosureDebtCreditAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Swingline facility.", "label": "Swingline Facility [Member]", "terseLabel": "Swingline Facility [Member]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r658" ] }, "mec_TankMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "TankMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "documentation": "Tank", "label": "Tank [Member]", "terseLabel": "Tank" } } }, "auth_ref": [] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Title Of Individual [Axis]", "terseLabel": "Title of Individual" } } }, "auth_ref": [ "r703", "r722" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.mecinc.com/role/DisclosureDeferredCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Title Of Individual With Relationship To Entity [Domain]", "terseLabel": "Title of Individual" } } }, "auth_ref": [] }, "mec_ToolingInProgressNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "ToolingInProgressNet", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of tooling in progress.", "label": "Tooling In Progress Net", "terseLabel": "Tooling in progress" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r650" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r657" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfListingOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Trade Names [Member]", "terseLabel": "Trade name [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r69" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r677" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r679" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.mecinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "terseLabel": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r680" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r681" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r679" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r679" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r682" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r680" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Shares [Member]", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r51" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Treasury Stock Common Shares", "terseLabel": "Treasury stock at cost", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r51" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Treasury Stock Common Value", "negatedLabel": "Treasury shares at cost, 1,542,893 shares at March 31, 2024 and December 31, 2023", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r24", "r51", "r52" ] }, "us-gaap_TreasuryStockSharesAcquired": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockSharesAcquired", "presentation": [ "http://www.mecinc.com/role/DisclosureCommonEquityChangesInOutstandingCommonSharesDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares, Acquired", "negatedTerseLabel": "Treasury stock purchases", "documentation": "Number of shares that have been repurchased during the period and are being held in treasury." } } }, "auth_ref": [ "r10", "r85", "r113" ] }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockValueAcquiredCostMethod", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value, Acquired, Cost Method", "negatedLabel": "Purchase of treasury stock", "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method." } } }, "auth_ref": [ "r10", "r51", "r113" ] }, "mec_TubesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "TubesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureRevenueRecognitionScheduleOfDisaggregationOfRevenueByProductCategoryDetails" ], "lang": { "en-us": { "role": { "documentation": "Tube", "label": "Tubes [Member]", "terseLabel": "Tube" } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r676" ] }, "mec_UnitAwardsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "UnitAwardsMember", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Unit awards.", "label": "Unit Awards [Member]", "terseLabel": "Unit awards" } } }, "auth_ref": [] }, "mec_UnrecognizedStockBasedCompensationExpenseForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "UnrecognizedStockBasedCompensationExpenseForfeitures", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Unrecognized stock-based compensation expense Forfeitures.", "label": "Unrecognized Stock Based Compensation Expense Forfeitures", "negatedLabel": "Forfeitures" } } }, "auth_ref": [] }, "mec_UnrecognizedStockBasedCompensationExpenseGrants": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "UnrecognizedStockBasedCompensationExpenseGrants", "crdr": "debit", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Unrecognized stock-based compensation expense Grants.", "label": "Unrecognized Stock Based Compensation Expense Grants", "terseLabel": "Grants" } } }, "auth_ref": [] }, "mec_UnrecognizedStockBasedCompensationNonVestedAwardsExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.mecinc.com/20240331", "localname": "UnrecognizedStockBasedCompensationNonVestedAwardsExpense", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureStockBasedCompensationScheduleOfUnrecognizedStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Unrecognized stock-based compensation expense non vested awards expense/", "label": "Unrecognized Stock Based Compensation Non Vested Awards Expense", "negatedLabel": "Expense" } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "crdr": "credit", "presentation": [ "http://www.mecinc.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits That Would Impact Effective Tax Rate", "terseLabel": "Unrecognized tax benefits that would impact effective tax rate", "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate." } } }, "auth_ref": [ "r379" ] }, "us-gaap_VariableLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableLeaseCost", "crdr": "debit", "calculation": { "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Variable Lease, Cost", "terseLabel": "Variable lease expense", "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases." } } }, "auth_ref": [ "r437", "r594" ] }, "us-gaap_VehiclesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VehiclesMember", "presentation": [ "http://www.mecinc.com/role/DisclosureSelectBalanceSheetDataScheduleOfPropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Vehicles [Member]", "documentation": "Equipment used primarily for road transportation." } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Of Diluted Shares Outstanding", "terseLabel": "Diluted", "totalLabel": "Total potential shares outstanding", "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." } } }, "auth_ref": [ "r179", "r187" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Of Shares Outstanding [Abstract]", "terseLabel": "Weighted average shares outstanding:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.mecinc.com/role/DisclosureEarningsPerShareDetails", "http://www.mecinc.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Of Shares Outstanding Basic", "terseLabel": "Basic", "verboseLabel": "Average shares outstanding", "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." } } }, "auth_ref": [ "r178", "r187" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-13" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-14" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "25", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-11" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "25", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-15" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "30", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-2" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "55", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482943/710-10-55-7" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480489/718-40-50-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480489/718-40-50-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "944", "SubTopic": "40", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-3" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "710", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(cc)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-3" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450-20/tableOfContent" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450-30/tableOfContent" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483049/450-30-50-1" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "710", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//710/tableOfContent" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "710", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482969/710-10-50-1" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r559": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r565": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r566": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r567": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r568": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12" }, "r569": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r570": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r571": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r572": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r573": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r574": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r575": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r576": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r577": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r578": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r579": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r580": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r581": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r582": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r583": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r584": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r587": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r588": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r589": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r590": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r591": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r592": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r593": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r594": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r595": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r596": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r597": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r598": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r600": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r604": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r605": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r606": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r607": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r608": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r609": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r610": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r611": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r613": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r614": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r615": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r616": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r617": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r618": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r619": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r620": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r621": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r622": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r623": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r624": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r625": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r626": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r627": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r628": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r629": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r630": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r631": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r632": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r633": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r634": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r635": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r636": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r637": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r638": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r639": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r640": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r645": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r649": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r662": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r663": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r664": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r665": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r666": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r667": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r668": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r669": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r670": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r671": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r672": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r673": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r674": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r675": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r676": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r677": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r678": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r679": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r680": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r681": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r682": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r683": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r684": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r685": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "7A", "Section": "B", "Subsection": "2" }, "r686": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r687": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r688": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r689": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r690": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r691": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r692": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//210/tableOfContent" }, "r693": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r694": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r695": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r696": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r697": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r699": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r700": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r701": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r702": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r703": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r706": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r707": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r708": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r718": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r726": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r727": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r728": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r729": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r731": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r732": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r737": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r738": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r739": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 91 0001558370-24-007250-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-007250-xbrl.zip M4$L#!!0 ( -)CJ%APA&_I>!0 %[< 0 =&UB+3(P,C0P,S,Q+GAS M9.U=6W/;N))^/U7['[!^V=FJD>7+)#-Q37)*MN,I5]F6RW9FYCR=@DA(PAF* M4 #0MLZOWV[P?@,O=C;T+E\2BVATH_MK-FX-\->_/V\\\LBDXL+_N'>X?[!' MF.\(E_NKCWN!7DY^V?O[I__XVZ__.9G\>7IW15SA!!OF:^)(1C5SR1/7:_(@ MMEOJDVLF)?<\9]2RM2Y+&K_ M>97Q+8A S6V+B25;UO)]/X72Q'7T5M8X&904;5GC9'%)1-XB-#*/8<#/$62* M-94KIF_HAJDM=5A.E0USN._L.V)C O7!<1H#H:@MJ6M]"=WT)31AC5?&O/=A MS.-)8'+\2OM&Q=V)WV;$7<)Z#X=W6"JSN15B)5B^[1_%:MM*[L M7'OI[DF9ZS_1 !_0_H?OV]J_V &W-HAA4NI[ILS3RG0&^*NN$15=5D^YV;%- M*#MZTDY^?FB4MH'ZOM!&,#Z*'VZWW%^*\ D\P\[B!*WW & 2_./+W65=7#!6 MO@>>)AZ="=^%\0-SX0\E/.ZB\4^IA^_!_9HQK?8(AY>\2X6X77'+7+;D/C!NS88<258Y( M+!4=ZCF!U[U>VJS::M'#&*5OAEU2JN;+,[$!4ZQQ?/C(+F$^LF%MT&QB8<7W MJ"V^J10BEB0GAX2"1LS[8$[5^L(33ZW>V^J*5GR/>^(+W(EA/Z*:H'K.E>,) M%4@V<[X&7!FY:J84!#SS1#+WBM,%]Z"$80%,\-QSIBGW(GQ?QL*"]$_P)A\! MNJD ^)&5@3^-&$(C.3\2+Y5$:"B*_! )^^\1^ K@[V%>X.AL_WE.-<6IC1MX M;+Z\]!_!#$*"16MP[\'!"OOQP6$1]E $640]LD(A!-YRBF61('S),Z)&V%\$ M^ZT46R;U[A8(],QW/\,;ML5@VM,)&ODUN$0I$K1UB5CPC\2()M1W22)\=)(7 M.I=PLQ0;HP"=\S#H=B#"*EJW*(/"ZLG@"\4/2&LC;!GQ!">RB$R M%$2T(%Y(/ +?##Q.FX0?#N#-D\_/6QR+6Z%NJF0%]UUY>)" FS+&5]G 2%C( M>T33BN9G*GV(@.J6R?LUE77XU9'9$#O\J8Q8S(< (V(XC?B\:-9M;+@6GLND MPN&-WG6=?E=PL,[#?^HW#\^*^2\2"AH1;YB1/U 8CU@GW!&%!3$80Y>[Q=Q\ M^H>0R?@"5HZ%M7#^,GD/V,F FYN65P-CI;5!=/AS&2+#;+(P&1=.AMT(EPTN ML#Y7..U,U:WITBR4UG'(8;E7,ZPPR&6M/'9LK<-#NP:%AL:T\4+$LMJ6"1M1;HW[.%OI,,K#<;"59.(6J M@==&VK!45NHJD1?.Y@P[DO(;T6I$:Z[73.(?%IA*- WXE'8^(GP,G_#'"(QU M:6NS]<2.A;.R^9//I%KS+>X&=0F@/;E8P7U?L3 6B2$*Y1 1"R);D#0&TGX> M$&;S/-!GIKI WK::%>-?RAB'?(E&QB.D_2 ]$YL-UZ9?FOFXIHG[=PS&E;6[ M3"UJ6('\4 8RP]+L*SM9IB. #=WEDDF97R'K\G)VKF_=HCBH&@:% O*+;N/K MVG<"L[P(?)>YES[\Q@E"Q]E+I^I6K"L6[I#_)!1 >"QAQ+H?UA>4R]^I%[#Y M,K.@H+0,PN ;I@;ZN:Q G52J\8#786KUBXJ\,V1 'I$#KNHNDY4+GDK.9"%" M#W"5S3_487W3@M%G.FT_SZ C=;D7:/X(+[\32&/2EIO2]LH-6]6EZ5;%5C5 MGA%!4ADCRE:4[]@C\P/XSQ&K4'R:^P54=+62>/@&GL^7$>WI[E8*-W#T&=5L M)>2NQ@=>D[750]Z5/23B1S+""_EE^1;@D[C.8D>B5I"X&:,3O;X3??;=:RK_ M8G4+,Z_#M,%Q2BNF+W0G?D[Y6HRMKE.Q3I3C@GZQ01G$B847_,BT@,1-R-<>>ZT^F1^=IB_=.5C] MX>>*&4Q=EL@XB7E%T.^#S8;*W7Q971REL=:FO[\&SP;'*)^3J'>,2++)RLM0 M9:636/SH+GW<)>D!OO@R[./_C4F7%IR[N4Y__@UNU#X++=_/9-O1Z%2C3S4N M<0-N)D/V;$W]%5.7_CS0>$<$WNL4EIL9J6W-NRL+JV?\4@XP(8\HDQ=_AW(( MAV%)*@F=!LF4D34B7X5\="57_#^>DO,UI:T< MZ&TX'APAZUSAT= &A(?;5F-=@@:>=ZT^T&JWF7T+C"%N+_,2F%$0[,*TNQ!EQ:)7\U9S)9<>B8G)>D98U@M$UK:I3 MJI0=HA[I3R->K9,4VJ4:V!'JD) T(M.PU6_;P[>C4#&5SVW.CZ:O>BF"A6)? M U#U\V/E,+A8;H6@8M:>,B#L<1Q@M=]EO14>KUI2L9%:P(&92CEYI>;&IIC? MN"/>?ANPYBHT&ZT%K>-N-XR,=Z$U[EQ5XY,KL^)1<7XANG=U-'[_"7\U*NTJ MV> ZK'A]VIQF'+'LL I0#5X-E16MBANKJZ[('<'ILC10#4\MG16@EJ>W1H3Z MKA=4@]6FBA6W]V7<&H].C2"VG*K685:BL$+T2Q5$V9SR$8\7?*,C2?O_30CW MB7M>SV]SU/*Q8(O7!)8NAFS[38[X',&E3V*1X[&!UW&%5_I<2R._!M=X_PJN M,7ZNY75]Y"+0F$:]$5+S?[S:JO^'CX(<=ER A]S6?$>(.R9M=SK)WJ6H%N$72YWAX_64I/=VN M6&M1QP:H+15H!/*UUC0J1E^85"JIHZON0.MQW4TGOE:':)=:43.VXSZ)&U!W MP=KH.VTGZBV.A[<\_FW?8?[_ @G^@ZD-=VQ)GLT3*ATDS6'S=+POY&IZ^.'# MAZFAFF[#CY&"\TYC%GL1@[5DRX][>K.8'!TNSL6&O,,'P'V0FKBTPU36^JD?F=\ M3C%G?R4>I\QQP?>.CO>(@N')AEX)Q[ )J54=.?Z!7GZ\#Z(B![-+75*U,)X> MJ FJI-J(S59:4;J-9 .Z"9MNK<@IXS+>1?>8'/]X@52TG H6O:T.=2NELW"M MP+R!\!+_\T$(\)_5I7\KQ0K<6]TPO6<:]W&ONBP,&BB9G\!H!\8XIV0:] M#UH:+!0$GP#;^9L4P38FY4 "<R!=Z@@(1#_06$H#='@EN[ )3QS M'/ LD'CG1ZQPEQI#,8-C/DUCLT/]T>#/]_/;;&)K>-@Q6AF,C=*[^BM;R UD ME*/[ZIYRZ6,RHI"[S\\.N#E /E\H#!L. P9W$/3E8V*/EL1O27OP(8JKT.'_ MEW[VQ4<=4]6;*0>C=_.+4?,=L(AOK'03559A>(;6^+;JAK_[O._I".F!/>M3 M#\J;W_+*2J'2KI83_$N=Z+CH?P=J*Z;1>X"!\;LBC_BR=C\EJM)D2A#_2(>;\ T MK>^];+)/;T:#-=)-L%DP.5]>4"=:,$W>BHJ2;$3GOF8K)K^W A5Y_C C9-BL M1!4[S>"ZJ8KF&G^RJ!.5]U#%U2=K*)=.L# &^59*75-G#3:'P>'7@&^C^RBC M0=(U0U>+U6M#67R?7+-V\9UQB[,(H'(Q:!:'3JU(!^>8-\+/-/P41@/N#:B3 MAZ^!:)#(Q15;DP]264O?7I&!,UMJ)O_!J+P006* M%[$8ROI X_0/^P@8$X4?S$TVID^%E.()KT6F6^@:]>YA#.(Z0+)!?, MC"=C6[V4RU#,U3QK/*7^7W?L47B/J)8>,E1N<_F.>I"RI7 AWP MAH8O(D0MX7#S8^9N(*XID_/_R&:KDB5>A]<@S70/\QK?-5";>Z=M#M&.=I!J M7@,HFV #G1:#T;,^$X\PY5^Q.V2<3!<:B(J*X> 99'SOB= U?<969R_ROF*9 MEJ?#ZR:Z@2I8V^($.!O%0)6R>^(;<\&J2_)F4N*:$M+]P?7ZTG?Y(W<#"):^ M#__>KV&X^,#D!C. +\V1*XB7MZ$^H'%LB6_">J!FC%><"[..TN-!1M@[EERD M%ZZBWC&-EA?^@[CB&^PHPB_5%7?3>E02AYD'>14J"@:I M 1#DV2-^W= Z^",LX"&E6202CT$BZ(2N4?#;#1,(PIMSCP99)/CB#2K7AR; MO8G&GU8W_O1--/ZLNO%G;Z+QY]6-/Q]TX^<;GR\"E8PF%6Z&%[HO&\D@E?KB MP^#JB4JW$#7+SP?9_/G63 :PH04DR@6#5"#),&'RD6,F#377E^4G.S?"!U^" MB6V(R(/ 4Y.9\C.AUWJW_#68= M6J5NW[':8(;=C=.0UJI="+EDW(SU.ILE5WDC0K""_'[YF7HS"![5__ M#1@I7@#'',>JM+=TN;V.HAAZNZ? %+6Q:=XB3,0J*04QT7X6O9C.DVK;H_) M#1%>(<S?KFNQH]@Z/=@,D*R[- MJF=(AZ)TTRL=J6*:CYU[2*TW9"$.(OOH6EY$F0S22SEPK>BV>5F M2[G$!_/EE0"OPQ2,Y.CU;S"6O1)*S9-3V3" .\5PO!5X-&J96N'%C-Z*Q:HV M#B(7V+-N7"1$;T53!"W]=-3NEH4?[_8HWZ@PF3-5N UM5N^NR9XO"6!U^D6? M(<>15?@M\DNE DQ 3.*=K+^S-7>\ M)+4NJV@EP0MGO_VTJ9O]IENV9ED99^J^.W/PK$Q9(0O1 )6Z%4],JMS^1;+B M7BX:H *SE>1.X.$5?3!=;7U$T M0 4LQR*5V)YC4A1?F ;%"T MM60)I]DKM?G"5=G+K\.Y&&NZILM\BT%A=RU1V.O;SL9U>$'JFKOWF,FK9EZP MX7ZP*?>3-00#[&]. P5P*07#W@7W3>5T;^+2Q5VX):?I 07G:\"ER6?.7!,& M9<&&N=$]!]&Z@$H-\DV%O)6UHN2 ?_+EB=#SBZ??S:Y19JVA6[7!Q.Z&'NXV MO,EHAWT2'E%+CJMUL\X+V;P5:\WWB^ &87 M.MH_P?UG]1D_3W[#-"Y59&8AK\+MK=CN0OCN>7!%G3,< ^[ 29(GGQWABPUW MSMDC\X3QFS,A87X9;CTPN<&C-<7P_FH,!]@=P/OD!HZ^8VY&@YWCL>)LHY%P M>/UV?";[?J= B/J"QU&B3_]$.Q"9+JL5\;==Y'N!BM'254L=[=2#4S*75!G' MIEL5E)>+F@B_[PL87IX6WL'UZ7\ 4$L#!!0 ( -)CJ%C]*XDB+1 -_I M 4 =&UB+3(P,C0P,S,Q7V-A;"YX;6SM75MOX[@5?B_0_Z"F+RVPCIW[ M9#"SA7.908#,)+ S._NV8"0Z9E<675+*97]]#RG)EB)1HFQ9HI4 17=B\?:= M[Y"'E\/#3_]YGKG6(V:<4._SSM[N8,?"GDT=XCU\W@EX#W&;D)W__/KWOWWZ M1Z_W^]GHVG*H'WO[BV^G$?E4>^C==0_[N\/]@^MDX\'QQ_W3ZS; M;XMTWZ!Y$U*6T"7>GQ_%_]U#A1; ]+C\\_/.U/?G'_O]IZ>GW>=[YNY2]@!% M# [Z<>J=*/ES)OW3@4R]=WIZVI=?%TDYR4L(Q>[U?_]V/;:G>(9ZQ.,^\NQE M!5 ]*6A0(CTG'[DLY)K:R)=LE>*PE"G$7[TX64_\U-O;[QWL[3YS9P>D9UF? M&'7Q"$\L"?.C_S+'GW<=?W;?$P0,#L+L_QS[P*)0D'/J M.=@#MN$?G+K$$>R>(5<@&D\Q]OF.)6KY,;I*@9EAFWCVKDUG??&Y7ZE *5@M MCOL;Q;GXRF\FYW0V9W@*:<@COH+N-<-U("^MPDA9(#[]XM*G6KA7%-P<[@O" M;9?R@.&A_;^ <")Z)A]R#KHH?V'8N2;HGKCP!8L/,'0Z%]A'Q-64P)I5M"&+ M,7:Q[2<[Y@7RD1@#G<#%-Y,K[Q$XHPR:NZ(H5JG!1$G<,CK'S'^YA03^T',N M@<^Y4.@-R:6\/A.E=$VX#Q,202N8PP=R[^)0_S_7#[/A8U8"WUIH6W@ MO43, XWDMYB-IXBMBE!93&5,-G+MP)5Z<0W?(ARBNAJG<@EYX6*$C! =JF=:I(K)N*4I3D4Q7$H3Y8U M0?Q>%@@+J0>$YF*A&4.9C!XGC'"CBTA\Y%79CZ M\LN<$9AM^"^?=_8;IT?,?,&6B_\(>_Z(7#%Z#?USQ-@+=/??D!M@!6U:>=-2 M.3X<' ^,H+.(M"S1JT,U70%&V,: !Z8I_#OVB_MI;MIN$*P/+2)TWU1"X^7+ M"^!0\)A,T@WZ2A%%K!ULB+7,] LF+W_<49A > ]7'JR<'ACF/,N(*MEVLU() M5<3,H:G]Z9;A.2).-),'(W#C3S'3F=9HY-QNGM<%&E%_9"[UBAT/]=!:E,54 MLO,IK8C#=+/XE5+GB;BN@K?X\S9Q5-CF#1N\&J8IZ>TQT*O+9]L-Q.EA"5)QY7QF&XZ;V (06(W5.Z%C42;;B8_> A306YAGK043L >'1K+:G4@.N:P M:0:7AOP[]>S"Z4YNVJUB3!M Q-2QJ1TO>:;G.6.?VG].J0MMYL*.^R\*!LNS MM8>CO,GFJ9HN#4DE+ -D^GY2HOW%JZ-L0J,)S&U<(7U%J$QG<6C;-/!\?HM> MQ)Y8R?9];N(T[@^'>R=M[^-KF3(G6'F*V"T/2=Y&OJ/=QA-KLF'KZ9G#/L$.6\ M."=I&O/IX>"P[=VL%6;&NKA,WTE63!+*]T?*\G6!Y=5 ZACX\M9HHLXEY=+2E6AGL*[H"\;E(3I]CZ&'MZX M@$EI0GKJ \:27%W2B2H039\ O)[,Z.VFYV;H L45T9F^WZZ]PYY-:#2;VKO6 MFKA,G]J!%9I13X(I='Q]E2R%]1B0'K:]<:W)1Y9(+6BF;W(.'8>$3;I%!,S( M.9H3'[D);*K-DM*,':)Z1;"F]^&1N)?B82>^KS*T[6 6R.M',+$@MG+A79ZQ M0^2O"-;TG=$[!LO.@+U(N82:7#20JY)WB.A*$$N73+U\?C_U7]WIVN!%K_*; MZPD^E%>_]G6O?BVKL^C$2E5H5;XKWVQG@+52V,)KRE7^$Z_2-.X$&*WP(M?A M,^S!X*.^MI";.JW)>Z#)QRUWUES!ISW^])&43K9ZS6^.+=%] >#07WSB!>+6 M<[C[!_WG#$\HPPNA2+()WN-DKI >MWP2P>" M%JQ"WGEBXACQ)_&G5YY#'HD3R*VN1:+BX6'=8KN@/AN51>G&4@NZ-)Q1YI._ M9-NS\9Q46\B%F=+889 [_+"U>K "4JW]I<;/?+A_,QGA1^P5'/@DTG2)PW)@ MI0?K+5 6M3>>*#-DRU'G/. ^P&>+RY-"$^%_#LR6E7O^E4OJ$OUUP=RP3F:<>:W&3) M+@%K.ID7>,[ JDFQ*1>?RR1IC <&G$S73F@I7-,]4(;.?V$")>8$7RA+KI*4 M7D>*]&^ [&K837<_D8%QY2,5R7T/E2]H;N(WP'D%X*;[\$NAB/=/0'LO:'#O M3P(WOBVN-L[*+&^ _,KP-^S9GWOC6'RBMEC MWN&"5KX.D[R>#$SW\O^*B"?FF3?>&&4>1%@$R%-T>[W,'=:-&@01*@LKAX%H8^GH;G!Z+7' )W".JPZ&Q!,K%*5[Y89,+6( MXCY6GE=$^=ZDHNC((-8)8Z-V9&%E8I-4F%CDY$V+Y>AP;Z\S>P+KRR%6#_6& MH'E#AB+^E;:.*/*_23VI(HM85]1[@X:L546PRO*PYCI9WZ1.:(HA5H?"W<4V M1PZ%J,3:BZ_C(993@'EZ8JR'F*[T3/= @4F7=$F]H]$K[\KGG%2'U-H%F*== M:W*;%@_^C==JTG/=-]Z)*]YYIXF)?$RU:F-T]WUF2N>*0IQVZZ*_0( MSR-+>S/185Z9_@TP7PV[UDUM$R:L(RQ#T-W1._0L;J*)B&<@GB^457*M7;6X M-Z XM8K&Q%O;H6BPW#.Z902D-!<1+D/4"GTIS/,&E*(Z_E4C!;:SJ)'!+F03 M^>4S9C;ARRN?14N9O'QI<9R .$ZZI@ZKR<#T$.PIDQD]1G*![[5F%XGD;X#_ M2M!+O;:7-J#>R]\7A-LNY0'#BV/B*NWC5P M #C8MWK6LB;X(UF9^%/69Z&HPE\L=UFEA<(ZK7]%M?Y[Q]1;X62\-#2*WM7SQYD/BF M,2XUV@;S!KL-*6IR^&M?PB;&6ZQ3*N<9D4CWH08T7E'SNYXW*-<-Q(W+=1FM M$U]T[ASYN^7YFFZPMC>EG6W(TL1]C,WV3CW7QD;;\*:TW!P)FQB3K];^7^3Y M77]%:1E_,. ]KRW3X@(QZNPP-7TGG%+GB;BN0K_BS]W6B@+*LKI2*!*=(\HM M'HN605*;&) 2M;WK7RL2-C!4?IWP%W? PXE'8Y8VM]YW%6]9U@8^XEVG(*KZ M1#92][O2&R!OG2!E6ZSXBX!.C4Q9HKK>%;L%^1JXOMK _DB8NW4^M#G_2$%WH3^IZI-"WZT\/!_NF[IC1OWT1EC%]O^ M&7*%H^%XBK%_@7PTMJ?8"<05F434F6HN.@>#O=72D[RZO!LKT6QH+7"/T] WYF!'D5F-9F7&+2:Z&R?0;?@M8/RG[M6O+!"MW/:H:Y(S/K*Y!CEOPBR7;8"'/L1:MV (3K92@ MVF079VG^TD1^8[ZRPM=F"C*9U]MU2'IU&Z(J/M-M^-"V@UD@+X E7UN!?[M8 MQ$K"Q]?D,7GR'+9>;6#*,C5_/5/5G"(C4Y;-O*%"CZQ7 MMS"K8S3=U!2 2@R.&J]D52^HXSI1!;5IID+>-.;C8 YV4-@WY%YY$\IFT69H M=#4]3%7-.@#>U]8A+$:8@D1]%EE6:+&P1LNGEALFWK@QR+VQ$-W#%N%TM>)( M:N9I^AF-_'8LG4@4/;PTGSD=NA)9J6(H#U^PA6 M&EI&HI*;R0\>6I4* TPF9ZL:6(Q#*T^:GKT6#^-7($RMA3HH]0>8S.1O,W< &YAJ># M80DG@@*4=9]LPNVC2 ^"@0[E:Z6725\!LX3DA!>+1_T=FIU.[*I8 M]5?^FUIT72+FP0 OXE++J)^5EEF (K/,B@NTH$1+%KD%BZJ?4MS8&3Z"P7O MWX/9/68WDPOB!O"K1,%O I_[R!,A4A5:7[F4-EZC"?>^80T\HU[8I*'O,W(? M^&(]7L5^CZ)]#QD1$\J+@J>L7G.X=PO"W_2; BBJ1>;NF?K$8:"T4PLI( M"7 2NUKOR2^CD_JRO@36LR>?^B$OT1C\Z_\!4$L#!!0 ( -)CJ%A*4.L4 M02H (FH @ 4 =&UB+3(P,C0P,S,Q7V1E9BYX;6SM75MSV[B2?M^J_0_< M[,/N5JUC.YE;4I.S)?DRQU5.Y+*=.;M/IV@2DGA"$3H@Z5CSZQ?@12)%7'E# MRZ.JJ8ED-8#^NANW1J/QZ_^\K$+G&9$XP-&G-^=OS]XX*/*P'T2+3V_29'[R MRYO_^ 2Y"?*=[T&R=![Q>NU&SF=$2!"& MSI0$_@(YSOG9VY_>OGO[HW-R\I>LBJD;TR(X_^LFV0)7XQ]/\QRUIH^KO[S/: M\P\?/IQFOVY)XX!'2"L]/_W?S[*_1Q\#'.*KG% MGIMD&E5"=H04[-M)27;"_G1R_N[D_?G;E]A_\Y=_<9Q?"0[1/9H[&+3M.&!:BQ_=IQ#%>D#E-5@ 0OMX0,5Z1U!,!9R9 MX25*W" T!B2KR;*&6B+B5F$9RB2.41)G?R'(OPW())L[2I!,(I^-?&LV M(K9$W[T]@$*Z#>*$+H1F\QLZ_$2+@(ZIG4RD>WL6A'2)GA*Z//.#9+(@*)\U M6^*75F4)VBQ9(L(^=,#4K,,"F"M*C3<(/238^S;['M'ES#)8L_XV\?UL6'+# MFVB.R:K+G-RV%2O:G=/]"%OXK=9T!9CQTZ+*F3FJ31$J=P%';87F4W/Y@7M=$.G=C_U MD@NZI5I@LFDIG%Z;/A31747^9Y=\0VTGGYX:M2 NNAOWZ%A "N8^N__ Y"*- M$[RB,\H.1.WOM3)M.V&/#=M8L;)I-_.B#36KM6D!C" >TM7*)9O9G/_SU0O[ MV'K\[J=-.,+:&OO7B.0CR!_,-29!T:_@.K1O9<1:K2@CF8?P8DFW9RB^B69I MPKROS%V>_YY-[.W'IA9-F(HB0UO*8Y^_N1L_9473^&3ANNN<0X3\U>G52T)5 MP/:D5Q%=Q^6#(=NQQG41LIKBTFG>J(\*]_TI"I.8_855'C-YO\]DS9IYPU61 M!N)+O'(#.HK-W33<1R'M3=IU"5&XQ"N!%!_WL:!X MY;Y%*<%K]D\FS5,4H_EI07_Z/? 1.8E<0O!W1/@M[NMEWT!"0K;UL09/BB\4 M^ODO)^?G)^]R\/MM\9&TX:!RHL*.&'[,FG/#\ U/+MM2092<^L%JRWM68&"F M:'O,_G%TXN=:-F.14WP\AC/C;,UO47IH=K-F3E9H]<1,S(C7>M&!&5W2*HB7 M/J&3K8S,V.564&&:&DB0K^9OZ=>"25:R_\$N%P=B0[N/_.U?@X0U]N'#A[,S MY\39U4R_E)4[M'8GK]YA]3MY \ZV!8:G1!1BK]9@R,XG,6D]<;"_[.:-X@]_ MWY[J%3,H73_@*',X4/[*MD+W"86?WFB5^?OYGD2T2YV.CWZ/E:*';@/FHR M[SQB1\DT)G1>_?3&CL%,_'_0[IMYY*XQ^8*^3SP/IQ$[@;@C.*(?O=Q%+^D^ M1G4(#J1US^83/S>QS\54PQ4*CU2(743Y[P,'2Z8?Q*^IM&2:&E:9:%) _&EW0BTRAI+H]ZV:X=T4QEV)B_T7NC M%J!J']0$TG^7C$E2,3_Z;6=Z],O?[YF'A=/9:K\US*?QZYC<=O5_%''>? M742BP=Q61C/-/;:8\7'8L3KFWR-V_NDE*3'K"/1OB#S+QGM%*>'8IE'. MVAJJQIMT=!?2*U93@A)=1W)]930640*.1A^[E1"::R>S'8\?G%7\D57BYK:RDY45]>NW%[UN#/O MHW=Z8[#50: E2*O#PW7GH<&@!J%I&]8!2TX&PX%A+6WD-=0PT$[-N!//HW=_ M(Y#5KM\"G-5NGX<67[L>BRG<2'IWDU!HE'Q2Z^"D'9)'J@FPOZXEE3%6MS]Z M-^$Q7.T-(D:MFCP+.M]%UDI,ODDHM @^J75PRGE(1*X)M-^912IOK,?#Z%V MQW2U"\B8M=H-;H.([E2UQW\1N=!29 6 P+UE)_A$VD%4Q8S@[Q?LVF$T=(+- M.!J]^X@A5#N1#NM6.]/O+@G8]>%[-Y&Y)O?)A-;#([0,2]I-FH1:T/KK"A+) M8E7;HQM]D]FJL?.9M+QDXES;(H0=%;!9[6]!LKR)_. Y\%,WS&)MLVCD.W>3 M'3'GAURS.;<:V?IKT%8E:YS!V[46ZY1Q6@$3[Y!<8'9=PTMB,?L: 5)]-*"( MJNJKB>[KU;'LLQ',U9<(+"R7!Y99,X:L+UF-?M;^R*3(+K:7[ K.W;ETW!-M M(:4M1$S?]RC,+XDM@_4COHH2D:^F10UZ4E#7T>7L7Z4>W)JK46,%!##*N($6 M[!_.DN;JQ0M3=INH.2)-(O\.T^T]2@*2E9RBB ING$7/$'SULRP:BC.+EC+% M49HQ3S#EEN&B\"H":$XK+1=2PS6HU.TP38ZZT!JX3^"QA 9[:3:,E.N.TR&E M:_>LO4S;,=U\1BZ[),2 7!/TSQ1%GLP+JU%2?%:L5]:F/'A\R<_1U275\I"7 M[7Q>;J0R;,S?^&?C.H!J9^)Z0*!TR>W'OP:(4#DM-[?H&?$V7V:%=3JFHCB0 MOADWV33NI<(ZC/JKM)8>>ZZ>6A6=5\JLS6XL1:?JR5)4=B_K<7-%Y2L7Y%]3 M7;.U09H4:6WV4TU--_P*9%?[AFM1?!%PV#;!Z$T9RZ J9BC!?F,;QK$,; 9J M_$N)0TJA.E#IH!_=GUMD7IN1!T2> T]TC8I'QO5CB@C'A-3=W'%*D2+-9H?U>?*Y[=TN4KY'-VZ=[GB*?7@8" M;F4.!4D)?=S]YDS04P76YF?\RP0R +5;!7+&H76A*8J\YN&>,[[B.?)8Y1NLR&:$HHVZ$:Z^R:$U@&'I[U M\1UP=:S57CX41JLCPT/Z%&<'CU%+%>ZU\REJUVDNKC6N4KF))>(B(7FHVL !"XTHXB+F $N;^N MHJ$!K,O+Z)U%S'RUM\B9MMI=?J-,L%"S@,Z+D1<@.B]^<1/VFJ&XSTC+"*U( M61E-!$WBC3M0/IJ@-KN64_R%[''A.YZ MU(Q=+[LP,-U4?Y%F^].M0&AL9E58%I*TJS4)M4#WF>ZOA3:PBBL+*?_T851[ M&I]]RS?3PS2?8\,0?V=S:KS+7Q@K-D1ZA257O76+@Q.,XK:[NFA+H?1Y(]Y0 M=]B<1PLWY_5 U>_3ZX&Q[J@(_, EFP>7W:/+GO12N"JX]-+-N["$#<0[+O(3 MT\N9;SV\0H_NRR1-EIC( M\QSQB846)28' 521DY9/;@"VS^RR"KEC/3XL9(KE,UY/""MF>/0HINTC/ \> MBEP28$$@$Y>.&_0CI!P+4='LURA>(R^8!\@7AC,):?G(9-1=PIE4PL4:[8\: MT21@N QJDC)J=?3/DX#L@L"GFYO(3^.$R&8!>2'A *DN!D )4O2]YCDA;0% MT"S6=9[0UDPC9XZ,J]%G#16,9AH;&?MVCX_2.(A0'$\\RF<9?CW=D^HM_6KR M\&BG]Z%SQ0D>&]T5=RKERU=%\^'!QJ.B>;[SR5.^O'4>3RLXZ-BG,ZO1BO8W/7?-5V0 MLLW6IS=G%O?CVY6SHD,HJ+E[<0ZU#9RKM1L0QL9L?HNC1?;\0:[ OZ+0O\;D M:XQ$J'7*BCT2NJ7[<4^(E8-;\#1J?Q( J'DI=!GOK82.>HLL@7N,8^;/YGIWU6&,AW%YJ',$>>^$3BHWV M J:PVW<\NQ4O\]0K/-[3\EL4E!N?KM)86&UYE1'YVU_CV3P+JEWBD/(6YUL] MK<7?V=D/V4OSVZKHYVU;3K6Q'4GLX+E3;>\_G&V+JS"*:XBV6GUW=O8^D\Z3 M2X?QTG#'?9[^D67$%AT([1&=VF&1]Z:YBF-^F1* UKB@W1F7M"3QTB=TLMU> M58=R[DD65_RUPRLYDKWA8US-<)^0E_J[&K3#:**RO2W:T52#S,2:#J\&&JO: MF/A^D+=\YP;^373AKH/$#:5>2$69@;13G[3DJI':6"T?BQR*5=4\DBR=TR8[ MQ:585N6K[P*U2.C'5,F[CBJ1P+"JCGN44(Z17Z:_D>I"1#RF(MYW5(0(@U4M M; ==NNI#6>8)U61>(1Q&^FX8:D\5#:ZYLW8QK^^O\BD#?O+1H^MHNOB\"C/2 M3V]BM& ?=K^';&%-=W$DM;#JHGV6NVAN:*=)"&"0TM53D_G=UJ7I0AA7!U]0 MDN_8V+9+(/X]&@"CDI[D]_B&(_3:I)6E72Q.,'SV-/EGE"RQKS-M"XN.J:(? MNJA(#PXV;#PSJ65,??[8 M>; S0=:;:KENR(G_CS1.,J_)(Q:LWN]1G)# RQPZE/FO5+[Q%8OSHL,'NV[# M\47V4^V82OVIC5+[@WH8'3C[;98Q%E^](.(%,1*-PRWJ&5/?/P_5B078X"A8 MQV S[^G3?IJ$>Y0'%* B$6..^AYY>)&K*Q. T,LQ=+-CFL\O7%$HK>W7 MT][. "Z#F.V1V*7,7KB-ZYFW)&CEQ@X2([_EFI3Q8G9/Q08+((/RF&!PA2- M(OD&6%9_#O+#SW@2IJL@2E=<[Z:4$H#;7]N*RK6P$ RTSJ#R=LJ+6/-[ZB"I MK5.-![@#])%N,1;+H#^0?^-3[K+K&47@1.$RF43^;> ^L9?564)]NH!?(3]# M_DCA32F#WY13FGF0 9T_$$<4=P=>8K-R;:,[^R?J(PDB,:P'@ M*#8U F.,=K8B4S<.XMG\CJ"8&FB>6(F=OX5Z6Y(?SL[/SO>W)%F=++9H7:G5 M^<^BWJ$V)]SU!0<>;V,A)^VABRFN+-ZSK(J"BY>5WZQO"'1$6EY6K/#=_Y"E M(T_N4K+QJ]UE.E?Y-0D.MS)4/F_P$JP$"W+.[Q:7X0*-EV+<8W1\05)Y2 59 M_]WB@D^\,>*A9/-MTCGSVPB+-K2Q<;+RSG(\/3F>GAQ/3XZG)\?3DP,[/2F17>#54Q!EZR9VJ3+PBS0;69[# M.2($^><*;>M5<8#G'F8 X:SNB]=K6(Q1/NZ40%#\&Q$'LZN+'>"QA1J4_65_ M_02M>7QFNBUX)]T6T*]9>XY;-/C?3KAKTG'S-H^[A^/NX;A[..X>CKN'X^ZA M36>X9O)#60Z3FRAQHP7+XY9//---_CIT2*<:R5!F5,/XPYOHYF,/PYL16 C#@ MMK3AJBJ5,*VJ[B*-$[Q")'N^AXU"RV M5YNT!("-? \JDT*$MHP\^MU>L]^M M&53K;LU9&E9[X<;+(D/HLQM*CF^';A3 D-"#;Z]7D<#Q!O:*-"6$I2[,*&DM MB *N7O<;TNZ$31^@5W(%W[=4T.QQZS^X'DXC9+XSMU(@BM&YF'4TX0S>$:H(:)A+P#UVJ,\CZ3( MOWIA2;"X][,&;6U46^KH0!]<&'^642U;[UL9RXJ61[4ZB*YTD6!>IP7NMI:5 MW]CC/X^(K"[1TQC.)PT>1K5*@"YV#1&]4OL4/@+9>RNCVAA !WLF!#A6) ZQ M^!JC>1K>!G/1HE^OZ*CZ[LFSK8<,RH4"TVL#\E2LVVL#QXL!QXL!QXL!QXL! MQXL!0\U6QXL!QXL!QXL!QXL!QXL!QXL!QXL!QXL!QXL!\"\&>VZ#):S<@ MV0LM>2JXF\ACK[NA2Y3_^X@3=S_*HD5Y !W0Y,3*$-W@J0OY@88M5=>QO@.* M:>\!+1RWYS&>[G4$JX.,IWM5/G58+O718R+O4N(MZ0A6!-@$T:+RN)LB8%)1 M]@!CKC61P5'C-OVK\HEG+N4!QBMS<=@YJGI (?*2J4L7"QYZ6"*47+J)NUOD M"U<39B=:[YN)L/*6G:>\:2=F;3L^;9S]5K3/'OHH.?AO)^/!<2/?V7)Q2"=@ M0E'JG7RIBH^Q62Y55A'!4>4L'2:GSL$H P+UK8'I5K511P!+^S6I-\'/FVI)[<47$ M /Q''93"0P1'0=,T"'VV'H[\\J.VOC3+ O 9M52?)L#>M,F/$G"])5U D\V6 M:,_.O@A7V2*T56 ( GI*6"9*C@*(ME,T](ZK'6;]ASG@O*IN($6%H$ M@%^DI<+DN 96V:&^IJD,==+?O^YA 2#PU_7HG?[L7TY5G?C?!C$+ M39C-]Z.V34_\?VQ[XE]PP#[N>#C *Z^2"'B](W]U!7]BAX?RP%Y7_$>7Q]'E M<71Y'%T>\%P>-U$AK$YW=(UK >B\-AG+6^,^&,4;7-MM51.,4*V6UF]@ GST MPX8V?*'"+/;EE(\I<2.?-2Z,:E#0 PC>ZF"L98"# B2A[&/BA+X3)PP[ZG)ODD\B_P)'"7$]0="?44D (W&'*_=&4.%TT4?B^H@A MDD?*-,D G 'UD""AB0N.:EBB3KQ:HP1-%@1IA-;*"@ XINE!73*$ HA<,4'&CUU1;R7L M1J]P5Y*5?>H^TY.G.%LG<5:16J5@KTFX2M7&!N?(^E5E?MCKFX8&>LC)'R26 M*HL-4Q>SV L'45\,+CA,PFLEJJD:O62N3&%%%G<2PZA7B/0@%"Z.[%(5LKB? M&$:1P$*[..Q=O7AARFZ$*EXCU"MJ<>?108%ZV.R$=K'G3RX(\H-DYU\PB]KZ MX>Q\/VJ+54K_R>MU=A7#C\1B*];9/&?\VO587K*-+/!*0C_R7< :"Y+#)!XA MF$@LI?AK=_XX2.#LXNO<28][^*0PSG3$=B56!;SD)O?H&8?/=+BM,RIU>BG* M #B[D9E853L*)'#4=(N2!)%R ) G0>&2 G"'Z"J%#V#8(\V'[]0(*!&2=@ I M)8!3%96$I?S#,7:V2+K);JUGV3G$,S:/$$R\G=&,S4,"52'*( TQ.8R96VQ? M8I6,%UTQ666[B4GDWZ.8/7/C[^U"A$.3=DD ,[3*I';^<$U, \\/R,/L#B!E MAC6JJQ&]8@#F9EUUZ &",W+Q!F')A"(F!Q,\:#2MB/' 5M$MZ_1$.LFHB\&8 M;%06J%)7'=.PHUS>%HM2^QL*P_C:)0L\=:-O7]R\C4D$5E5P8CTRR4=575=/2)R*/8" ML&?)$A'VP33RNO%"9A%YG568?SF&7 _]V'CE"5?)H;N0^C"#KX5P0+S_7N4J M?VE<'LNE40[&.;O"YE0:VL,T@,_'?V#A2_$D3%=!),CT**4$< "N;44[7X\ MC-W.4,G7?,M:4 Q00O+###85XP&G%?G8)"D 9%!2&)I**WT,1YWUDBV9"E?3 M;> ^,>,*%#FB%&4@#&5*:ZL],B_'8U\_.P>@D8JDQ0"$:;30DA02H#!Z\/<: M^@A Y2$!I(/C589!XTFO<>1?IK>N=X'3*-FP)T/+OUQY.,*KP"M2@&7!Y)BL M<7X,RUP07W B3N3;6\T 9B+=V/O>,(-SKC9<4G_"&-+#"QNMVVWNR0^\.W6M,40; BL-8IPI(<#S:=4:KYS#9%MU7GF.85'!($:%M\,%2*W/;4VY7=$YX M6&+"[D^O+O#JB:)E>8Q2:7_4*7Q(T9VFV."H,F.1S=;;B$/1C,BE/*2H2RD0 M.!HIS\.8+2E._W*2@PR)K"&P<]AWM5J'>(/H2(N];[/O$2(L83I[\6\7AWL3 MS3%9%2]SFAP'_M1,Q%2VY\2L00>7+3IKVB3]?=>J4VD6_IGA+B&L6*)7#[.[ MG3 TG\\SK7#7(/H4(R/9J'35C0GH>(*$'X"3KOR?5+$",':I")2.O MRIW6IB)K/K;VJ/EY\DWG+X!9\^40JA9_PYY(05$I9>[FST4RO@BH ^.L&5:@ -AQ/@QQ]MM"ALQW[W&I4 MKU< P)W7S[AN MI6%#-G(=K9I7%^QLLMG;?D>)6F7H4KPVA/L$T@WMP<3"+_ M#M-! "4!R4I.4435F^T:F&!G\UTUE%:VE]!SFL!EO(?!3?&B>9.QIB-%0@?0 M]0%7F[N!42)1NP_<-YABXJH^COF(KZ*DD;969BBJ&NPZ-)1]0*@N%:YA@W;* M*57\BFN#PJ)_H(-I[:\: 3YX-\:(,[CC>QB^P(3>'];\ $B#\+K9%$=IAHA@ M"H&!I9@K4FEZ&UNZ[8=L\ #=^$..7#RC'T+L\*RYAD[QW+"D! #G__#]DV'UTBEIU (Y4 M[!I[>]'!\>(;8;APX^7DNTO\^#=*H1>!W5?U ,Y[#LC:I*(<]C30B,])%&51 M,45,+6/[)F*,!L_B-$6#M0+@E,F.C0TFT4,=Z"I$_&"$_JH%$ 1_2 ,;3X2P MK8QUCD8<6'G5>W.AF134N#X @?WP[$I3=O -ZDD,(G3C.)@'R"3E;+?* 21T MAFEJIH*$;7?BO4TU4,D-1/E#.]8)(&DU/"LSD)^=<*)K-R"_NV&*9O/K('(C M+V!!1.6=U7@2QRB31R7WR239%C*+,7K?C#%B-3G/K"H'SYUYR8$3[%A@$4<9 M%XX;^4Z%#\=-\O(9*_#CC[92XPGU,W*92/Q9=(_8>,,6E8$SFUZ/8 M2@9'V3I / 8KRH")JQET]%4( 8Z&]_C3N S:H(4QMFJ9:O-69@,-'-7P]@_- MO8E6X(5>%0#&5:DYJC978F1PE%I9 FP__C5 A$IKN6&OOO#"V$T+@\GE.-8* M5RH-@,JO3O]-WHV7NY(Z8 S.9E:O7#&)X0+4]4VT3I,X WFNM_CEE0 P-K>R M7JXN>0 !:J[#H-5P# [@F[D%$+XVB*RX-M-]!CGP0+(*[IV_=>L[%=B9JA" MH+#!34@E TL)R5P2L6QT=XADZ]9)E 1^$*8L)..!@9[^)5^>+*SW"0?TTMC.T,TB3;&,SF^]+6NU[;3R/C#A,= M>9YN^!5(=B6#M@C&63^,Z57'J4'E"&=YQ>=2F2E?70S&5F>$_J7P,1'#5UMUJ>_ZJWM>OJ6$/]*3C_SS('O>CH*09JZ >RA MAC3(GJ1D9Y=UCYY1E-)_/+S(ZZE<>0MB=[$@:%%P7M!.-W<$^ZF77+@)6F"R M,=N#_=C<@Q45.Q4NZ%]+1EB@4YT5]I>RS-/&*=AQ2G[@;],$DI5MNN1%AD\? M4PAY1AX0>0X\)$@FQ"<#LTG1$7R9%H8/Q6X2GX(GY@0JN(J%Z7HDM/83\\C, M:4\!/ ##9N"9I8F/,7E88R(X/Q926<[$H[2/\G84E_F!'R-SGTB0OR H?E:L M26-Q]6 D40[KP\J3+B"R9(+L>4:Z\O02EJQ1*%DIM<7+J$8REH(85MJ/=)X1 M2[?VJ\5KET;2K#$]L/3)4?+=X>-)-=A6>[2X(+',4X#/P\3S+;I B6 M9B)", &')HLS$1AHNA"NSL2D]A=G1W5&C9#R%RT>-XD5F$;7E M59W*K&I/,(LPP%%*]K!?X4.["H-5$(D7A9IE+"\2312D0&(WHI8_ JL\UNIB M]M)':2*JAR:_>]H&7@A$GHRA)0 PC'T;*CT;PB1#"#=+'6!EPDE\B>>1V=0B80EU 6 M%Z92EJ#IWV&,O].=A_Q0@T,#(%.AF50Y&'J7Y61! B\-F0-:*$L.#8",?&:R MY&#H79:?6?"Y*YC-> 0 4LR927$?0/\GELD2D7S=+#ZO;-( R*EF)D@.AJ/# M!+C#Y.@C.?I(@/E(*'\LI2LIT'UV_X%)R6>\TDU?N^#^)O,22(B'O[\KFX(@G-4'A$8MX=< MT.71'0^"W9-3=BU@K\,)CTXEM/;/3L4F5 I?POZP01AE:Q/Q[GJ?PO+!I](J MMAOI?<;'D>14*3&N)"^5DKP$X(UH)2;V6"X5PQ,JK9.(^(>*,AZ M*SDU&QL;Q< .D%RSE*MO'QL<]3VX(8H+Q]L7@>]?00MQ6!088>T:.!\-'-5, M/(]=[&79BU'PS,8*J7;$Y #"KB&MM MP-H]VW:NJ\Q:$8C=SDRQ-3APGN)I\#GQ_2!GY6+ILF,C1((X"3Q=M8G+ PA= MZ:A#,38[)V=98IXLA73MU9XMES=1=D&3?3$[(ONY>426M762O3GE>)766(*^ M;8-.I47XYV"[L\5=+F[!\T?Q=-/(UYT]@:J7FJ]S_2.OEK*6Y9ZS/1HP9VZ] M*[6VC*J#AK-V:H]U!RGR[T(W4J:V&Z8I&#M4KN'7-CJ#@!\X@<8J"I[2>/N$ M;LR:%P>FR:@!;$^'M/1M8)M,!G Z_3UBK_#158B?3OTIVMH@R M=?;0"M:4!!PU'V@B2L$2?"SU'D3R2J4P1+)0N4;ZJ-B:"Z4_J?!3579>&!ZX M=R;K$O=HG1)O21'>$;P@[NI+RGI'(9UXDB9+BO$/Y#_B*=H1BY[?[5CG($M>^12]S.(V\*P'6^ M :VQ=W$!L[PV4BOPS=(D3MR(70KZ&PH62PIV\HR(NT!7+^SR.5N\!)[0USU6 MZP!N20(;+4TE^'I,-N^2D\B_>EDCYLEYQ.Q/%4GDW74@F]5O?DRC_?F0C%9? MA'\FJ[4P_G9E:DP+_^5U6?A!C=8=%E %,.9"VX-\CYB:J2C*J\JI&SXBLA+% M"EGA9$P+_W!("^-6TNS-K+E'GEOG?YXVFB^W+SAZSCLG Q,_XL0-J[]?X#CY M@I/_0TF1/N\/"I_G,ABEQ5&/7L_&L+]1Q 8I,.LA7:UQ(5P"@MN1; MV_\:D:WS0+H_-]V>-QYED&W/*TD&JPPI-^O'O?IQKW[HW)' 7LR:A.NJU5\^IN M++47A6TMT^'G]\KPPW=1=ZOJU=T(ZB8.6X_DK%;4 K.+<1=+!CN^B2I!Q/GO M^:TD,P_U+\T LKPR)V^-?<\;=(+(P;LFF?.:D<59HP?@@4[<)#,6J1MYCVCL MF_E%ZX6BJ3GBB"V2);YA11DXOF*N^.MWY:5( #SZNV5)ZK05T,+PNFJ96/.% MWP8:RUDKL]&.C=OR-/1-.@ >4JDMU1-0-MBWZT(I;4?I$N$0VG-Q"+GF#CX' M^U!BQ5KR=4!E>:#N'YPB$#;V6KJ3PX!S@^J1()'0R(,!N*M 2$ M?;:6?J0HAMU!-4SC)HY3ECJB>/^2O[/@[)_:5@1AKRQ54A=P+?9"OY[FDBVV M '_Y?U!+ P04 " #28ZA8),I(: QL "%/@< % '1M8BTR,#(T,#,S M,5]L86(N>&UL[;UK<^0VTB;Z_8W8_X#CW7BG'5&RW?;<['=F-DHWC^*H):VD MMG>.8V."(E%5'+/(&I*E[O*O7UQX :L $@1)(-E](F;^,O_ M_+B-T"M.LS")__K%VZ^^^0+AV$^",%[_]8M]OCK[\Q?_\V__[3_^\O^@=3M,PBM!Y&@9KC-#;;[[ZXU?? M?O4'=';V-R;BW,M(E21&3-:W7[TM/[@HI"7Q#^@/7__QZV^_^?;WZ$\_?/?' M'[[]$WIX5Q9[1PQ;A1WEHC#^]0?ZGQ>B#1%\<<9^_>L7FSS?_?#UUQ\^?/CJ MXTL:?96D:R+AF^^^+DM_413_>%+^PW>L]-OOO__^:_9I530+906)V+=?_^]W MMT_^!F^]LS#.[B-K- M_K9)\4IN1)2F7]/Z7\=X3;]*JN![JN#M'ZF"_U[\^=9[P=$7B)9\_WBCQ/-] M0U91B;E.ZUO\VA:<9\(<;(1)K-D7&&_AM.XM^:G 0H6WR&"ZBX8K^ -_S'$< M8-X J.C$;WP>T9:7I*<.R\IFFV'_JW7R^G6 0TK'[^@/9_0'YB?RRS\O$A)@ MEB]9GGI^7DIBYO_U"]GG_;Q!C::REFG3__4P^:_799]@1<'Z"K.P_R ;N)5DFY9L/H+-V/"AE4:\$PD2M >?0RW62F#FYZ7"P9]P2("G;&+2?PIAS,I5ZJHDN^[%W&&<@&Y\OG8=1OANOWW!J02WI A<>JGPE+0Z_APF MG916FC:Q8EI.)2(NTCI][&.:C"Z/>!W2Q9,XO_.VLE&?HAATVLAQ-:G3+ .9 M/@I+!S:W6BJB8AW1R 6VR>AT$_M)2KH[MESXE)-AYD6RC_/T<)$$:G9UU8). M-BW43>ZU5H%,13W#![;>AA+$M*!"#:)Z'%'5/O9% 3Y)V_!/1N=G[^--0(:S MX2KDVY4=(TMU>>@4[D#:)*^B,&3:=ID\L-$2\:@IW^W8% CCRA/U] M2BCZ]MN7YS"/9#V(I AOD2E_.DI\YQZ]/+DTV'[DLB0'G\.ERQ2)"53&A_"I(G<1.,&Q:4A+LXZ M02R"F; ?N?KH;XC%6'%Z2E$,+D7:"JDHTH\XO(= MK;&! #OA<4;B L_/PU=\Z>5>88[2&)9W> MJ_+*1NOLC"( L)/>;DDOO!ROD_2@],%Q*>CTDZ(ZO>92%8%,-KFA(UP,25$I MU>%]%[O()J/1T]:+HO-]%L8X4X\OCTM!IY$459-&C2*0:20W=&!C8T)1*=41 MC>PCFXQ&5UNV"A+ MX8A+1X5X1[P# '4Z(GZL[UOS- =J-\B*@J>@$M\1_T[*@2:?VMJAS?&C> &? MRW9%.Y<@IQM ;G 4=75X1X6@DTR&Z6CT*)2 3"RIG4-'6%2FXR[,-J[I%OJ3 M[9;>($W\7Y\V'O'6_3ZGZ63I%IYZJ;6]$G1ZZ6 ^6OIOJ0&9?EIV#UT99SH0 M4X*X%B2H<;4;8!GYHAOZ=!S&<9YZT4T6$.1IK7-?D+[(] 75)N(3K0'>]L*T[+.SM>?M.#-PE&?E7VJ*%'_X)\LF0"VX7UV'L1?[(0D""=]<4+ST MT[,J3&*9X*>>X21Q@&/Z3ASY*4NB,& OPYU[$7U C:[ XWQP M1V#2YI=91C1WM.Z30K#;L1R3V&*;)>"V386=QB&6B4._E +_C]4N8RI03T]7 MST\NN'/A99ME'-!_KOZ]#U^]B$21;)E?>&EZ"./U3UZT/UZXZUL7-M-Z>4 D MH%9%N+SL9[YQIT'$(Z(&L1\$16B9HU(58KJ<$-FB%^AC?#[] =>*7%#^$?N8 MZ'^)<':'<_EEF*ZRL"G=BE"DL+0@7,JVFVO:. 6IB(AU[M [%EC M2N3_\<<__X%^=$E$TY0?Y:??N6#T3?Q*W)2D!^(SA6./BL#FKPR/2%OQ<[AL ME5IIVH0K892B3J@Y"9RP8.0DB)+J;:#,B?;U\HH7__S7?\P>__OL7^ M/Y\3,KV.US?Q0YJL:8*Z4V*W%(-)[BY/.QD[$VZ. MVP@M<*UK-#TN(#:#ZJEV1Q78]-+!V^P? MU>7ADD_+:O,.@0M'3#KK$"OYSF;O5A OT(Y!ICT@+A6XF]]/BID'J%U?Y%:" MUH])$GP((Y5?A(]A!Z-C'&+@*3^#&V1.+#1M:J6@*4BT8X?XKN*@C4BC(2G/ MBKS![([7E],A>LJ]-+>+Z06OPSB>"E9GA)^ZN5G:R%+A/EPDD3JJX]^ MM*>MI2.J:5:%'?'ZX&_NB'37@QLI>UEOON50*BE7)NAF9Z4'.8^R5KQ01"N' M@7?N,#4VRNRV9CXYGFR8_8K3EP0 8C[@#G5P6^FJ[DE[]V@RVUM,['L,UYO\ M?O4^XRY0.*JK#NS.20NQV"NU5H#;'>F9;=J.*^F(B5\@IN L69V]SXJNR4G8 MLH4ZHN(=KN@)6P!WI,VW+HVKR@+G:1O"!C]E!0'SLM5K\T'&5J4=UV%3JZP>1;+IUX=*Q-P+3YBXH8KM1HBK$ M=;F^3V7/%S?+\YO;F^>;JR>TO+M$3W]?/E[]_?[V\NKQZ7?HZG^]OWG^AY.> ML3AV_N =Z#GUCA,;JL*PZ=Z.L=&32DO"I7*'O<8];7D7H9#K]"S5U!AW7*[[ MI9PR%AW:2=A9"389]3"K5W..:\ EIZ;=HZWG5!H63ODZ,>PRWQE[T2N)Z*'L2XZ%;*?O,BC=\%^]M9L D#&& 1]].Q]Q(K#R[TK MPZ2LF0_*JU+Z-6%?H#+ ,;0Q9X6N!?I M;&#>SNN#^54X:(\?&SUR+IV9K6)PV!XJ.-A5%F;8TT(H&9TT"X(? MD2C,'=.6AHV SM0 MGNP6GQ:%R\(N@P?N&*OG!.[VCB=#6][$$B8!CG?.VODX0RKJL7!.!)R@-=IB M6]=.] 30FE<>71,MB=?/.-W>AC&^7UVD. B55),7!4ZV%GP-NDG* 29=/I.*XB0_X=XH(#5.5$\" M\U$'H0:.V^S.+.I;?H4^V^NCW-:!'^\Y;8@?\FR:CBQ M]?)]ZFPT<8E7F-@1T/V.*B1K>)Y W-:F]Q$Q/#\;/W49ALJ]/N=->:1WSO M0"T+W(HJ\"-RE^SY70#PW8=-) VW@325T<+MUT MC#8^)E_+9L=9&M+=O'AD$:TO2D=O,HQ)MYYC]/UQBC1KS$UB=KFP]5FSTV+P M.2K#=4Q,L0QL-DHM'=(HDYC?>G7YTMA$N.AA.?:*2H)V7HI>J>P%^M,?%M]\ M\PW]/_+V^29)P]]PL$#??DO^]/WB]]]\7]1#89;14TSR5XZ^?;OX\Q^^6_S^ M3W\"\];1,@C8LZ9>]."%9")]X>U",BH0O*OPOU9%V$37Q]XX.]M9"VXPZ&&[ M\:G:2@6B.N@3)(46)$8.-Z=LK<*GSQB9LP]\(8!U=>2C.I9DO? MWV_W$7UH^!*O0E]Y"$FK(FQVZV-O/F'850LNNWO8;G[FA:M I0XD*$&%%D=/ M'=H#CPL=+BC]G&(OVZ<'%JYXY&H;?;<4ATW?+IPB:55EX5*UTV+C-9U"<#$^ M+[K<\8?IWW.,,5Y3AK41X)3(",;PVP\%D(_AU[B,7-MG=7.K/NO1)5-=@!5!=WGT1^<(.K MMN43)NYSO:M5JC6QDVB?OYH+'2 MJ%43+J%[VF^\Y%:J040/*A6A*A->KY6A(H-P[H@7.JVFSO*UN%=@HA@&#N(XV.4;2,ZIN 3,VE9;5]V MNT528S9T5*%5D/*X^"RHJ31Z%()RZ:@6[YJE4\$MN5JN%JH NR'L#3M1H.N= MJO3,B-I$V4I27G1&!#TR>$QRW+>]7_ 88.X"[W:5X M@^,L?,7%7]L35/>7 IO$AEYI;LGU$@&7\*9 S/NN."""V:7T.$NB,&#G8BHS M,IK7O6% <:72S>&P5QSO\35I/?38.G7 SV&^N=@38F]Q6CTY2E^)(O\+GKV/ M"C>;28)-HP'>:9XGZRT&+IV&@!F098GJ1%0I*K4BJA:5>H57ITO-](JRHV-H M]EU$'][.O,A9=BT7F-F6%GNL6 K=TE0](QU+@5XY2VJ6@1WTI(B:DW&A -Q M)3?3O%?/669I3YC:50H6.SYH/GJIVTKDJPR:6' MN;$!W%H#+OTT[3;>ZA3$4U[6"M $CZGJGW2U"1M_I"F('.UH6\1)@E18?[W2 M-V9M#7/_30[*&*7(TN.BH0GI(VIJ+-H#>\#1WGS9FZ7X+KF#=4 M^9>+RC$N9R LH=\3CHC,]8^8F.E%RSA8!MLP#NE&71Z^*GHM,PDP>ZL!WCA) MC*E7'>YLP03$L'22A3)4:&/WA9KZG$X![#LDX\H6:%UXA([UO:9'BICA]@T4 M'C5ODTRUC"PO"3P(J-%)7S:IBP$F=8NQQFVU>L"C&/Y0J6X?*YD$72@[-3(. ML*[;BE, *[XLVN91PN4GL9,P?OXXK04[/"A0"6&CJ,B<,.&RE#S MML?E3=*?ZV\>30;+X4"^CA#EV9 PWI/(<5]1_!RODA17^?MQ=O61#":2- AC M+SWG%(C=))/[NUFP)A,'>3@,SWH@9TH-:X^+_<+?F5+>[6$N@%QW(.9FFK93Y M'=6EYQ#CE"A/X]-)4>BQ16WPP 9*'^TI)*-"M).)T<0PZ1L]#H<\=SCO7( X M+@.;6FQ[>CB_)4] \06'CN9:&OZ8NR[+SXUT#81CY6<#[,:YH['NT0$PR" M?.- G R/QD&V"1&5?7P53R"$D\LPVN?*K"?JTO,**478X!$# M2R$:1&@9"^:$F S"R\BH0(28GW&XWA!CEL0?WAK?[6GN]_L5SXIQO\^SW&.Y MJCOF$P9B8 J^MR/$D:$6_E'K_CY/H MY\X[7N&=(D=;4NMR,OW1=43;M*BOC$\CC"BG4;T$S#^ C#."[Q<]W,W(['K% MY4S-+M*E,BP"BHK%*/#$!?T\V")EEI&QRRL:L5$E8G;1L1/(!/&QG)N[:I[*-E;]FLTMR'.=A^:Z-\V@I)*>[\++-=91\R/1S%0T#')P?WA-S;^+JU/C2S\-7 M_M9->ULW$@2; >:^.3IOT5,*7+8,P#+D6 .C2*D4G1\054N?JJYO6-2:72^Z M./#1Q?+I[^CZ]O[G)W3]>/\.W3]>>*+E M:%6C .Q@<(I%)'G]*5SR2FP$X>,6V' M880;!\.>DW$ZZ(E4P6;ME/YMI/Z;0 _<2#(I6N.UM=HH])R@RBQ$&2Y>MB ? MSFI =[;>8+2RMMQ?0R5_)W^YE-G[TIGOQS0FWW&-IF_+"^/$G=[E8E.-H@N M\8Y "&6I=A1%8,<]&9YFIKKZ<[AQ1FJE>6ZO6IBC/'!VT%@>N%PGJ9@+LS.( MG9:'3:5.I/)QP%%AN"3K-GEX'\&>>A5E.^Y(1T>JAF9KHOT:9D2YY-%:]12J MK0IL3NK@/9J>*\O#9::6U0.F\%RX_!EF5]/ZZ0#7[TZ/]>"R-)_G3?Q* DR2 M'JX^^CBC+\3?OV0$?>9CHOL19SA]E67OU*T'DYB]D9>9.;4JP<[#V0^"^7W9 M0@O"3 V[Y)<(BL@QL0LN+0EWC-%AKVF+K:Z4'65L=S*LF HC3.\QG M\*,7QG1!\#Y^\B)\OR(CJAU.\P/-5YM?_7L?[FA/IO"3=F789.WG Y&\>C7A MDKFG_:8-GZKA2^GW,:*:Z/F\4A=+<9VC2INC_&R67,&\\&;ML<7L& 5AMDLR M+Z+G>G:%Q@7+V)RS/ALKO&(\VY"]F'"7Q'0W0#)::2\-D]6:*,OY1$M1V+,( M'<--6^DC72S.V%Z-_!T5HHCMB5F=.TR)N!VF]6F"%:@M#[@8QY?"R%M,5*E? M'I&7@AM/6E"5<412!';\:#-XP++VGO1<:1T^\@U&,6$1V].-J"XG[WI, ;8, M#HA)=?80QT30SDZ_,6=O1=#,CL2:MO>,=,K#C"_:2$]>?9 5ACO7Z#;9.&TZ M>\"@$#WENSCZLXFIP<8E0;WZ6(VCK*0I#1&7F/\KG"&Z\'9A[D4=APQ["8!- MX/Z^.$IGJED;+L4-, S(!LI4H%)7\S!>H<[U23R+#KG8T%_G!@@\JN*D*KB.6EUN1).YH^Z=99VZ\EB!N)[1084Y,EID]*H4% M!6"H.RYH%;X!AXF.#7Y.DH@]A_"0)O0H@&0%0:L23!;VPUR?(>JJ 7OIKH?] MQBD5-BP'..?BFZ!0]"4*]O1)<+:LE^(=/<1*?B/CS3"A%S38WU^2Y%?TZD5[ M3'>U[3D^!.AIW/)#FZ85! MN=E1++_0\U9T 67))D;:45]3&,P8.8Z/VHP6A!HZXWMUBB0*ZW ME%%4FE.$4)D^S2)&H07((N;8V"N8.RE,1UPN YKPZ)RVA^1UY\;I%@^T\UI2 M<4[<;C-_5'Y7G;SX6B.8CGT*-U2(RRO_#M]35&W-L*,4M\5^R:'_ULY)_;GQ MOL,3FMN6SF>1,UZZ[3/$.FTZMSB@!I_Y[#^J-ZZH'"8J $'X"#Y1@ M(R588-E+%<[J)0 VW_O[PBQ+*5SN&V"PEI74U0.S-AW2,]$7H(!!MVZS,=(= MMPN:90#1\(U&(&F1,KN HH-EDL!2*0:4G="!CX[3'=_<_73U!"'=L7&&SP,,!COIA6J:&K30MGQ?6RZ MW>CZ3K9-CQ#S-VP18OR+V,/C!#VL@8/LFC!&N2"L^\2VC)11ET",6[H#[4&C]7 1XW^OC"; MI,"-&088K$U*(*UV3.40MMI1+'"0_Y5. +F^<1W&7NR/L+[1+FB6(4/#-QJA MHT7*[$*(#I9)0DFE&/[ZQI0^.E[?N+ZY6]Y= %C?$(9DMV&,L_O518J#4&>6 M=JCH1*J:@30*PR5^M\GCS"Z8;#J]X-*=3R0FPLJF#2]>_"M*\6L2O=(( MYC,=*$YR-R.!1[PKEEON5SID;2L/FZR=2$6R*@O#)6NWR0/RPI4KAX2C4Y)5 M?Y%P.K35*FD2@R9K$J^?<;J]Q"]:7&T6GQ%5)3B53!7*SH2H,HM'X&E">$I$ MGY%N;XNH< @TG0XKOQH458B#4\16M_8><40]\YP\>Q]_#O/-)HGH>^372=HK M#?H <; )/M1/LDW OK+@!HC!B 9V?0MZ(P$)&A>(*3SCB=J+4FB9IC3Y$("= M0NN.8F(S]('JPE' GHK!VUV4'##.?N?N>@-?;L#LQ/9#&L9^N/.BTDL*)W;5 M@1U)M!"+X:*U MR8H&>V:7LNI/.;" M4*2BY[NIVTK2HQ9'^JO NY/@YD3V MM :BJ[8TZ#E;?E5R^)EF@?X"J+QY8HWZ9I6;OOI!6(]E MFQVK*/G@)/HU]H+IJQOW.W:MY.HC3OV0] $Z>\B*>K"CH#9RY9$(626XT5#? M])&./U =J%""*BW.%RHGQLX6+&E8P(5L&A,RYHMDY^S&EOY6R^"]&O#$[^\+ MLTU*N*' (.U34E(YQNFJCSU+P/I*A[-5JA94G):P; 3MPN?E.Q.!G MUP*X =21'P;-8]A_!#-0;2#_C!Y,/?Z;6)[;C60W= O346D[HL8C;KV3@#ZS M+XAV"K(%D^Y_9@F^QVI07XGT2\/XST.B@N4 M9)@\Q3?;WX1/N$P-3+[CM"^J07YJ-F-VLHF@YJDV?HB/@ M^72OXM85T?E]/[)XC[P<89K2<55D$9[.GT^YE^:?AT=?\#J,8]J057ZU\]+W M?K>+V!*R%U%[KZ/DPQ7_0]=QIZ<0BD#DH-W1 PKDJGRSCH:O, MPK,>U6$3L*\?FFLL M>G7A4K8W O-6S]^R%#6A4A5ZV>>(*$,'G+LCNC5?5 ]3'^=:^$]ON_NO.MO" M L78I*N5/JIUB5=A3,^-QF3J3_Q-AM(TI43Q\+;XY_O5<\K.31W8>8PC;PV5 M!3,:C.*A\F4N8T&P'^P:#LOX?:8-+H[XT6EAG!1;+[Z@DKW252@MSO3LXP"G M*.!6-PM3NEE]PQ^&KLO4NC_'>(6."7#<\L[52>%9M*\ MGU4O4#5+S*#!/H_ROE(E#OW"!!ZOB=MM<;S1TUM82JP=$.SZ2@3Z"Z8.P1LLMDZX6J"\JJLK 9 MVHI09*:T(%Q&MIL[5J-$OW#!;@AH!Z,+WBV#(*33)GKG+PQNXF)U[1W>ON!4 MX8VN.K!YJ(58Y&-K!;B\U#/;^(V=2CI;"3X+X[-R[?@7KL+)P*^QSD"(M4WB MUJ;<5AYV,^Y$*C9A96&XS;?;9.-ERFK9C.=3<-E>'W'NT46T*R^E1^BRUL:J M+ R[I;9C;&95DI6$VT8[[#7/,L3%HE*NTR9:33YNB4TWY,?.";18$';35&.3 M3I6K4G";9(NM(ZSH4*&(277?N__D17M_ MLOM7U(/;I'M9/WQ00+4L$-.S*!^L"1:(ZD)D*^<5"!OZJR'QUCF.\"G.Z]:B,B7VEP X#AEYI=FF]1, -#J9 S#M# M>F:!*T1<8W&MMXH9I5I4Z&7;^%,L6[WB]"7I6CFVZQ[)AOQ8)Z.6P;_V65Z^ MT25?W*AO3#'@[^,PSZ[HH= [G--CWT=>&E$LS(@QMM_*HU-CR(1]BFI4A,:+ M;-5AJO)".[W/[M5+;^Q\,KOBSI?>WBP?;BZ^1,0A^XA=GB1%K5ZS@J&=VLC4)Z@HQ5-ZM;"DH5XD9=W .]+#]*% M8/SX*&]>I%VQ021QT(CE,_/]++ EF8XR>")4Z" M)WC/LEA;^-07U+L(MO?IVHO#WYC^^HPS^649!P_DZRGG;O>K(L+,3\-= MX0AF'GWVNC;N&7_,SZ/3JXB#!,&FF+EO1#[UEP*7/ .P&#.E4(D$G2R+&J<0 M>S^^UHM^H9H14^WF,*D+%T$+)F1P\T*")YO4=736'57F$2#:\,I"@:P\?-*W M6FT\W/?YV-=5XG\)N,LJ_Y5NG]=9>7;-N,4''0U:4G-63;O-_L%]F* 'U8K@ M=%H3^V$@V:4;QT\XPGY^[D7T^:"G#<;YI9=[BEY'JP),LNIC+;=QVTO#WJ#5 MM-UX*82)1R]:^,[;K%$A!@K[B7*/LF#DJ"\,F?CM&D>+RDG#) MW&&O>>XD-^]N-^%T=4[JTG-JCJU=CJ+H7!KD>#&3R@4U?9L2J OJL>=JNU8. M3PK!)IH271&Y)HW7S>0'C4 'DOR3XO7J"VNA P&>Q;_A =@*YJ>IAN$AL5MVSX MZ<@/,8&_"7?TLLW5T_T#3T%PPW[NZ,V,!,$,4\-]T\B7U%L*W)YS !;C+$3E M=;7BB>U2*U6&W9&;09FDD0L=OM5.W9$+ MBOL$E0NH0C C $#-PLES'\*I6_8"(!V04AII+WKVDP S3@[P1N/=#_WJ<$<$ M)B &)!XJA#,".!DO/Q"P'.I]OL'I0T*P56855]4S_577 >)@.W.V8-P$FQ=?6!'E=FUU]:^K*W\K%KL>$&V?J 15*=C [.[=QN3 M[3;D=SU)KWK!'F5?X]@/<=9G*M=+!FPB&WGD:#JG+P NU6AMN8-6PVWK)+V'6(2K9X M!--)?S4A5G LO<0KG*;-) 2WH?<21MWOU^G6AI%75.K'M5A-_>^?E"ML[?5A=OH>R,8$.@K M1:C0Q)+39*C0Y7Y>9LT98(+ 34RZ<7J[H7/=[[0<;%HKD3673(X*P26JVM0! MUUM69]?T$6J:\K.0/N+5TQ67_0X'H>]%E?UT1[OMP(M^39@-T "]<"M5IQKL MXRU]01CO-R512.9&Y)O(=J&_3_99=$ !)C^S_+_Y!O,C+F%,TP#OZ$TN=J:U M, ;EWJ\X1B\'5I+&82\^T,(K[S5):5$OBA#=KL+%40D^06%R"]41]E*FE*8S M>2$%Z(=IF/UJ^ZJL%8=3/:B(%X4F5*GB9VF<'J"QZ8\-X38GXB'=) M2MM\U^OJZN(P(ZDNSL;=7T59N!U[I\7F[90)=K**<@Q*?\M.K^:\&JSF!IY& MM?DTXRFVM@H=J%(":E?/H@><1;>RW=NK-M]&->'.&MGFI"I2I$ M=:%2F?M.SKHW7,> ,/N5'FI]3UB2YEX8YV'GXDA7'>!LUT'Y4"Z@5? <^@$'Y&N?]2G4(KGZ?K7ATKJM_&RP4=I@8QV>-\].#),(- M+2/A,MXS _2VG[8KSD57=";8'2SU$Z%:N]>,N"87^0F0K0.8\='FNC^_7Z&6 M4]]\.99943YC"F KQ;7[( 6KJW_ON^\\G12"'4KDF!H;*(T2<(FNL'/(13S" M42[5R9$QVO(W2100BG(K[I)<(UVQ27W8;;2W)QJ'R'0KPVW9_2$,;/18UN@M M'1JSC=4AP?'YM-,QW\JJ&BH7[7[68@6L,2NE%P3OO)Q-LNYW MF"^%9OQ"5]O50)TZ,%G7"W%Y';"S NR+@/KFC[#60._K^7ZR9]E#R@MZJR1% M,;."?IY4=EB]GC>]&[@&NMQ2ZT#%]4BG-_*L04]$Z"[?XP[)J?@]I$I,? M?9;=LX#<'MP&B($9[X;Z11Q\])4!=TQBC,28'O@#JC6BILHR1+B.%,Z\\XCI M1JS:04XF(/X&!_N(!,WSXMUQ\6'P\X/PV[/W$F&%+PW$P XDIGYIS&)ZRH ; M2(R1&$\#"H6TIRU5(E'G@F92$/Y P@E5?!Q)K'!(XI/EQU"595%=&C8C.E"* M#5]1%&[[[C+8M!G+FB[ZA8IVT^79Q F%B?3'%./+9.N%Q]/&/O7FQTXI\BZ> M-BK-B[%RT\=LTPM4*D&_<#5P>#P]^K&6XMZ%P5/NY3A;1OMM&.^W[_#V!:=' M6-M+PF2C!KIRL4U1#/826Y?1YC.C'3&731+%1V!W_ 0\2Z^5(*+\C&M'I7JK M"VM3@9?@0K]PV?:7T"R"G +;*TY?$@?HGI8 ASZWY \W.=[VF(F(56"&V#YX M.\8Z5?E9#7-.K1YW=D+E(Z8 S-AF/,APJ.H@!MZI@(ZQI)@ M;1&J34+^ MEVU87MPP*/9$TVC'75>(O0:G;H=I-3(^D)>GA8I^FY*>>8[#. MZK"C2%\_R$=-[77AQHW>" :SX7Z%*E6HT(5XA'!^=L*^-Y+:&XY>ZB*AB2Y( M'FAV]YP,R.C-AAU=+>U\&5VG(FSNZV-OO';>60LNWWO8;ORB1*&"O660LX?, M*RWN*6[! 4<=/U.W*+SAB=YPV^V3D4B8X]OPEH*HP7&Z(!9S>Q:1 901S,2#*6GZK'K ;(@KWK/@JR,0),H9[PIB/66'V. M:G;><1V)X7@M:7AMC' \VK O:>N>KO?T&M!R2Q]>^8W1]NHC39V">XT'1U(! M,[Q/Z4_9"'(,^?"'EJ.B'$K?I'/(R2U"HDFHL,EU$ 3M61H86WSG(B[>8F(A M34>E%>+4I6%'JPZ48N!1%(4;0[H,-FVT3.Z"95F#LH,U%=2G_7;KI0=*3YHL M+8G9D57R6T05(FQ,3^DL\A:3X(.?]KM=Q"X(>M&%EVVNH^2#N W7-7DTDP*3 MI@.]4DX5#43 GB$. 63*!2)N'WDI"AI)$3+!!GXP9$6L:)SJ3HNTC'G":6,W M/8(+5W&="R1J150MHGHA'0%PY2%QX//4V80<;P>4KY\51[0:1[/>D19-J!#< MQX_8WZ=I&*_/O2SLO5$PB@Z807Q2CRHV%X8K@#NNFP;F*!L2]?N%Y=G,HR.9 MI5'HGJ;K+UR3>;1S4Y)DFB'MI9B(O1ZOZ:<67@_C; M)L0IH>[&3:+&RL/';]51#_K$SY=AM,][GWGO*VTNX=+(2_+ V$O4'$*@&: Q MV'CZ&N*"!3*?T;+0[WI\!\EAN'38CC@L<_5\I/3%0!I.A?!^T H\9I)@!YT! MWCEZJJBO&+C!9@B8 8_XR-[=8VH;@ZH#E&&3"R^)T<4O]A7#F%Y-X'CAZ2:6[(MSHT<_\ 9E*!2UT+E8^ M7 DD/-AQ@Q@0@J9+R%_2PB5D*K1+DV#OTZML.5[3\_8T1F#R_ZV7_HJ=GC_- MZ,,PPA-NQ%=A]NOY@?[WFD2UI//%7S-)L,/' ._(9D(]Q, -+4/ #&58QE]? M$I\:I$&'OKAX?N#_&F@EQUTN/QYA*71/"E?MADH''X(&P_B&.O8XM-QC1?F1'-H MG).\,8>838KTI+87>SX+I]H)F5V>5#GRMB,ITRB"@0?)T7S7B(Z#I0(.B^-A M,Z:N!ET[V'KK.+/4I^Y%RV-%T7YZUNXZ24_=)\3R9<0L8B-M^5?!7CL]9S=. M>V[UV;4%>'AU^0W)QZL6#0$7R6"6.X6KS6\=]_)GF MZ\OH_3*J$94W^"7.>VU%@R80;K43UV M>@764"#L4\[CP3/EE:@798JGT\MK %:/-;OWC=A1-/S$C) %?" WP8"Y+Y&Y MKR6 .Y\$;).8V7B_S[/%?GAG]ZR[3+C^5A^O201_^=R1[#3?:"-+=H[Z M?O7 GXBHKY](XGA+49AQ0@=?.;Q3E8,]:NNTVCBS*KLE0-KB3A!M== U,;1[ MFA6M%NUD#PD,3/-Q39;FPIB&_%:/9\@O_WRD@4SR7M_Q9S#CAQ0!#1B-#^#U M_W+SC-\/HI)(UCS-V>ABR:>,(O[BI* ML$H+P8TG:DQE%#DM 3MVM-AKVL2X2);CHQ)J-6!,AXFEA?'E5V^G#PR6OBM$ MW[*@2<[&B@0/_'[B(P[P*XX2]BC&Q<&/\ -.PR20(.VN 3=&:*(M T9'<=C1 M0]=XXS1]&TP3;!!1? 3"[[FFHCKD4WU6X\O4J OYJ*$ ,0T+Q'58CSTVOND( MQ^M\0[_IG'[O^M^VE6,C9?2]9]$QC-=/>,W.2AYY2Z<\S.BEC50\UJ$L#&^Y M0=_DX<.$2C8JA3LY;C$Y5$+6I(*:R:%:?3SW(MF^A'%Q1%EXU?)LA5,2 M3MXJG-53!&P2F_A#]F:N3GVX5#="8=QO$\LWY"?2=87^\=%&.WQWB+?LM[WZ MX5TG#UWRRPS9&_IS0W-4QSFGNL3ITN"!SRZLFYP>6B>0B\K),<@#* M3 )LBAMX0V1[C^IPB6\"PI0('>\#G1_*9#A4HXL#7.Z<,H7(''PC/U-G$3)^O 8KC?$([+S0_JU8(<,3=2-]*;M5>"&!%W# MC5.:EO)1K0!Q#6[.*MD'GM? !QQG&LSE,G/A(WW(B>8LW(2[=AZWUX#-80VT MC53GZN)PN:MCM''J\C+/94.XTP8L6>)[K"Y#/Z=%/!5NA[!] GBH*5XH^C[!["A=8G*T,G'U4'<_5 M*I_,+FX^I/1L8,Z2A.;%5( =X[7P=;3I_GSB:N,$2&.>+:C5B)TE6,;_@/-WW43MN1V7SM]<4?IM= +_/-SB](R%+G#%8^+I4 M>C^?P-WJ^:F"ME3IYQ&PVZ$#"];,6%1;6]2YDO@WO)D+II=0*X/R-@( MPTUMGT_PE7AYNO6(2M7G$6AE@(&%5\61M/G'US%]K_;+[(*JM6'M9SB.M3-P M_9Q&JK"'IA..1.FU)%N1=I!^)"$\G(WOS!^U*#^/?]F8KRF MF:8LGWR8\ NJG+:3.LT\8^>8G9OOIWLFTP [,E+U?I1J=3!3MG MF W@QNS=4O+23!8>EUP^AY>A8(_1AS#?T#>#8HP.V$M1DI9_HHDOXB3=DM%> MG0['YQF[PA6*DGB-TP4="5*SD9IIJ<%%^JXO70J7LT MZ%Y?'K7Y3V^BPK8"G(PS2LTP^SX'WK-T>XE?;)P6U+'A\PG=VM_(5$&\TX#/(YSK MNP%88!>.IC1B.[7]C!J/J/6?0)"?_AN2.&I^$1Y;B>'X,XO2>/HXC#^72(OA MQM*3^W/SVTX=P[U\+Q5P2LKW&5[MH]MPI=H U:P*.X+UP:^7/:ZN!S?6]+)^ MDCQQB"M"5!.PQ' CNN JR\,M'<"A/8<;303W%:8_\MBK&35NF]]F"',V!/EGEVORK!W MXPM(TJ]MA=AU2:4-4'6+ZRK=] MT$WEJ5+IEPO$]%I_]L>55X06D>5X=[;?C?@8F?PFH&%H'"H/;J@(;^8Y($ M'\(H*I^G*8[DA?%Z&?QKG^5MC[;IUH49M8T\($[2M2K"G:7W,]^4 Z46$AW* M!Y!J14C0Y&2:;L<'1T\_>95HEUL5R_HX748"U34]C_>(R9!RWW4EH;TF;++W M0"_;)FBI!I?H?8P?O)PO*&%Y4A!3@PH]3B^%3HG_#NT"5YH_(\J2Z',!7A*2&X.O2&*OP2'/7']0?%&S)Q+B) MO?(4QF&VP0$=V&3$IOO5(\YP^JK,@*%7$S;K>Z 7^:Y1#2[3^Q@_PKIKH00Q M+8S<]RM4*G)";1L.J&"O&6PZ?]\58WGRDY>Z29%3(7_T/KSSB*-"+^K'];:* M,Z%Z)W8ITY6U9D#T;MN'\YSH0)426#2?#CX%O2U%.R7TSTGZZTU,!B@^&;/T M8G1KS9E0NAN]E-/J:C,@M8;QPUE-E9#!."K4P.+UA!Z@HL_"^&S'A;N@]I-/ MA@_["-^OE%L1SRU90'I4ATWROGX0F:Y;%R[=>R,P;?&E(DKOUFV[7Y@^-Z\H MSL4;5@*$T@7GAV>BMN6Q=KV:L,-"#_1B1-"H!C<8]#%^DBW[\P.BBER^P6[# M!^SZ%#\>_-PX' R*YA1NZ]OJ>C5G2O-3]%HTKZO-D.82XR>A.>>XR]?1;;@ M%,MOO3AH?1VY40 V9T^QB-2L/X7+0(F-QJV,+OTZ?7K<$AAK-+G9DEGY*V8' M;#HI(RT,GSYJC,=4.BT)FU8M]@YJE:)<]WQSB=+2P9$P"NAAMS@H?]3FI6Y= MV#3MY8'F81&-BG!)W,]\\T,B7#0;F5:_P"&Y92]X?;U@?&_GG>=OPABGAVK( M32 ^)PFIMY:R6KL23#KWPUQ>L^FN ?LN30_[3=MNI4*XN$";<"MC%1^PIO0CW#[D.2D$,Q@U8Y)'&0T2\ =32CL M-&V)I3BG+>YZG\9AOD\Q(=IU^)'^U-[Z6BO ;HG=6!O)292EX;90#9N-#PF6 MHEE/40IW.["=$.[]:D4O,=6H/0W45AA[D<19GNY].EIB)TK6Q*)VSG94@Y+ ;LMOMT5LR(KW)\;;W(0BQ(FP: MZV/7VANM:L&E= _;)]D9_87J04P1L(W1\1U0/%'??*&^S0-N^?YCJKZFV%EI MICQO8-;B.*LQ0WXW[9Z$VTP%+%*/@YIG]&S-2;- :PEZ*X1>^OY^NX]H,L)+ MO$NQ'[)%2_)SA.D/Q!_+;9+FX6_L[TI?*7P[HGC806)L/XKA9"S9< //Z A- MR2H8@D1+4&4*"UNB,:TGE)T$-##>O*73$T]P:2"8 VKXTIG56*\F[!C5 [W6 M:&8.*8W[&#_)N,9U0F.;#I#G2ZMR')NE^AU,^BI7E#1CG,)MG95@4UT/LS0I MFK0&7()KVCU"&C1EDD2W&="FP7VQ(?5HSDV60H$J0KZ7I@=V'(:]'^KV5J8Z M;7FF=R]30P!LBO?WA?QN9E=MN-0WP##&C<36!PPR(#K62:H LSCQTEAG^^^2N%QV)>K.4R\.J'CEL?ZN\C##@C;2\C!_:V'8Y_CU M3#?.3)K$9UXM'KU0^2@F"JR>WI\<)!+$(R:_"$ZNSNS;_5J[$1M'G(M]EB=; MG#[BB#7A;!/NLF4<7"1QGGJ^XJ)@OYIPHU!/]&4\TJP&.S+U!6&\3%CH0:FH MB&T ^*4JJ]'*.O"&(K;W4ZER%\$@??U.SZ<^IUZ :6QM/TXN*08SKG7A$F=4 MQV7@3I>4EAJ?N:("69_J^$3X1,CB@:.%P;PB@Q@_V>YPCI?K%&MD'6BM )MK MW5A%UJE+P^6?ALT#1KN%:%3+=LO):=&>E7"]3KAVCCQY>2/ MDE@ +NOD9AJ?P>'2W%++*B0[MXG5"Y2W'5><-*O")EL?_(V[QAKUX%*SE_7& M]X\[=LUO'5]VLNB$,P,G&*^*"6M[Q[B6+QF;M$JFU'JU8)*Y)^IR)4RC"NQ5 ML#X C&\,"$NY8=U^/:;%ZM*7;;02MI9Z[*]X.?^JU>!=CU/:KF9J5(,9TOKB MUAR; +^@J6WY1&,2=Y2FZ'%S1;@ OWO,3[7/T]J!8T6_)W^$8S'"BD MS#) =&&9*&2(-RI%O="BR%3N$?%[:ORN8\D=5EWA[JPTVQ@A8-:,!Z3&++DO MVCT1S^].7FX8A](T>X(AI<= S;,W>.V#@]C-JQ5MT4R(-%I.6LH^OL (,7W?X8_[\ 4>O^%T2YQN#!0T]H9]2T%+Y MS#Q>'4O\5$*5$I?-*$6-0-P*Q,V807P:W7,D3OP!?CBB4?CY0S**"VM9GU+P M.?*0>88CLT(0W63")/,(*Z,Y2;"\S_.))P0S:J\%>;2/KF0(GII M8%"AHCZIL-( 9#^P4/5S"2VCN(JP_D_S""[7Q.FC.:\0]JF%%M%'PR(+E?0I M!98&'NMQA6J?25@9Q5&$[G\>Z[!;/PC+%?&)(EP,EP8S7HSDI?+0W !1L _3 MC0%L8.C@*1M.CUZ)^ZH(%Z'#HQ:@ PT@*V*#U:-X 'S5*\PR"QP%6]?^>M[@ M%+/&,E;,/??B7Q_Q:Q*]AO'Z(L5!F-\E.6X[7:Q1!6[TU,5;ALBN\K#CH+;U MI@V2*D!IJ0'Y3 6*J8Z)3]BJPAE,R':>O ]C?+_BF*\]/XS"_-"68+2M/$P& M:R,5IT3*PG!G/=TF&Z>YIW=4[E>(RT:E<*>90*&@M?. 8 -F2R)/:4'8M%1C M:SP1>%(*+A%;;#7.0W+<%MVES)P>G7N&M>:X5!2=$\O462IEY>;"M)%2*)YP MS64.21L(7?#M:+1=FM*:Q:&K#FP&:B$6J=A: 2XG]TF8[-) 5RZC*HK!7CWM,MJT_55R4=GHK&[X M3 _+;4<. Z.5?OL2O^0W<9:GK!VW+"9)"\*,*MW8Q![[M!3<_KK%5M/V2$6B M6J;+Q:3IT;EG6.>C*2W%Y\2V]N=/5&7GPKP1W^@XYI_[ETIL05V,^M[(DH@, M<+",@T>$[@>7K M!C+-:G"C6!_Q,MCK#YT6CW[,RMUJQ'18,/R.#26]:)EEB1^R7Y;!-HQ#>G0\#U_QLP,Q.Q U) %B@M3Z%6XTI8%\AK6D"F-[>D,*,\M)9Y#I25(, 4U M;4',&'=S(A!.?-YT^,'=$*WC_9VN.C"C=2_$G2,S^$_MZ)D]^BSJUO'C.N!@ M.Z/Q.^]CN-UOSY,T3>A)D MO1S[)#ST7;D<1"#-"C.>K:KHV2!KPB=HXV(8N?I0[2)4%$B*AG!N!O-(* MM.)FV)V@ ?!8'85K"R3Q%Q5&H,H*5)AA?T;FUFLG<=JPI4T1S*L- ;5;'C#Y M+@B)U]@LO(^D8AX!?TQ_RKJ ,>3/IU,8%>V0I91=I85V&.W\W;-] SC]! @G MEGWM\?B]O0NI[0+:FX#R;3&.J:YOM3=3H4D#[''"))BRMVD5_RGU--U^-.]E MU+(_M1Y& ^G WH5H^%1[E@F=9]RK4'?/N4>QX-/>O0GUZ9@]R23+UEM31]5F]>2M,KXL5>B:SV(*0*S_CRV TZ6,[:4 MX=0% 9$_UI#Q71C35?.;F&#&67Z1O.*4C%4?*9#CK6.=\C#)JHVT'*6U%H8] M[-(SW;15%M)IFFDF'OF%?,3:?F9UD&0':BD>E?(15V!]_.+TFQTMX/!MNHLD MSI(HI*$LN,4"$!GN[BJ PXXFWBKR=)0''GQTK3=NI<5&M"]H0!$66ZK=$&0+ ML*@!E2IX)+(?B !\RVY2,ZQP2H9E%TF69Q=[\F.<+^/@CD0 _HMBN*A3#V8$ MZXV\F;6AHQ+<&8Z^Z>;)#;@&Q%0X2MQ@#>0JC+W89TL9$KC&@PEE!))-75H+ MPZ2?'L9RZ* N"7O0H&&W\21:W8'8G:K8PM@<&=B?H[CY+L>*)]K+(#-<_]!; M^)CCBL=$$^(;"$L<4V-SO:9A^;N#LC]2VD?@XF7.=YJNXJ#'EQ1A&I$7E[NUQ*E8/94IG)*A3TML..8G0O@VZM0@L3[ M>)^1V5FQ]WN1;+=A3OO!:XSKTTX]O*DK;WX!I)>GNL*)EK!Y!9=^D,;>LN7: MZX,AM7Y$#!!.'X*).W;\5;_,X%<:,K3"XCE8%['HW". ?/RTP3B_I1KH%6IU M[J66XK C21=.,5"HRL*- YT6FS;;0C!BDE$IVF7J)E[<'"G5D(J=+O,K68?K@J'W^0:GQ2[*;>B]T(%$B+/6IXVZZL#FJ19B MD:JM%>"R5<]LTQ;,I*-"/!+DNWT'R0;H2 !;;#DZS:/#K*JW/WNQN+W:#(BL M@?N$RRUU@--9Q_)AC;O6 (S4TT,7>1TG\=D(W)9NUUTG<7"YO_7\BV0?YX=E M'%1_N2+-/MF&_B5^Q5&R8UF3DW27\!/:SSC=WB4Y5J8\'$\R3.9/X+UR!W$D ML;"W',<&:;Z$M"/PV+H181X*XU62;OF(?X?3G(RPZ?)2GB!J'@KVB!B(N,TL M9:+XY])P)%B.!-,1"2];PN?<[DTX**X>PX/4)$1MX?V^+[S&% M_H-WV+8=Z&RO S/H]T*L?G[KJ +<@9Z>V>9G&X]>IRH5H$(#@,>XQL;\+HGS M370@_4R6>U$$XXD\<9/XB3WGT[D[VDO G,BLXPLUL]MJSX7F6AA&XWSC$,4" M<86N=S0M.J1YD.*-ER&OW+S\TE5DN$WB-1VJDJ'-TR9)Z%'!'T?'$>#[IJP(T$/^X=$@06BBL[8R)5. Y@N]NL"E>H0U^8@HLW?">^FP\567UXXWYR<4"31A *CKE6 /RH"FU4R/(VC@<+G<'DDM=+X M %_5I3GCS_AX7//FFEU]Q+>8F/08KC?Y_>I]AI=9AG/2":=Y^)MLD;E_;=AL MZ^D%D8B:5>%RM"\ XR55K@-!N7D^>KC#L>9:JVJO<9\6*] JV+Z4?%YL%ME]$B,KE9; M"OG.&3PVW@H@S6C88*QPI&"TTP,"$)H"0;99=EH$)N':\%0;\T>? ]]A5UEK MG $VR>E#@&S=X[1'8&DI[.YKCPWP*%A0F9,$".I'Y>[R--]:\[O"TNAGYX3@ M#M/=\'BMBAJM!6'&CFYLC7-_)Z7@=LTMMAH?<"M%3DZSSK-\4X)S3K1J':V+ M:-*"L(FFQB9=SIT!T5IL'6'1TS73ID7GG&H_>2D97$?*@7!;.=A$4R(3>792 M""[-U*::ML-2HG..30C-.<&>]B\1GRW[R5:US'-2"#:UY)@:_5>C!%Q2*>PT MCNR%.,3EC4JF[SF:&*]9>C5[H!@K42A#9&?OL:-KFD^7U-H5S: +&B\^NUJF M&!\)7Z,8VLU(URCO]O2P_?WJZ9#19\G?TY>)KLM[VS#P#3ALIUT,7/C&M9H&SO;Y!';P\EI/6NDA1%I&B*_'U.%P(6Y ,O M1UZ*BU>QZD2^K+W;73*UZ*/[%2JT(*8&57KX4-E^ID2[#:31"LKFHF@#8P>[ MG_ F]"/<-]IU5(,?[G1P'\>[MCKS"'A:"(8WZ-="#N?,ITI64?+!23QI;@H6/E3=A5 6AATOVC&J]ZK+DG#C08>]H^U9 MEY(![%N/!G)$)X#8L MNBW%](%P]EX.]5KR$H5K-B%O!#5W\Q\=1XJCPS'"F4K>_(-9JZ?ZAC*IL'D' MLG9(-L)88RHV@R VL<>&AK#KQC3,R=D.?X.#?83O5U?;790<,'[*$__7^P\Q MO&6GE'@KR2D M*0VT=#[\5)5,(-H[: FR<.JMY\KB4CP4)$342UC8@9B9B5U:H=.C\@:B@-0'*) M#I]B@?X57/U[3T:P9]RC@F'90G3[11+GJ>?3OS)/)PI/NPCC' $#(-I?6U\9 MKW9EZ\LQHRJ '9S']Z48A\>3#C?D3H!Q&+71*;6ES.X*H2[?RP'GU%G'R\;T M8$?-:'W-HZT\\&C6A;01G%2%W<::5YR^)!WLZ+3<>&K'9W%,I)/5).VI[&T8 MXQMZ)%/+1YJ"YM2Z^_A&W>QUI #N>\VQ&'<'_1<\J'+$M$_2F?8.&';]E#$_ M)96?=D3@6.>E6W!ER8[@RM/P94^#&<\#?^0>0Q$PH\00?Y1GJOO6AWV^VAB- M\>J&(+)X29UNYM"XT!HUWE 6?FGUW+5UWW3$3>( U'#?@^PA^ND/9$-H,_#& M76R9BLR^Z,]&70##N* MC.B]HZVMH6+AQITQP0W8HF*G<$0]/!@59B!N1Z- 1L"(NXT9BAT(F)U4=ZBH[0#K8LG'"W[XF@HYS!/:@=HNE&;8OI7 M+SV(A3H>=1TH%&9L'==G/<9T'1)G.Z[3Q35ER&G8T"SI]"E9IXY[2)-5F*-L MXZ5TV OB\0\RJK[PTO1 QHX?O#1HO=+770MVA-%$+<^[(JT"-T;H&CY")A8Z M,6MH<'DU3(W[MN.@H5[-N;;P$_1ZK;RJ-L>6?FK\-*W]=MIS@3WR$$WG 9Y^ M'>7>1S>WTZ]6*^SGX6N1!_[9^_CHY9AVTF&\)] +'Y")H&K'OX\ V"SO[XO& MN1;MVG Y;X#!>%)9JBJ>04!$&:+:4*T.U?K$P9)*IEP:14C*AFQ%0CKAO5;"NCCI/X L%3-,Z\E)YBF:\_,$^%W%.X M\I3+@/2C%\8\[*YQ[(?M&7*4A6$'E':,8L"0EX0;$#KL-6W&5"QJR'4Y03X! MV34O;JTPLZ;:.@M6EYY1DQUOQB=KMNJ9KK6V2^>XCSBBSX8])[=A7J10>\)Y M'K'[W,N7C-W@;O%8'QGP6WAOCQPW>FT!L'G0'X;Q@U^5<%1+1[^4\MVL KER MP5AG3)JA[/" XX >J8F\<)OQER\DN\M:E6!2N!_F\BQ)=PW89TAZV#_\F90= MEXY\)IZ>[:29.>E?V&&1->WA_-H8JV=$+#CBJ <_T+-UW"%;:LH163MUD-EV:H")"- 9MVB(86L@=+][$^Z>DRLRT\@/ MTDRQ9A)FQ$<];RB9VEY])AS6!#$FNUD_)^I$SPGB6MTD9'7GF*%1H35A7"9- M@"HO 9.U+6B.L[EE$-*:ZB9K.S9V:%ZA#/W")4["&]4JW3S1:&5&&QT2^)= M#*=5D[\5,I%=,.,=) ^=K'\Y-PK>B J>:^R]63)P=>*3>-D$]E=YGL3[#'GT MB^"7ZYZ*RW6S3/!?&L)04>\R3 4D ='I\PF&#Z1,JG >_<]TOI9U+.-K@]]C M3(AYI/BQ;(T?LN@!^"@2P"(4]8 0?CBZ\;+-D&5M^)"5R$L"K--1C.+]=_"<4KC3\:!R^ M6F1_(N%,!Z&]\$:M0=P<5-B#'E39V0%&/"O>'#/DJ3(_ZT/FCY(\;9(T?\;I MEGK@)J:8PU>LC&C3:8$9V";VJI!T>FP5L \>30EX,IZB#S3JA774\_B;1!FU M#)& M$4^C8-A:9SP0(7ME-9PO:O=IQ0O/C'+$#6-]S*5<:XZ&*@>7G:T1B@# M:XJ?+7R(V_ZWH?<21F%^N-B3\FUIM8WEP>QA1O-4UUA92]B\!L?]((T;N:CN MLQ>V4-D\OE+I7Z#" C##7\O^:O2C?NTO<>B+HBYWP5L :#Q([(7'#YR/)7-^ M\:JWQ\R7)X\$SBMN]8)*IWT MWB#3BBJUZ$KZ<,C4>]-N?/-W[$6D-_'I'GZ&H]59[2J'[Z,Q8&=RPW')+QV@[77$\N M$=&-N/(B01@[)E/^6!DP9?SI',2Y\]=5EH=;FED1>;Z?[LF_U3S310BZ]L+T M)R_:8^(1S$[ZE#X)Z=5.CT1)'-S'C]@G4V!Z\#L.[A*:4)O_2N;L86MVZC'E MPPY1HWM2#%FC"8<;PL:':$I1:@EBIB!N"PM@@C6H- ?=QZ@RB)4234+,)J>9 MHSXSI]H-F>>'PF3:/URG^-][FH:RY3JW7LV9A+EN]-( IJXV@]"D8?P(_#@_ M($$-JO2XO.QKPP52T$X9+H/:>A-6K^9,&-Z-7LIP=;49,%S#^!$8KJ"WR^N> M-CP FN!9->9HO72I675^%%?A[^+X<;UYD5QI_;@LSX01K=,KFI9]L$!;0<\" M5<-X*%OIIY>=M*Y<:XJ '05,_-&U+ZZJ#SK<0Q$UNNTYI',N! ML2QZ?JA^_'N(4\*NS>$6OV)9[N7>E6&'AWX^4$SV6VK"#0D][1]GRB_\5NE" M3!F0>;\E5]3@:5Z7N^5/8"8(IP[HO1;0)F,FT:"/1SKG#BH!,X@-O6",/9N0 M\@7<^H$5O\"*%S?Q;I]G+#"^U5M'D-:822Q0HY4R_[3X#'C>8O0(K9=+Y_W\ M6R!+ Y,B7A20%\78YNU<3SW<=B1I&EO'3$+"F!X=^P3$+?QL2M/ A+)I?^L\ M)1) _[XR_R8KM IC+_9#+T)AG.7IWEG2$<$EE;\NP\R/$NH>A6<[*\$.8'J8 MQ8C47@-NB-&TV[1-B]%!B!^U!B>#FXE!/R?YB&]5]:#JE9?2EXBS!YR6Z[.A MW_%V?5<=V$350BSRM+4"7)KJF6U\#+F03E,5\/V'!>ND??7[\T[:\V48[7/2 M(^<;G-9\S7JV\&XI\VKSFEYI8T&'B/GP0A?(F$PI="X0TRKT;9EC^MS$/E]Z MH]G8M]MBTRY;YOQV*#TS^YR<;.2)E^X57A]%,&R2C><[D7?#I<*EXHC83-DI MF("X#9RC9*8J6$$OA3+.TN0\5ZL5]G,ZX6(ESQK[[HV4&4Y&J@"<6GLH*)V6 MY8G_:Y$EPW6*WOHY[&6D!ACV_NGR_.NXZVBXN MC:X$=O";QJ=B(!Q7 ]R@.!%.4RZ+#ZN+!J':(E2:A*A-2#"*5CH=_SB]T?39 MNM?.C?1A/CT_R 6T')::5B/LH&O!VXU[[].I@QN.;8 VSXLX3L X/RACC\.C M8S/T/)R0>^=M<>OI,HUJE:0+@BWV6)UN4<%X04CT$,F*QX88]PD M?2&E%1$)MLLBUDI7NXP$P(QOYKXH'T;I5QOVJRB&6 :W>/9JDE]&OJK]HUCH M]9''E%I]#\65/U0] 1T%E3I=K+\Y\(GK@=]EF)5O\K"UQ$?\BN-]ZRGBWEX0[LM*PV3@W7$$Y7SPOQ3L^@@H)L3MTLS07:DM]JRI)?_OF0 M)L'>S^_3)YR^ACZ6'.)L*0:3FEVX*!U59>!1L--2TS98"$7W*2K$NCA(.#D\ MFC"JD&N95#3Q1*$YDQ[SZRH+GEYJA$<<.RT(FF@MY@YLCCRY2BG;S9D]*T ' M\DXZ";_?YT&2I$^[)%6D<%:7@LFE#E3EG%E2!/;$N,U@TX95R$1F6+MX_Y2D92=",&TK"MY>&2WT-E&40:"D*.QSH&&X\ MRJQEHZP2;C-&V$)7"W<7.)Q_D\;1Y'G_TA(]FI_"C182%&5T$#Z"'0UDAAIG MXB.R;')];-L=4GGBK\& :7J"H6)I]0EPDI[::=PXB"BK'!W7 M=(<,G?0[F&S1^R*)LR0* ]:TV/TWQ5Z2LB!,8G=C*]>ZY:5@+G1WV#K@1$8M MEM_B=+6I9 ^A.X8I=Y5:BLZ)9?(])56YN3!MI(T6*==<[2?91.GB6-/]#J?$ MA'C]A-?=+XBJ2\-DGR9*\1R3HB@\#NH:;+S94V>0IA(IU>+??B \J\B%X[KY4X MR@$,!K#+D\&W'8F0-*K!)K N;HU3PK?P$Q)I6S[!T=E;YZF#)D=?8GW$?K*. M0U=6M0XG.RO-JQG+,;\F_C3'WBI;TTY'#1B5*X8*XJ"CUL=!L^9!F]E(W^ MT]ON_@MQ^;;OA]M!2"_9<.DN0XG5K]-C\D<[A9M\(-C:+]K(RL"-($I$U3G; MXP*PHX7:7..3F+5$JU%A4B0.#\U."6LLGB_7:>CO(WKF5LES61FX/%9=&5E(2[4]5A[X!5HEHLHG*=9E1SC7*R@_GOO'\E:9G;477M15H( M)N':,97'\$]+P"-8AYW&8SHJLDHXZNR*RP3(2FFVJ$-?;[Q?-8 H+[6TE85+ MI$Z$)9^4!6'2JMM"R[S0EH.6DTZ?E!NY\X33OE\[&::QZ7W>2>_S&='[O)W>YW.B M][&Q@]O.N5-ZSPR.%KW'QS0VO2\ZZ7TQ(WI?M-/[8D[T/C9V<-NY<$KOF<'1 MHO?XF,:F]V4GO2]G1._+=GI?SHG>Q\8.;CN73ND],SA:]!X?$XC=FO/#,U'7 MNO0;,,-$#;>OF35TC5F M1M53M.W[K%7Q&5%58O3(#=?-VK5#P$Z86LX CN&VWN;MK@6L"YE70MQ6'SK@NG2#U56;CLZ[38^-)H M(1C5DMU2T"92$&/:VXY,IJT58'.R&VOK"/86?MY2#9O'O*!R.VVJTO[C55=P MW5#U :?T#]X:O]5U4+/*S.@JP=M*6*'\C"@KLWK$5BR(A\'9Z?"F%.^N$@^" ML\L@8/F.O>ABXZ6>3_P59GGHZWJKI?[,V-SEB59JJRK/B.>=$$8D?:T+-97! M" &67#$\'LAS66SC\&6?W3!5X2O.'HBUZJP6K:5AV:3.NI2,F'C'YZ!$] MH?=NE]TFQOWT'GD?O#0X7@(?!9S&"RN3PW.RF4:A/.(=\=>&V/&0)NO4V][M M*:;[U1,9V>%LN<\W21K^AH/GY!S7A0/5#LA F;"CV"@>:VSB#1$(-PJ. \MX M4Y"%QEHB*O0C;@!-\L!-0+4-Z#E!YUBH%+C90'3JN ?OP)^2I+\&B,S \@U& MKUZTQRA9(=K5^,EV2_Z>43N=Q"SJ@G-JWD6RW>$X8U.#99H2Q)@:?WZHBQ1X MEK3G4/E0]45,H =X;)O*LXUX-[82P#%P,JC&<9$*1$P?$FU"@E'TK*)8KC , M,^^!]0DLQ^3SQHOO=U1$]A,9 M$>/@)G[ :9B,'D7[J_]$@ZOA]S!*S.VI^Q,,Q:8>AN<5(,!GQK+?4:%18 MC;C9I!3BAL\K>-O^5NJ8OJ?S_@5Z9?*=Q?.7;I^]'/NLX9EF[]?V]8RO:@9Q M>B+_GL3DD?4 C[]3H1T4:\\Z8NU+$6O/)+%V48;311%/%ZB.%-Q(=W$5FK?+ MGH>'3O0FC(L!\I>S&A87,.[W>99[<1#&ZY]QN-X02,M7G'IK?/61OK=(5V[" M^FL=J^/KK7T&P=;>MS#*F+B?:N AV:(#W(V(R\@C6(Q*DU%A,RJ-1LSJ>0V' M+7\CE>^\PG=T9^Q7C'82S\TBF//^;AD'5Q]WF&[Q/2?T3X(_>5\XT??60_VG M'<[[?@]CQG-=W9]N0._M ?<1O5C%H*_NED;3;3SZYT:TYX;/,JA;^U:JJ4R8 M97L:W(E3$\&'L(CUS[B&GB#@+[(J'W(/Q\[T7/.-VJ;@RZ ML60&W8^;;V?,17X#,X!W-(Z<,:AW>='K7%Y:^A;!]M/^HS(?"?8C!F"6VP# '9<])[D7B MYQ=)EM\E^3]P_HC]9!W38T+2 S5V-,*,ZA:]75Z(FU@=[$MUML";DKVT#V7< M0+Z16)Q9]L4X'9=&%I='4$[-;);QB:&D8(X.."=1HK257CLEQEJ][3<;QQ<& M(N7LJS*2=X098F8VRU!#2<$<$5-1;:N+$TES>P8[;26O/F%N9%U+0: Z; MI_QZ1LN*P(;OS$IU+@1)&;@45R*J\AX<%X!->$.RF]A@*BA\XNTN MA\&D7]%H7"=CDE62;CU"G_H^\T.V5_?MW37@Q@%-M&54Z"@..T;H&C]LPR6L MSMZC#YO0WZ"0W@PE8^,T#^DB5Y[P(2I*4N3%"/]['[YZ$2WN;6D237I"UO>R MS0)Y*\(GY*%LA_UP%583+UHB#[>82OBPP7&S0 F1*N69B#)$[=KBW&H8F]K; M@OQ&PH:.=1JK!YBG#,1_)7<= 6 MDF?RC?"32.=>1(>%TSGK*??2?/[N.L?K,([5'ANP"Y$V+5;UX3^F7IP?]T%F M$F#V) .\46]Q]*H.>^'#%,RT^W'%@ ]QI99W4APZA/E)\%&=56C]%V%T7*NH5XV]G9KL"DL(O%_!?GB_F3HJS7 MX.5 K02EYQ1[V3X]"!B7_K_W8:I,O-]> W9(TD K1J26XG #DH[1IDVVE'T< MD4H%$P[5G[M&#E9P\T.3Y8,>HZV"G,29&Y9HX2;VHSV--?)=1,G$Q5@03-X. M]TVY_F$F!?;JQT!,YF^<[8@NEKF'U+.@5\&WHO813F!XG'=.K #;S:B,L8VUD! M=CC5-]_X8#F/F_6#71'.,HQ_EZ$@S'QZ[X(^ZO42A6O>A$E@)44\FD>I?/B+ M?CUHQ2WE>9A*6WE)JV%S>H\5&EC6KTH'8DI0I65JBC_2W"7WJ_<97I*O*^_A MB-.:\Z.[ GT7Z8^JS9/Z*A#&I^^KRU45\U.J@HZ6]J1)[^, I]&!MG&/*N1_ M ,_WL=UT+> ]9CW313U(M"&F3O# 7[ZN3;XE/_WM/\J_%++_]G\!4$L#!!0 M ( -)CJ%A+A;[XUD< . \!0 4 =&UB+3(P,C0P,S,Q7W!R92YX;6SM M?5ESXTB2YON8[7_ YCYLC]ED)96B,E-E73U&736R5::TDK)J>E_2("!(H@L$ M6 % $NO7;P0.$B#B! ) ("CK(T4R+G?_/ X/=X^__^?KRK>> 8R\,/CEW=%/ MDW<6")S0]8+%+^^2>/[^R[O__,?_^+>__\_W[__[[/[&L,>NX"6-;1Y*=//WW\Z<1Z__X?:1-G=H2JA(&5 MMO7QIZ/BA_.\M3#XV3KY\.G#Q\G'J?7YY^-//W_\;-U]+8I]10.;>YQROA?\ M\3/^OR?4FX7H"Z+TXR_OEG&\_OG#AY>7EY]>GZ#_4P@7J(7)\8>B]+N\^&NM M_,MQ6OKH]/3T0_KKMFCDD0JB9H\^_/?7FP=G"5;V>R^(8CMP=AV@[CW&@$KE M(^_G*&WD)G3L.!43EPZ+6@)_>E\4>X^_>G_T\?WQT4^OD?ON'_]F67^'H0_N MP=Q*J?PYWJS!+^\B;[7V\6#2[Y80S']Y%Z^>WF/V3XZSVO_K(H=&\>\L<"^# MV(LWU\$\A*MT[.\LW/SW^^L*$2O@>('SDQ.N/N"?/XBUE')22*@?VA'V$"-L MXG& M:UT3!FQ_C6[GY^%J#<$2E?&>P36:+U= !1>X7>C("CM:7OGABQ+H4QK6D.R' M)0+I,O1=M'1>_IF@N4DU_:0>>F/$A1R\N)TA4*;B@B Z,GCPIS*8&F8_F MZ/B*U^/5&BW,C58ZEVIU1]D M-7D&08+^<<)%X#51>5(+@TS,2#^#&*93SNW\J_VO$)XG48Q6"]A@:F8V-L0D M@#'/45&SU%O388UR V/9\%5N,;4L# M[S :4D1L8F!29E$$XBC]!@+WQK.?/!_] O /: UR%9 JW(46K%!&L"YDW<'P M"KL0E/876Y<"!<0*-:_-1AH[I[B)C[9;UP$^B(40X; A%YKTH"$CD #7 ,8; M?#N0^IT@V:Y37Y1NV,+O3QLFS5PW!;D*G6G2@S:,V$GO?&D'"Q!=![^&H?OB M^7Y'**'WHR%3;KP(7^5@E8_1L#VT^VJUF+3O3T,F;27:$Y/X_6G(I*LDQNOK M*H2Q]U^6HY()4T\-Z\Z@D6[A9O;R &E(KTJ(F/D$JA2S?OAZ^1(J/@G+-#^B# MI)9ND3;UN]K+#9A!Q789;RLUY(:B3C6X&FRZV-.:T8"D&9J.7<]/8N\9P=9) M8,I_181R&M?B;I1PCL9K%+2=F(3,QCL=5?UJQC14REZ@$^Y+;),;I"G#2B.SW=&/7QA8@W457K, -1JC%M+4( M.#\MPNXL,ZS=#PWEEZ_E;LPL%!QU"I *_O#MZ9R41 M&DNXSC8/[RQ$168MN\E80!UE.L08[?)GJ+463\N40_CEFB=P#UB&9"]P(=&!GRK)0;G33Y MH\]E>3QF6:+U->#[XEJR< "<+<+S(: M(0H-/!?>R7B%=P\6'F9 $'^S5Z3)E51L9$(4&'PNR$_C%22^LX9HELG.Z#B7 MT7F8!#'"(*E]"V9')5I2"7*ZGHY?K.?KS%CZ&+P%/JKN2 MXY0I9_R%\6$R>I&FB\\MO(/ALY>E[F'*=:]XE3F?IY/I\0B$*T)$(>%1VIT7&8WT MA 9>2&^4EJ/\CO1ALWH*?8+H*K^/1F[\41="&Z65J(#EY:N3WNM3S'VD8J,1 MH?#@"TF.V/)SGD#,I^QF >,6B2")J%M1 0Z5S8EGF'))Q45C9OG^61%Z 3LI4,59*C4R,_+$78ARQ:>=R!> "K2J_PO E7F(W5CN@ M:R6Q],C$*DY#(=Y16G=R8E]W_AB9KPU=MK6B8Q.L& &%5$=I 9%C^_\$-J1[Z=** MCD:D4@044AVEA:EP8-V1>H6^(1UM*"5'(U.9\1;TNK;I-U2Y??1") _ZB(8HEN[T=\_[,?RM0KPDWM\N,1_ M:IS?T03'^6W;17]OF[;*;5MYXY;TT\:-L3NWHZ>TO21ZO[#M=1ZVZ<=1\5^/(9H.Q4LKH,[&"ZP6VQ=?+1BHQ:A%%'Z!K0VT=0["-:VY^:) M;-#*E>:[SKC'GK4%:HX:%&WIU#=VMOE.GXT(\V0O+.76QNTPMOWAI4Q],8:^ MCK.J5#EVC*_TQHI:@0<&A.J;^QN$ZC P=X;$LF; 0)@RC8.#FQ\(F" MF__R\P=!EO!V&?J(Q"C+E\JYYA&MKALJFEX M:+7+'/OS'%P)J+HSMY@6S?' M2D LK!LJ6DF7,(N($VW6/5!UFU1P=<.&"+N2X5!I0'RGLTGO&TND*S"I/%^> MT\[S,^#5J_)N.IAW4'=S3 /Z];^5RNEZL'T;O_#]N[U(^86F4M2SG[YB1YY. MY"KKAHYFXJQ>:K6DWJRE*&?&61@D$0TRS+*F(42>6+.VK>G9OM72,TL8>$P>(1P-6-%^!'\M*WS6E((!35#0N* M=YO"))OE+T,YG?$MX+QZ5=[A]TJ&24+4[ZF60W^G/C2]'VQ)+S)C1V$*).%F^1Z5Z.:?K P' H]25:Y$>ARI<"80+TY76!PD%09X M1P@"AXX$1@W#D2%+N6'N1:6D,1IM'_F^LSVTNSJWUQZ: MS4JLH!GQN16K[/LT>)""ZAO!9@S0^*F#9J&HL>T%P+VT88"FT&CF.,DJ\7'6 M +1E]QRJ58]?T7#\-&2 Q@\O-,'/(P1VE,!-RLY,=U@K$JVXX5B1(KOUXPZG M&4("L,!@'!XC=?91T%$O:#@N! E6]F"$'@<='A,;^M :CI5&Y"M[M8*)G.$2 M)=VE4EB"V'/L;4@6-VO229.L2=;?*IW]^[NW+$J]''!\/WS!8K@*X468/,7S MQ"\S*FH((<>+, M)?$2#>:OW7) A\%^#0/!($2B68YK->JOHR@1AT-6VE@H,,@SRT6) M>+Q L41GO&62>"H)GBH^BF5AW MW5GAW*IT:&U[U/UP[-?L&L9" J&A!LUC&%Y(1;\KW% MD^=UX'K/GIND=]7;0GD*1@D':)EF#81:)RS1ZK!$#!B^7*W]< - NM^_?0E0 M3TMOC?/W73[LG;DK M+_ P+_$[O^Q92Z(%@U"EBGJS@BZV,5(9XV["VFN[C)(FHD.02E5!%'JX#J1/ MA(,H9L\;>Z4,E+X(A6WC(G1S(]H!O3 G>$&"%"#7A#"(SL \A& ;8@2BRU?$ M0<0'+[#AYAHQ/8TEP8:(,)U6"S92<=19CT9BLE]NF17]L>5*KM)G:,6?4[UO M*:6K?#J=3CX-Z^"O#%5BE'8;Y=$[)+Z!F+O9J90Q4/Q\^I0%=.@Q#Q3NY'=H M[X_OX3CW*;3B!D)!BE3#PC3V:3^S(\\1A$1:5C<\2 F3CP4ZC6;='.W3?>'Y M24SU8J&4-AP++"K-NE/Z'>#,^L"=/:,=]@)\2U9/ -[.,_^-VR2.8CM(;U?9 M:XAL,[KA1\':HH0%AH5VB?*$M19)M:$;KI2 HCG6#F5-H_ CG\9K;)%#&JV5 MP\::%%=Z63.'\_FSH^65'[Z(OKE^W-#3#W5C%?WH[M^WY8FX,Q^A2N_&$CR& M.Q@^>TAN9YOO$E)L1HH 0I4[?:E&KO*&J.9NTBM?!\^(DR'<7+XZ(,*) M3VZ?T!$;1 X(''"/I N?2;[)0O7>H-.25UIYN[(M8B9\0:'!,0X5=,:RX,"*['*52X>32?3+X<* MLQ8,:^L?K]@_EKC^D8*4OF7/,A!6/4;I-\@TXE"G3Q#(IHTF(B0???IR##U6 MBU#J#1%2G.GTE8'>$XBGL478UQJ1SHKSXY9_0U%#'K7U7M@&Z8Z\RTW9(E6AWO.P"8J MP@)"?VF%6>< H<.COJW)NH^S59VJQS#TTZ@S-)5C4QC1L,BK9"P:6I#?=B72 M?PJY@V!M>VYQOLQW?MB6BG>%S"0_S1JK\OGC]./QL &D/4PZC=G2UDZM/_R* MI?S.WC3:!^7U#A!4(APPRT!=YT'M<4Z)?1"A[@&B2)0+FMFY#=7,^?/Q(.@XLV #KH\ M]Q'Q!JK" X1;9CB6G&[]1*!]PT11?!8T8$8^(M' [(6O+$K&E, MG,VME\.#05A+EJBZ"M9ZWY6_>]-^W\5H2#? *=IWR5)LEFM!>?J^\0* TP(@ M$JC9%ZGE=4.'(FFS%SP^!\P*B+L'ZWQ/>3L700NU?)57T^GDY*.9:)'C@&:^ M VKQ$@:+1P!7%^!)""ZEXH>)%AX#.O8LZ-WT71Q7[X&/!_08/MJO^"D2_-0W M8NI5"*7"E)HV=S!@4\J@COT,>@=CQEZ0WC_=00]Q>FW[!<Q222OHV34A1=O@+H>!$U9RFWWL%@J!DGS'KU19RYK4_X!X.KEBPQ MZT$9S G\/VR??;;];"N V.DY:!;%/\P"M_I%J>0=0 -WZ[?M^:.FEZ_.$C\G M=X]FY,OY'%#-4/T.HB+53U\&=U"6-6%IP"VSKK%;,73+N@LO6H>1[?\*PV2- M:J#/3O8&#'!W3\!TH0&20ZA*]'1Z?/KI*W&'7J2HBZF'\I@/#R_7H M30FDF*5HHYUIP66@P9'M(5FO_50(ME\(X3+[@IL)6*#JV.?=QC1VZIP[V!., M=[;GHJ,$U0^W4DH[V3>5)1N"Y7IP@\2$F))B,LR3^%L;_!#$#&J+5*YS\/)E.3@9VME"'F58LZ-3[ M0DE6H@LP]X+TT06T WM*\/BP)UR>;*?\]>W\$1_!$[A);9Q[B&G5EH'P4<^/ M3G,X%E@:['6/]/(.W^6AX>$#P"X0C?/,Q[39,Q_E_OZWM>U1]P<_4GA4V"3^ M\@>K;L_GEV)0CXP8Z&HA[:8(&9E4#B=\LA1M0OU,R0<2;<8)?!,?!NF\^>K1 M["G,.MH*GBX_AM"%*1PS!F8NVBBEP\4;H^L@WT)]!?A-*PH&F'6J',+1E)H8 M)(3%68>$/,%CAD1E>X/XM0H#)ARHY4V$@ARQB@ZH@\#@'L0VWA(7+\$R,4 N M;"( )"A5=*(<1/I['+H(5XAJBO")94V4O3BAB@Z PVX+T>D17*,_N7O!;4%M MA=YH \@F:\QS>_T81!7Q?D%M14.ZS1S*)%B?6Q0QIY=T/YW-.ZD-)?(JD3J<">=C?<+9:T7+ M>:80-]IK/"&HI&/E3!_L*L/,":6Q[$0@.@^P*^NF^R(2(RET RI["5GH3(D? M@ ^<^,SV<1:.AR4 \84=VX+J?%Q7YZP]ZREKT(IPBY:;-=F%;A,-6&2B*!HK M4F&X\++*F+:,CGA:*]-$%=7'@QD[Q"5'"S9K1.FX%^%R?C2.MD[KVIK7UG+1 MQ6,K;3;8RRVM<+^*6QT%3T])7>^V];74 MO&QT'(W;+]3^VBEMD:\^K**ZZ0Z9D\4]D!05XU:8XGHTNW-X"= HEMZZ?,?, M4:)/=24JVK0BW*@5%JU:ZZQ9+76+SHC+A]N[U*P=7:=_<_2O24/M=93>JYCB M2M6OZL$4Z<'IH-K<7':%QKS#=K&.:11?0SW7=WS64:KNV2VGY M=BI-M%(,6WAG*]5"SYDKT;BR4:7ORMZ%:!C;X>6.,)'X?KAI<[I-$PUD7LEF MJ9(-XYXN",^L'H:(X7,[+G#70C'6>Y@1;@,#QA%7VM*ZRI48M.W M9Z]9+768P0F9Q5ZF MC7[U'+O7[X:T*1E8:28":H6J(IQ,)R?#GM,;R:ZL]9*DCEOGBS>\2<\JL)7] M:$*R06>M(2VO-*>EDI-(WSXXS;51"]7M.4%5Q7TN?=H!QT1$OZ*-)K1]WD(N M6ETWA9>28R4=51N"QZWV#\"?7R58K:\#]!G?M EJ/<'/##?V/FO-\DK-::GU M6WJYF_):N?8FMQW;OP+7FUJ,5[=MG8&X?X45B@9A7(G]"Q<> 43!P9 M5=PS&I(W;CV]LCV8QAJ4?$O1)!7#1$9]">Y5N&'K&;>,?;3G1=MX"2TUKJ5F M;WE2.AQQM)M=I>DVLXYN6BTBG\K+7=+$C5NGB^1 =R![Z4Y0B0E> M5T5+%FK**MK24F?W:>;=25.+]YSH:&\9Y$<;@"D*.MPK7[SE'' M'!9/ET6K5[7@,]*"SX.JMJ0LJ^GK6I \;L5']#H DYP%]]FC]@'-=.V\'?SFDW$+N4 M",7SR;S[J):-]AQ;(3K:L_)HN3$8[5K5;3Y1@Y-*3$<'#!KW7)0EB)9X(^/H MB."5EK6B^<,70B]<#/V4Q7Z6CV]A+!!%(EV_BN0O@ZNZR$L7;4@;=[S)0_(4 M@3\3U,CELX3%G>"+MFO) D536BKK/LG\(>HQ\G1Y./0FF+K+\5#?^[KDJK?08C%1XLW^PXW3_N M'@I.Y;)A^:YPZ^BF[DHE67BZ-.-"+_-#CXG-7V:.$R:I<^T=# /TIY.Q+6,& M&TQ-FS$>7TH9T\NKK;UDLDI?E1!;B8XG'R?'K'Q6UM^RUK1=?A0GMOK1?Z)+ M9PG$(A[#A54#SF%]$(9#.>2*24 MU@T'2J1:!XL,]:9A(GLH C ?R^+6TPTG,@(5@P.?W &!03R5?/6R!Y"CF9^L MO"!9$1_#8Y0<@U#Y8JD>.&1(-4S3;S@OH[&JZ :%_M8!-@M&_9[:EH>Y)]A? MP+UV$>.]N0?<612!."J>$4)GL")Z#%_@1U&R F[*6:XY4VTON@%1&C&LG6IW M'.KELF/(R0V=ZZ]"N+*O@SG^)U5\P<2_@JT8B#P5'.C4,#)0=F I$\EQW41" MS1'-D8;T]6+Y'F VN?("+P8WWC,.]X_M8.$A M137C9%2]OFQ@F93JA6]+*H M9A-1R-*FJP1?C\]6.+0\NQF]?,4>JD!JAE+1Q3AQV!LGVCY,.NSU<);%6^K4 M__7OFG_V/=<2-$II77163I3ZYHJ0XI61BU*QG\TLX#R M"R[G=K2\\L.7LGV%MW]HT,J81*^2Q'%;HSA9560FZ"."64H@MXKVL_?(DZR4 MSE#%J'(#?\6P_Q6I"QJF>QO< R>!^%WKU %8]F#:OH^JEAT-GB!"-HE+]\P8 MM[-Z+8F&S!PSK<\Q]=0OVD\I(\T!LT/V_H@P=S!9/7L,E+3 .$L2,@QH_T\8&2R&>)8\ )86O\V0C-$@Y9TFQU:I*!1 M1;U9=VU(Y^W% H)%'IF1,U@(3T)UJSQ$I^N3R5@1U)S><<>>,#,82:TSG^KK M#"^/D?Z+SM@3&A6[J BGSZA(&@_S;(/__PJ-*^0F-FO0DG;3@VRZ(U4TC_L0 M2LY^)#4W?"9X85%R(&D_)[PE0RI?'I?&B@=Y%<):.IX9A/B&.1NQGXXHU:%= MP?U6HK/4#4;R:-SC6'2;V=0G7M*'K1U,GBI]4+X'<.L73IXI19P"E+1I+BJ[ M8T\'N_?^\G])K<%?2/OS4A8P[1?>!NG AHP(SYB;/;6&7>K6P$I\D=@TXU@7-(#]&FG ^C#CWN\ MMR9DAZC\IHOHI>6S$RV?'NUBOD4D1PSLW_M5%^GQ14 0%X.$L0GLJ_WJK2BY M&&J_:R0%;<.7?1RPX+AD#YCP0W=7<4%)=\(KK(K862UPC M$K6*\2.GV$PP'K$7GY.[[!%$6R^DN4#94JD*59 XK3:C1%'>P=!-G/@>N. 9 M^&$:@GJ^<7QP!U!'+D&NG!H&";D)I;WXO/>7#36'>9X1-ECL/PF\G_:45K[* MJ^F@$6LM4-&,3D4QMG[O1JER&BAJJE+=C5"JF=J$;A"2EC4=+HW)URK;0OLL<<5#CF$^+1?\ =&O,(QH\PZOFH' :43R MN/,PE.?G:O[=>O)=62-%[66OBI$"?4S[L^R\P_^P_%V7EIWU>7BVC..#M&6< M3"7_)LD\4^^V@7QU@1)%K0#2@=K1)M.3)FPP># M]AWEW^P5>QV1;$4W7+4%@!2DA!DRYFGJ(G,O >XC<)9!Z(>+S;VW6"+J26N5 M8*T1P498R'7H-&'"F*%2Y.I(8RKQ/+[TUFR8,&HH&4VD\"5T0 M=[PI*XE: 8B/Y4C\+L%.Z?H-\NK89I;+MDHV;I\OZP'IV[[> MH-V"3YT^YS1J+%,?7.L!V]2^W["ND&]F/4FEDH^W\1+ ;V'@E)?%'G!/[/<- M\XIXUNDS5Z.>ZW?6HSY07NKM#=NM.)4C^I,9B/XU#-T7S_K^TG:+"V/:'GZ(ZL+F4?W"<, GBZ,[>,+PR M>QU#5::?IY/C+V_ ;\N_7"=.F^K$::83 7Z-(2^K_/%'I=.#X\ $N'G666): MF^YZ,PC!0W"JN.68: )6S:?P]#0ZR,2=]FP0V(?F6@'\QO=[)@-_9V\I_783 M!HM' %<7X*D/(S%W#&_*T '_"K5H?/MGM%J 7H /WJ#=C$,%>%M?]^EQ&J7[ M_WV/P#SQ;[PY[1 I4M5 D#4FNT!.-Y=E \0$RT;^UA['($?^'EQL[[1OI=,R^\)3PQC:QO/87*%TO5H"I#ZI@U?<#8WN&!TM$JT98C8PZ=TB"V=WA]JU"HJE/>!#CI%IB)=6[55Y>(IX.!:_4B)^U//B+=94\YB-46-V"$Z9 M%7':ZQ6T$5AK3':GX9J#!?O<)=!9HB4@]YOV@L7,_131.J:R!TFM-M M5NCC]A4YM(] I]D;>L9[0DD#<2%*92_A@KWXL*"-YE4(5S::3.W \6S_.ICC MS_A'6<^6*<>S!?5EI9U9V]ZL4G>'Y_)RHH$E9XN >X".K DO5HI14]?Y@,9Z M(9.-$)$=G-7UP<4W$'-7!^'Z9F.$3VH'I_!NUXH'X ,G/K-]-%^#AR4 \84= MVSN3:6'H0L7BN/Y.:]:7]91U9D6X-\M%W>'?\AZM<&Z5^NQ\S2!:OLA, MH:P$(A7ZU?:=<1*=H!"77;P=CA!X;^?W""_PF6H($:A9@?WI9-#WEL7D5-;N MI@1J]=RZ.H#UHB'PD*.O4]OK<.CX/81_7 =H\7/0>B@% M#WI-0_ A26"GILSA $*/XBH7,43D-$I461N)D5*RLM7LHGUM1-&"_[#2,5AVX%K;4;P=%5K%2%&E*Q8;Q:X^SDE!"95F MG1RH##C;/*)N&3[Q C5U08D2N==AU)0#!X(@S .F![Q 3=T0U%3D$N#A$&\6 M>&[0BL_T6]X5J'+C:'"'PZ8"K$.!0Z-Y$K]>K6'X#-)+>Z[TZX7-1H(@O6:9 MJ,X2Q%WLS1&XQ9_"(!&J:RYFFI.OE1&+'+9K(Q8& &ZV[$%4/H8AJK>@1_!R M*YD'AA9TF_46PF]@Z3D^8,\8U4+FH4&"3D46KEJ*[=X%?Y7 P(NQLU3@7GFO M^"\V".@5S 6$),V=>LWUCI#S,(ABF#B8B/2J9X&HYT1-,JJ8BQ)IJA7EZ>\2 M)Q&,2QA!GW;X0!]^W-O!@F3LJORFF\05F;/X-([@K"$B7Z*J[_VJBXSY0B$( M<-Q&!(X(OWJ!MZ(D[JG]KIT8&<.J"I)/A@&BM%_9HBS_7N7!Q\%R<380)9>, M$4RL*FX";CC)!_@5=0%!WS=); 9H9<#I#CZ_0KHC.[N2;K!I*&<)P-#)'L&R M(0&6F>,DJ\3'B=0O *+ \?((J+4/4H$&[FP5PMC[*_U>]DE75:#BT]W+KT;-GY\QUO8R,QC'! MQ_5L]RQ?SEV/O<8%F^BX65Y%*7I>+E(%]3$Z6!R/R &32\GH W3+FQ\<=%G- M8TC;=3(KC5OD#6A3M U\!O IU"3Z]GR)+4C1=5 D-)&=GFLI&T1=[?.>T3QM M%7V_S=-MLO<00TDHBLVN-&[%;D";5JD2E2&"(WLSI-SE1+U.$?00VS >_CC6 M7*I'9HCU2-D!.Y/K95!_\G"@@])N/;[Q(IP]JKXAD5V73YJNR_D(LC09Q1CZ M>E/,Q 5Z)UQ&(G&Q&#A> U6MF2*M.1F1[K>DJ=?H:3L2*I";G]F"5A M>;>?X:3,%XJ@VX\Q(FSA]J.!&!G#$G;[,4>4S=U^1B5*+AEFW6]>HRWQO/43 M:Y*MZ (/Y%,!#VG0"3-&J[6*>,C]AB25WT@@\LZ@ M';B8)FI0(;/\R, A+,8=0)JQ0"L8M(\P&^P940T@I7Q]:\L+LWQ?AW]25 ., MM86$%,@,6LN(3QO. O<\#%+C'SG&4:)FE2\GT\G)L%EX5(BUNK:U8816 &D] M$SU"VP68=^S(V/UB9D-$BFJS3EUHU^>$JS6(P6P!@4 Z%GJ%P\"()/UF[6.Z M?\/:6-PT84('7LP].[W;,7="J90Y#"SP2>XT,[%.QY\;3NRH2%7=0-/G89K- M!*V2/Q$/-R63TSYI#)<4@5JZ@:*Q#*LGF::4FW6*Z?-QU@&QTT;@,K,(AW)% MV*DZZFN)GH@5B\ZK5N7=)S3/G1J-&@;59IV1&2PHQ4F7(V#D$41IZ. P)<,' ML\[6#*;0(\G9E0X./32:M7KS1X&G1(WJRU?'3W!N8$Y<@TA5,U'3F')%1W'> M[F?XF,6V,1*?%,0NOL5(O$T0G3\0UVXB:'L,TBH,KO,X]K&AHP%M;0\[IQDN M K# N][A,='K[/%Y.IF."1^-*30_V/(J25./EQ3H\G4- APL+K>1^-QT(Y&- MP"H/P=HC%Z\\XB6._)/)T?[1W[<*/HG:]?: M-3S,.?[,#OZX!\^A_^P%BVQ,W\(8L%S4^%5Z?IC7"_!E3SJ0*]OQ? 0.5IHD M:ODJ@K],)R?#9403E4OE$5XIPLPZ3U>I9H2RU@OJ(O9F8JS#0)!"D^7/##8E M%=4- X(RY F?09Q9XM^;*@OZF>$9S#IZ X(AUSHDY.DT"QLW((ZQ?3DCGPD) M4E&#D"!,GE:63_+]TPL"-"H$F*K.*&F 6&6I,\OPB,]1U^E[O^F+\?0=7[V@ M;K)ON^,3I% KK58L?VZ*$5IQW; @*$L>"#@$:K7"4\+G4HO*+'#O011C_Z$] M2PQUPA>LJ;?@.?*K+@)M*-8?"0_ "?&C?(A&3(LH#$2J&82!QN2:M2J0EE+& MWH!6O,JI4\2IR:AW"%)TFK5/))%^@^=+R-PO\*J- 2%4"8L!A$NN_FM'1@). MB/4[\/WHRH:+$)O6O]G94&=1%.;/N>\]@MF"M+2J:'0. N BH MKD&=L44KH'4S(W&RA3#KC %*;5\^V1MWC$H;)8CES'$02*G(%;!Q+0%K5 M6C5H$HHZXH961RTNIK:[2#KQ=P Z6*P+T QE*KHP&7>=\:?3(Y[L0Y:*D.B% M;I)-$W([87[^%V L^. M%.=A$(6^YZ9A[J!$%TGFG"K&B;T)O;GD/VLA>057U=F8S\,HCLX3B%D^"UR< M<#O[0+VSYM0S"2OMB,X!\T6++07YL0N: I 6!GIADT3>@-)QZLLO]T<3+83;R;F@X ;B IC%=T7*$XGS :4%DV"CBOP"3]W8<+4X9WX/ M$&5N<1(_#U&"P> 5R5F40# M%:%HE45'@^5-4XH743H+*+0UM0Z691/[I-W&2P#Q'[+1KQ\IT:]I@]F'KL-> ME3@:[VB@!,:R"__08K%H&Q2KA?+2&2PVJ=.)4G3CZV<:VJ^XSY((T1I%,^?/ MQ(M22SW#ZY%26C=1RXFO+GX9,CNX[A\> ?A/"-AQ$=QZNJ%"1JIBF."3.S0Z M*)<-.-?VE9ZTOY76YP3UP)GY* M\2I[$,Y.1C[SR]#9@5?.\"!@S_G4"KH!04J08CA@$#KT--\:">FQ*K\SN?'L M)ZPX'N=!9&:=,>"!(= Z(N2I-0,4N^LS*5PPJID)#5F"1[]XJ FCUP(!;7<- M@A1VX#LY]LAY+<0O*#Z>W#D$ZA\7=YA>S9.,D<]1RIJ66_@<.1?/6YVR9'1;SR8]RP2=FC2W8P6 MP&F[X,@3J\AS>A ;=57-LJM[S[FS-RN6!QRCSAC@P!8G;RT2(;C3!:GW>ZLJ M_65OC]2LYW*]&L0;,!\^TM1W&J V");P/3T:S@JMS _+$.+\=ZOSL'Q>L)%3!0\E[Y.0[,*B7?FXG0#[ A$:'Y;AP%J*;J=I]\T>N3OI)[Q M/VL>Y_S?]H#?]//QUQ;HZ14_!6ET,14<]Z=JH1_'?>OJE1=@(W ZC'MOL8QO MY]^C[ &+\OL5E-$+UM9.PVM,KVMP&]+,.F&4.5%LD'--%X#%7HVQ0T&$'*T. M!;2'?[84X; QDNERK\B8!"<\?E7;[S"V_>$5]78-L*TT6-#D2B\X)NE*4F'6 MWGI[HN#)N%ZPRIWI8(]LR=M.]R?@W&WK8*,X3<:W<&"4L1D2GB0WZ M5^+DR<\V$^AL1=M$50N-4;0"%+1-6W":R34 BS0<>G#)\E1VU*HJI**M$PHH MV4L1=[W?$GQU?#M_V$38E/,=YU[-MHG%)H(4=2Y0:TS";$-2I[D$E(KX-[#T M'!_(RIA5;:Q"EJ:IVZP"/=DF'Y+UVD\S^=O^N1TMK_SPY3J8AW"5^3E*FBAK M89E;$V6Y(\M!/5ESU)7E[?HRTU+Y10T[+YBE:OJ<#)%?^JD MXE]$C5."E)EKIKR#:'+PUK:?#79[HQL>33W4/BJ(_ M*\(=6F'1H[5&7:+?=[U:UV,ZJ=#Y>/EP>_>P1,"-KM._.:>9)@WU;"1VEL!- M?' [9X]U)_>(E:^F:7.ZS3S-$5 Q3:ODAE813@IS[ZZPBT,N6X@G;+RK_-V+ ME]>!ZSU[;F+[*;_/T#3@%IO.L\TC&MSMG-@,*UBRTUYU0[%2_-7A/00WS=*" MRS\3U''*E1+CHAW7SL,@G5TB.JN80:+J.M -VT. KZX"'?/7,+17)J&4%F:J M VIYW;#8,0H(L)/BC,DH8BQE-YR85OF&JMS]-)U,OYB\OBMBD"+;+R_3:JL; M73:I93W-W$S(GLDM6M(-6HID7[TL5LF;3K+$]8>J*%Q?X'=VO:<$#SR+*):# M$[&)0\>1.%/,NI(2-UBT-E49#S%%+%%T!S98AO%[$'LPWW.SHF9K>[1?@4J MSHA?ZF?$K ,KQCV,^'RXY9/P>9!9H]]Y93N4W"9[!@*D!]R!5TOK-A,(2*2L M^3)4C3Y+[.5\#IS8>]ZI-TY7B"!]Q=P$?&Y5D2/2SO^/4Q\]WJU1IS;/S1W2>FSH\6UO%651YP0#"+^2;@!H+[VJ-:0A!WJ)TNWP,62"%V?K ML^C1I+ZD%#VAM637U8@/I23.;4.DN(\J"]4=*J!%RD/X\M7Q$ZPI=5=A-"_? MA8B8K9VHV)^=;1XQ4F[GNV90699GL5CHC*X#KTX<7]#$\4D[%W J=LEQ.:-B M]0C\>",8EY04?=HI*/KPH\Z+>JP.M9QN\!LIBG;J(,=I ]&'!9/NN[!Q9NFM M'\-+M'&*-\20F@8MZ()8.4%S -* 9*V@P_34);^]22BAM6@;B*AZB! A5BNA M]AN/VG *[SQBM8MQZ0)T8U9=O27;J5_68%I]%@9)RB@8(LY@'B)6EIA=C]1K M&&_;78>ZZ:&>\*6K64\2,7-5K#"-&;/+J*$K@GM"!AV:HKPR$UN=32 WG/C? M_@:@&_+?]E!J1-A3A)>>*GD!(@=Z*BV9 MV-:QX3R!& H2J!9J[PW.#>#^'47>W /NMS!P&D%:KO$W M?#?$MP(V*WI74>M)FW[^+J>CLKW])%]*VGP#MU*+B0AWV[XI.:S#] /PYU<) M=GJ^#M!G_#J" G_IH[J_-.[H?=:3Y15=C=A?>L*4K8;"3O)+ M]KM,S:(H6:%Q%NOU50B_!VLTH671(#C>*/O#_5<2I3%([!-SX_9&!:%NJ.TJ MRK?#%6*1+<'MEX6/I&4A:WW$*T%.PCU8AQ!'6W$6!'KQ?B>%XL'6[7-;A2@H MXZ:6UTVI>?(HZ[8<4;WV!W^S_03;$J(]XDF7[C5[/P;%9, M=!Z(9O&VDIRF'].FK'!NS8L1X,U@,00\":2C2(.T2^.P[#BKGPY% M_REAQ[5=TEG.M,"NTO/;IL582)CX"FP\./>3^U4T:8=:&_Y=79)N<,GC.N(/@SP?'-#-=Y@9K: JD38#" M*,DB0R%&X@'3W5N@9I5_1_B9=ST@)BER!G@DB34#B2VG/'I'"!NHP2#?F])6-64=;Q/2TILDS1RMWL/:)^ZID"SP/ MN%=6-P#)"[0."G%"S9I=2/=>]6LVH8@>D29T@XZXV,6N#*7H-@M)I7WC]L__ M\@!$PEAN;L S(.7RD*NL&WH&/(W)QL!D $B3?4+BT6 5N.*&H2OO0%I)]+Z.= M,=,T)_02?PA7&13,LBN9"$(V*.I ;,"A<5\U7]HP0,S"[]&E)R6YR^-I_?*X M:-!"+5IID_I? N\S@7,!3"O>?R[N_9%@S#N2HZ_4J2+\XW0RG0YK#6"PFF R MDB9-D?+Z@X=S? -Q]H(!3DQ-\PLJE]%=TGS9$7R$N 3VDC.[-Z'_#KS%,@;N M#&U+[ 4H7*2R9XYOT;X_MM-4XBDO*:"0:L-$T+1G@*++"-K>4H]5168U,1$F MXH1VG&)F<#A<>'Z"].4V7F9/YXEYS4FVHCN$Y#8B38A5-*L,OS71894ZT@H\ M3>"@?N$ZZBAB9D"HH=U?9C]-LQ.L\MN_:!9GP8'8(O48UFX$RY&RU-BPM@WK M/J&IP61'?#+KZ7&*XN82J.FOW)1(:^4P\*>"*:HN9D.D!,.#C<)GN5W:88!' MAOB.[Q,ZCR:O[6>#V',QO=XS>, F]-0&+FL-_BA@#7YOE?NR=IT=C)UXN/>U MR%+.LCD ]PKI&':=2C)@W<[W"1!["TM%)U6=.Q[\R3^>Y,E/577&";.NZUNR MZ6Q#;H#AW-9AC[HAMP@CY\LU> Z3['JZ8;,OL&B2A,.1PS"VO% MLU$/<>C\<9O2PO2KHY8?![HXLB6<":3H[=B>ILE,)*RB/!\Z5=(="?Q".;? ,&0$,1T9T^AW$ ,XI1ZY 8O8H>E> O1(.< MOU$I.T]3GAHE\K)GFSL8NHD3GZ/]UB*$&]DC>,VI@G\$KPX%?U/4>=I8^7"L M8CQOI_!!3N$4N+!\+%A5JAIW,IU\.A[K!"--Y@BNY"(8ET"!/NT @3[\R'7R M%CX ^.PY@."[0"NFF^"EI;<#@!2)Q@@=6VAS8B/B!3^SK"[BEY(=4>2"M&DE M=^*1Y#:)W3"$#SBK/3E1&Z64AK(4%$KU="%*FOZBO+*?H.?85+<(8AE3Q"A& MF%:I.(E"O ,P?:0D<,!##!$WL&\X59R,TJ8(5I9$K5+5$47\F#PQ1%KZU101 M\DA29+[K4F1V\ ==8ML?C1$8FZ(16-,XNUETRHM"WW-38:2^'I1##+F@+G)6 M=(R1(%*K!521Z*GG&%I17<0O*3N>T,=RCFEMS:H]R\7T(J:4KO+ITV!OXDK+ MLF[#DJ'0+"1:^X;B&\ZKI @H% MVX56)'><;*CWV8-S;;!]>!P[OJ#_NH_V:[-K'U)+(P$5&Q%U8*GB1$_1+7I= MWEX&[E<;_@%BV6O;8\77MF@@5C:2MPO;@=*M=GIE._QT(\'W-I>V:F<3?XA- M3?9(S2XPY6QS';B(39#UN"6[DFY@D)9G'1(-"#8)% 6Q['A:9J4JCSX/[FW8 M0*)\6 B0/" L*$ZG*S0AXD>Q?P-+S_$!U9!-*:F[8 5D4C5OR]#9@;U#B1]Q ME-Z%8:8'[LQQT%Z8(59J:0-%*T?KT"8+\AUP^(+:8WMDU,H8)THQ"CNX[FTO MP-D">D[BXZMJJ@!K98P3H!B%'5S^MA?@5^P?;E.V0_4"QHE.@+P.+H$5>+/A MI(J9X8'NR[9?QCCIB5&H*,#!<&O]\'!0<+AM1'(G:50.UD"O+8[8(.C 0*_V M8#584EI$O ,P_1DWO]K_"F'!A&AGJZ]\7ZDCF=[D4SV]2:4Y;(%?XPSI3;SH#^S-]AT-&Z*A!FD"/8YUGEVG][#-''+A MJB9]F1X/;847D/*8H62/P-.&XFE7G!(J'8;V0;D*6D-E.X!*DC5_0.%/C MWE1/=2JDEM5%[!*2JXI;CC*MI$ZVLA9WB73+:K6$3A*4$\:>$56 K/&([XPK MOC,SQ<)CD:55P)/Z<\W9YA%U MQ_ N8=2H\NMT.CD9]O6>1IO?IG1J-2MW<-Y%G3%?!6#4T!X7'-&*'(79Q&JU MXVH/#I))#'.!Z8'$J:4]2#@B)H"D <&& :6N:&<@<)8K&_XAM\14JND/E7;K M#)]8K?:0'<"D8(#-@7="1E*P .'K%F+28U\F>NZV44G2]M?#D. MH!?%GB.*%5I]\X$C17DO*T]G+D7INWUG=@1<_& 4"*),SF[9OF[S MEAKLD%_6[H)59BV7&;'L.Z-*&=W@TZVP"<,X@P5?1X(WIIW7#1FXRK+A.R M'-(*(0J"5- FPD/G&C?=DW\/O#BZ?_C.M#XRZ[RAJ@6?S+)=4E^$I^!*[ 7Y MCT?3R?3+H6)*CD=FW;)RV4[C.L]FWKYA[1#:\Y&@(PZ:-1^F.GL/U@ETEH@/ M=S!<0'OU+<'JFPLJFB7Q$HWO+_R\[1G8%79IT&W3IG:H[09%!+@JYYI9N\+& M@J"Q4/7$2^OGO:X -I8\A_JK$X&SJZ4A11+M_TY0A&-Q!BCBC M566 E:;=H*I2Q]><;VHU%-MS9?MLD+*UV/;F_,(&\#U.W@-\68,X7*2?2VS_ M$< 5S>]Z@)$/?1X<)@?BJ1A6,8XW7_@W7_BN+OB'GSE'XPM?G1 -N?AM MZ0L_/'RZ%;:4+[R1 #'*%WYXN/+A,X0OO([()9YCL$MMMJ^E.L#O%]$- ;U) MLWIV$&*+_@#(3NXI(?00B/TR55J/T=%JV$0( T% C"]:N?R0'RP#,(T3#ARP M\[._BQ+&\V7L&F_X:,REH1]$.QP?=5-]FTZW^?P_@UG;,M*'*FE"/94RHI<>&R@/B M&E3?[*EO]M2N%K/A9\?1V%/[G"G'8D\='C[="EO*GFHD0(RRIPX/5SY\AK"G M&HG5^XHOU5-.H=C_-4 HSV?"SKBH%G&W\X<0DO3 0WBO?2MG19T@TK&O-P[=Q5M M+->I2_%#;,.X*U<001OTKT@X\3Z*&[1P<%A4Q2.MYMQV6+H*X1QX<5+/9M"T MF3=4M6%4VPWI:0:M "RP;7PH<*%Y_+?2/$Z^LVW3U!O(VC*K;;H+Q4![VSDV MV-L\#.AZTIGG ^+!"JT^:3XH.>>%+_573[+&K*PU_;T. MLG%RO BJA7X,\-81YFD*Q2P[$3?G(*-&%<4GT\G)R:!S1)VY=?66):?32ZBC M/O7Q?(FGRN@Z*.4]R+F1,D)67VOQFE5]19^S#BTOL,)=E]@/"1>+TD[-5.OC M_E/EHGT17O*8/CN50A6T'Z,EZ,NP@1UU%A*LFGP*%.FK/X@S=4%>KK!H0Q$& MJ7L1W1N&64*L2RVLI<6'R$/;DPH6,6?6EKPKR8 MK9733>3BXF+NSQC$=; K&VBJYUZ%U@KJ)NUVDSJ;+$6V[Z'5.=M@E_;=HF>M M4A5MQF3?D@ZJ!I$U+/X8P:QD!#EL:VTT/5 MK/RH))DR\1*CAOGK*$IP1G3'3S#NR59&PA5&LX:JS,.6C8$O,&0!HIATLY+- M=[K0C! LC8E4E)2]4_M[VE\$G)\6X?,'X+A9E]=!Y*&Q/T(;$U=V)A,RYYV> MGDRG)_OVO+Q1*V_5VFM6U%J'2?[[APR%^7?_^/]02P,$% @ TF.H6#F@ MF-4!R0$ ^ D5 !0 !T;6(M,C R-# S,S%X,3!Q+FAT;>Q]:7>RRK;N]_LK MN.^^]^RUQHAY$1 UJ[D#%?L>T9@O#(12D58:%7_]K0(UFIA>$TS8YZRUHA9% MU9S/[*OY^_^M= U; -M13..?_R:O\?]BP)!,63$F__R7X?*5RG__W[__Z^__ MG4A@RFVN6\=D4_)T8+B89 /1!3*V5-SI#=8S+4LTL :P;473L)RMR!.P>22) M7]/7Q'4*2R0V7>5$!SYI&C?;%M?)^Q_SFX[1SZG?]&\")R@L?4/2-TD":S?N M&X;/UI61+=K^=A(WL#/\.I,AX"LI.D4\;,X!>Z%( *N:(ZQ2N,% *B7C8AI/ MX%EJG*" )"-.B=-@2XF%,-Q14.Z?PKV*;N[!_=?D?H=_KAMJJS!P "+4;]<6#6=LVKKH0K+"CI*I!)Y)D,EM/X[M/B8 _/)@\LKJ MJ:DGR;VW;9O;8/PDJ>C?\-?]^2K/4/4A?62@'!)G.V/XP^& '9,BDNGGN@Y; M;!XXQJMD-IO]O4)XV?8*877\]?"'@]?K#Q@#/RN&="V9>B '.'E/_]4C8!V\ M'OUZCZEW0 KBY#@57@()D2#H UPJ1W%)A[A4?OW[]Q2(\K]_Z\ 5, M_OGE@I7[.Z0A>C@!YIZR^.?7YO>$ZUO@U^]__W855P/__OU[^]^PJY$I^__^ M+2L+S'%]#?SS2Q?MB6(D7-.Z(7'+_0N^]#?\^:"-K#B6)OHWAFD U$!9W:#> M@!W^J<@R,((_88,F5(*V(H7#7;E=A-N"9P=D$)+P_Q"WA)XID *Y^6 PDJ69 M=EM@!P*I-.4$G^R,E[\P0]31RX%RPQIP%GX>3L\6M8HA@U4-^+\P!6*G)PDK MBDHW1I6)Q])=H[F6M62_GY\(A)#\]2\.69FF:9+._/W[8(!G'6_>LVTXV*+B M2*(V!*+-&G(!ZN[=D$N#9C793&4*:KYF5[W:N)*DI Y\!QQR(I$DH#;YS/$6 M-K;K?L!%^(VS&VYO5$_7'(+$V993Z.B",BY+M8E H>&B5WS=6-OP!:9\.%I^ M3>*=NCJQ\'GC-GF;+ZQ*BML14FBTG4^E*P,'*@>#U<3);GS.G$@49'(YQPG# M'G:'MZLD5^H(-!K?6-0<\,00B[8HH>%@GJ&$ ^3A'P('E9,LVK+ 8=X0X]-Z(H0 ,Q*<8)/ M#<50=$]O 'T$;,&RI\,^I]9F?-YIEA0[65@T1KM10__DIFV;LB?!E\E@ 333 M0LC*^Y(&0JUU,(%I RBLYU4[.%&=]HMN/IW2.\RO?]OD\)$Z^'UH=:'W!Z"Y MD8#S[]_(N;EQ K\%SA$+G)T;Y!+\\\M1=$M#3DSPW33P*%U]E-BZ3]* MU@(X;4TT-M0<6_-IS<\;0]P;N^NK]0.'8"'#V^[<\ $L2;\*,.7K2Q-D10W'!HF*_#7( [<8?%@;K_^1W>__O89*T ++NI!\ZH&YC=!$X&CL+A+]O/V^=^'[#L& _VV9/3O>43(>,M5WD0"*VDPD\"?]_ MU\_NMQT=Y;VF^PC9_O)VA#PEXQ^%!*Z7#'?D%#S6PSTY35%UQ>]&5NJC!(ES MZ(&/<;D+HU08_LJL:!O0;W(V+"Z"I;18&>(0YQ96N\+>#C.R=>E2?WRNWYN_ MC"PKR$K H$M4Y(J1%RW%%;4-FW/#@6*GUO:*!^N4Y[?')E\VEA?.YF>G?!G< MWG.S3Z6T/?HVPWI3?HC/Q[=UMZ5GZ%$O5MIO8S.YS?)\,9N?T-J+4K]7\HI< M7]63PM"N5HIL5XBU]@4R^'FU34VFZ=6P:T_Y@=6P,L6QSPZ42Y?EKU#;)V;W MZ:,O>9&3R791G.$)@6)O9?,36CN[7 V9%MN8\37! MXJIK-JL6V%AK7R"#GU?;AEJ=DAFF-,5IZE9W^$6U.9;C#,F7L_MQ/BPG:FB] M#S<%P*V;4E ;.6!TRYT">[/(HZZ((T6#1 !;@=YUXSE0!!R'D2 )'677"RJ% M-10YH+##:)ZN&+NBXO;9 ABY%3@Q.UCKL'NL:!IRP:N+4M[T#-=G#'GW#0MG M9NJ*5-BK-9JV98:EG1ZP]:;I@LUKU-72-TKI)L%S%4:Y-31 %[7(8O$I?MS# M\%F&/ G#UP_@."?#PM\3K/SX6Q]C('SAB4 0]?SE*ZN2AV7F[;>L;FFF#T#@ M8[0LU,^V;%]K$(55,5UD/;&Q D3+:>!:9%VJ!X7F[==/3N\;5QW?S_)FDB@W M"N6*SHJBH_?U4EO*EB*K[;Z2Y><+CBC(0L3%Y#O7AV3SHY8M=&M5ON2!-D[H M[6:G$UDO.1+K0Z"\4@D"_V)-W 70@BF2"^0 N6@!F=/E^ U;S4(QTQ]0@JGZ M4G-<*^)C,"FPY67Z*ITO1BZ]"2=XU')\1G&.#C 005V9F_FS&H*%!AQ MSW=35+J92[2:!58'B2$QD-N5]NPBT?#L/'\:)C9+HUOV9MOASCSTO-$ND=)3 M :T0F;[(#E2CEJ?R2F:4B)Q)0+P_-IW0%NS-)^;QEL>BH6Y83 ,UJ:0YW,)K M?II3U*4YZY&7QN+=='X2AW=A=Y ?YH#DV4'.+>=7#-F##K&_XW?;7$+-9YGV MSL;W1_.I+V?P,5MCZVO*JC5KF5IDW?[GIQB"X-$ MU$U+$Y6F4C$VU_ X1VWUXM_$+7XA-.@>C5\MUF M);I;_UX#A,,)_B04/&L%BN+(5J3]Z-YJ+GRO+X,[7-&*:U!A_&[5B1SKG[!+2FBU@=31=*V:U4*U5Z.HY.U&CL@_8(%AI5J*A\Y'?$V;!R= M:8R+H[A@)E"]>AH*JS:(J+!]RE@-<8DGS*D@XRJ_M)B+UA:/YOBML?"@?OR! M6M$DU:WU)HL2SW(]HY/3B+K"UR,70T2Q5A2%ZO';2,QDIK@:VM%%\?C M^UH14Z#U246O+=3!0)EV^;E-V^7(F?TOKQ5%D,,?JA79V46Z,*(3AJJ4#)VE MM;G'QK6BB\7"NVM%X]KHSDJOAQ65SHS3)7>:% J3R*WBC5ZMZ-(P<*Q6Y/?I M.[Q]UW94WZYF.JK'#O)&)#V[:-2*(LCS#]6**" 5NN61M^#U/I.N@#(_2^(7 M;0,^KU9TV5AX4"L:,J:.*UJC!Q4!$*JW#"G?.9$S A&L%440!6^L%96%;+V_ MFK=GK#\><7DN@=-:Y\(BO,^K%460WR>J%>$KNILUBKZ'$VLIQ6MW:Y/K7K0M M^(I:T:7CXWBM:)!Q$W?#2DG%\W4]UV123#*YN&CS\-FUHLO&Q>-:T5">-'/% MQMQA]9DCS^KZ7;X^CESD$,U:T=?O^7WY%/8M.*#-A2]Q?;2KTH5*%%$RV/^> M\Q]M2:R+AES1+=M<@/UB4I\BJO1TV:OB"998Z;ULD[E-1;2A(2M$!#YJ>,=K0EEM%0Y?3P6;;/X^HN)+'.\R2HD?L/"=D M1H(DU'O-2,90$0+>JTC[DS$8Y&E$::H8P/9W#6#CGFEJD%K; #Z13Y4:JU&/ MIUG*6/>6>C&UCIPK%A'P!:FA%VGZ#5 GKL[CS?64W*(_RBVG;*)MVKCL-^]L MYR)4W3Y%8F\N(BA[QIMS[O(2 PABS0_TLI?P%@95-2.7=(@8TKZU-_=AM+W. MFYN:E)\J9#A"K5^;B8 MZ5U$#/L%X/N>WMQ[--LFB[U583F)&N7M^KS#$OU1IMTK.?IM(7(H>I>B.9SI M3^ M\AZW/I';;=2,)MM7N45>GR4R\\XJNANZWNPC_RR>'G$]RB(YNJO-\BU> M;S5'=/?6GSKD]^'OY7L$I\Y8L\NNQ+!\ J<'P)X(LG+7&44NQOGAD+Z_ M]J!BP"(X\ QQ7GI9M_7;=E_E_?F$96>4JWBKRX; =XK&CMP+ M^(%P+-6?F9FJR>K\7)F5LEDE:[='D2O11#<<._^EC^^,QQAFD(6>VZS.^E*F MQ-U:@YS;CERJ,)KQ6/28>L12SZQJE\ZWW21;6^:<;KF^'(K"]Y#<3PW(HL7L M9R*RVTQNVILN"W/6R\Y$@,N5^MW\>TCTIT=DT6+ZLR$98]4)&Q#T%->Y9#[) M5Y;M3/%[R/D7A&318OSK8K*B22_&J4%OR"LKND-;WG ,HGLU]\7$9-& PBN# MLDF]-IRL^EJ)3V3H9EJI=Y.=Z-X+&OV@[&3,?^6Q5Q^Z,'0EB\7RVETM5"ZI M:;/*VF!=+[)9N/ G&UX\AOD'X\Y7O M*YWQ=ZOB%Z2-@9]D($/JH@LB(7_EL!=F8H/ Z]ET8Z4&2W5NCX?XH(R[";'1 M3#>HR$K3Z37ZA^'\2D)__V#BE'[&B<"MRWE_/LC3!IO71F*_J"\=3HELMBH& M]\>BH0/GZJ/1$"T0F6B!>5>#@[:\-3XR&M19'?5E.["S = TIRC:$S,G&FHS MD%=18QS'E)30"Y&AN5?@<$1T(S0SN7_3NE'J.@*CE7!Q3:SG?FG%=;NQ3?@\ ML7GU )["0CB,4X#A;*$03B>(S,?=K#=(*Y(/;@G!H$&J7;J,=BK.TF990^3S MF27N-WNS;)V[*-.&$/H$.V+)_$Z2F?ZI=G0\T9:I54*_Q>F94F97:U5UB1^4 M!HVE]9.D-?VITOJM[.AMF5LU6RP[X0G%&PR2JRP,%R_*UXWM:"R9#^QH';@N ML+=DVR"=;]:6]O!NK/)YNH'3I?!Q2,YL@]J2CF?[,S+ MI./P\W;%*4J=63.1BFP<$*$\TV?6Y8JB8O=%S0,Y?_=G&1)2M*6I7T?%CL.% MM]LV%Z; #1\>R 3$4;S#U@2/[Q_O9:.EUTSJ=]OZKK;2M M"F ,;,@B]#-D/#^F5ZV;>@I"HU_)>(=>1%\+,;.2+^1$! M>(6=RW4ODQ^J-&Y M')R?!I12;U"VK-RT@2OM15:83%:L!6(E'"T<' G2+D'AG=%W6*8)H#39NHL3 M1&EM\?-$?4Y'-G7P0W7I-W1DSK\MZJ*DT'822XK(._S:\6$[>=LIKIEG +P'P/\GL7!#03X/*5.\65RM$/L$J M4V7IC-"XA&SF3P+"XUBN8LA@K!B*"^K* L@5 _8_448:8!P'N XDCS@S M[;PF.LZN"-,T#48W;5=9B[!ASA8-N2GJVXTHG?7\MMR>JR-5Y^YFU6R_UFU' MURM^X_S#NLRS!+C8:.[T4,@85,=<^%P9+W45EF8=7)9;D8WK+P8*9]L9_]2& MA?=L>\L9;6]4TYD57EO7THZN)O."'UDU<-*]8._@;D26][_]+J+B&Q5&WG-< M4P=V%V@!])RI8J&%*GDX%EN4=E&=Y&9S;'/1K>)<$V\W,\7.S)0BY^2>_V*B M-]!WK MEIW"HLQ+?;XUG&R 4,4G MR3+(3CB^)E.326-J%E?!@B.K!]Y!PIZMB@#E%G9LCXA391E M3TR(:B)?M.26*S+$<&"Q;8)3/:(7O)?]?X_!%"@UOB3:[*2Z7 MF8AIFA\L^G+9$M:2#+Z':OCZF/ 35HZ>P@7TR=JX@M=\A1_@ WY)+&1327\O MK?!)+N GK#?YL ^8-02BX/8T U=TLU=0Y(Y:S7P/B?],'S":K'[&":PNYR5Q M4+.FK%=PUK6[]"!=7G\OOG^Z$QA-$+SD!7J+[((5Z%H7K[D]AZYV9$(=?"\D M?%7:+TIP>(L;F)S6G?:=(N L,1^/QUT%OZTLOH<+\/5NX-D7'S)+T98?7;F# MSCJP%:DLI#FCE=CM]P7.R8S7QNJ/-J;=C5<@FRGL@5(YOW.YCA_L%1 MSTSQ,ISZUW*3U2W-] $()MJR$(JW51QW7AXK8F*N*MZ2J:]'Y$"915:=/\') M)Z?W/;B(='$;V&/3UH/SVG=H;3O>5@?G1ZJ7S0BK/NZM?&:I5_OC\>!2)!)I MV1!FS16ACL!JDL5I:847*W>)PJ0?68,:(?5Z?A_JK?IUO,[> MEH2FH>+S)=.7^?R4SI*7(I=?I5\_FXVO4;#C5B?/>C6ES[?(.S4W4!1.OQB9 M_#H%>W;W]:.G.=8:K;J4ZQ186F+*RW[#)LL)%?;A,0$KA+N)\L! XP5% ?E[&15&[HJ,*L.VUW/UT0YPLCZ8IH^WN-\A*BG M!'#D;BIY@':T>+2GN!JDV3WE=_IM:Y*WYJG6)8#V$WY;A"]N+)A" MV1=;4*$11%T6EJUQWXGN*H;XTL2H6_LG;T&-K@@D7*UL+ZA:0P6#,>&M]65Y M[,8B<*DB\ 7Q>;C=#150-Q73QZ7DP@-,YTU# H8;=MM5'#7G0Z=*FNJBK1YX MHXPD(=*B$U^ LD#'/+S%VN8=D/JQ5%TZ%^)<8=._:/L6ALXSA<8[Z!=Y^*^OR<3G,O5<..5$#D,4+ M8'B@"=PS"&%F);>S2J>88H$Y&PAY:5@=^)&KF+Q&"'.?+X1'V1-+X'>2P$^Q MA/*:&(_%B<^PG)@L.'9]&WDT,FNI8P6>OZ0KG:&^$<4:4' XW. MTZN+%$(FMH2Q!)Y< C_%$M[>&:JCRI;$*M-Y8IFLJ-(D>DM=(RJ$L27\VOKB M@Y.)+CHYTTUT/'TT7634FM>A6%N6N:IRD8(8)V<^2Q"_XA#/$PABM&-#'Z12 M(WE8;O*@=K=(EC)LKR-%KE 0QX:Q(+ZX!N$%.*J#+K5/8B\'4Z2P7=[A/6LN6,2D-QZ.+]$?C M.D4L@9>8'TW(1"Y#SX#, R/+$8M>J=.U(G?P9$13,[$$1F)MY#G3,N>70*E$ M3O2\WTJIXJR]3C,@D1D.+](&?D%.YB=*8!0RHV^7P C'@>WD2!D.YQRE@F6Y M.O!%SK,N,QD3QX&Q!)Y> C\E(SI4%_A\>K<] M$B15-:?2A&!9!)<"XNPB \-XU6/A&/GYC$^D.5(9%*L) M/G&1UC#.SD1/ L^\4S;8P(FFPI,J\0; MMZ6>!,XN;%'!M#$G5/JN7RKP1(_W"]W!1*M+$9O]B5G_Z.;/CYP^*\%]=^-GR?N_2VW1ETJ23%*WBK MTQK[;G9QNZQ&UG.Y(.A>\%6[NV02+22SNVS2_8>/X'B>$HR>D?-D=>[*.:HQ M*65Z@Y^!MQ-D->A$,OO*K,9^T[.?B,? .38D%7#"(RB!7+1- M'7FCGAOTU1JSHFTHQL1I SL\G=(_WL&!%GOZ;'J.)33:JM<3?(+MI/&UT97T M4F0Q=49:??))]]&L S^.ZK\6G7-QC@LIIC7EE62?FI+K+LGD(QM$?E-T1G#% M[ Z=CZYP0#<:!-]NG;06FU/\1JYVJPY8/5<0'Y =52Q4QJNQ2R@S/+JZXC&C'TWI6W/Z*7OSLD2G%[H\ M3\L+"Z]-Q[B\*BYDC8QL=>9>5?C@Z*S72N[M,SCO56"U#Q<0ET4I?BVOWL://5?MZ+ M=UXFQ]-$:=!KJW2B.NZ A9]N1W=-P-=>R7:9*-A^^_QUF>->2U_9Q-3F=5TP M%Y4""9STI>F"3[LN,^I(0&LNN^ANG@ !P0I,Q5#T72;:984 M.UE8-*)Y[L)N%K_^#18Y[D_CAW-47.UQM"384ZXP'W,\T2]*K-VNC>]2D=/C MQSBZ/XV?Q-'[ O^'+M_D[>J8UZ=>":_U]9Z#SS(YCXVLXH[0Y9O1P0 MJ7/[X40 D7L,IT_R7$[UTGT[FW)']BQZMQI&'2!!59/$7UT O6]Z$H 0F3V M;#^<""#;;NJ* 5KCL$U1E!0-4F;761WU9:/K^P9 TYRB:$_,G&BH33$,P1G' M,24E^,#(.K323K#D?@&8R?V;NO5::39K>E.>-H95JE1VMG\[6^G*BS2ORY.YVR:7I>CH6C^\A M'H>+I?81_]$U?A#QZ0M%O&(M-;[?!;I:ZJ9\Z_Y.F\9+7D2S#RD&W%P8@0AS)9UNEH0JKH*"KYH)[5F,BE% MCG+$ZRE'G&N+_Y.IK#=<$O_X;OB7KH!_14E36O3XRE3T.%67V375:G4RJT3D MTJ#W#L59Z?73BZ1/+*CX>I3R="-YZ^5K([RUZN*J1[;JPW6$ [UOB](H+.9X M@%*RX>KC(B46<)_ 21/ZJZ!]&X4]EI$CW-OJ*1R ?!%ANARC9P\JB\C+)C'X]'73/5;*_XGD/'>K?AFPK3KF2S9Y@EE1!)%9TBG M[B*+BBALQ8\<(CZTMO(Q(D9XEX/VZ99AO>)*TFUWZ1-:9&MJD4/$UYV1=))4 MD9XHIJUJ:Y3A:5 OS/NI2=E,1);[7YTJ.NLNX5,H_.>73E?;"Q.,6DT#IXGN M>)J2[RC;C"RS([UT^BL,P<.CT;+I"3 7#M=1$V!$MIC>;795B5BB\'PGB-%S M_K9O ::JENZRPLRF]$+Y_'=-O%5)G/0 EQ1D?L#YI2W*F8S?=%4_6^M:[#2M M,]F(S1UR/@69?W8%:3 2#+7MML .!%)IR@D^V1E'@19?HB\\0PFIAA8,(Z-A MR*(M"PY*93@"(=5)7VEE%VQKSJUZ9*FC@+U=5#H0'<\&_V[&&#RS?<_VM^UG M]*(77LIS!<%*:VYAE>YU\4%S(8&UWP7S(O/HC8IC4D0R?0,?^< ++=A>X"MF M=4J6*8>G^<127&5F=Z5QYXDYHB<^\$))$Q5= '1'777[J2GKBQ6S2Y9KW<7H M\1N1CQ(\\($7CC>54F%=U"I6&FB*"H!H:30'MLTF)T=?B=J__74%E'<# 6PV>.4-6V[TZ'E:'D :@O3?B? 'CV/OBP PX0.Y;%N7RLI!UW\/AS]Z]FP M\58$FQ"JB[*N9E6],NY[,Y]84\YQP&T>>9X9OY75#9R Z=D2<,*/4R#*@9Z# MH_SW;_@OS'%]#:I+75PEEHKL3F^2./Y__[)$Z'X9DX0&QNY-ZCJ3N?_*1B=, M;;\S0V\=OD8+ZO1__7K0JSU1C(1K6C=$\IJVW+\@M1)3$'21I*XI^,W>6^'# MUO;1,52 B;&H*YI_\]\>=",=K F66-?41>._5^$W\+\.5)OC__X5M':4-8 = MH;<$[[V!?V+H'SK\+^I?Q*8V&/_SZS^]5AY^="S1.'AC\/>-@;;K:&&ORW"T MFZ]^_=M#)W5CYAC+(Q4-_=:_?Z->($U%^(]UA+:2!D3[9F2ZT[\>DOD1_?;I MD[Q.A8,^#5&V#(0#<4W])KGW%6(0^HQ,3D+4E(EQ@TXD!G;XC6(@$XG(^=?( MM"& [OM888ZI*3+V'SSXW_9WU"%YC6A_^/,]8_XZ2OU@L/#'?/+A[ M+P';+&"H. I4X,U4D>$(89?_\Y\,@9-_[5AB(8XCB1-D7!P1!#$61'E,"%2& M2 LB+@$!'XWI#(Y+&2I#_@J9>!IROTS+0V*,CE B?8P4O_[EFY4>6\"X'M-C MN;]_C\*)1G[8')OGNY5>A>4PIEG V-M\F6F66"S?:C0J'%=I-;]P+H&B(.X5 MQ;%Y'47FKW\'#%>N-$N]5O,**^0Q D]1V=U,]O3 ^^=R?3_6K0@0#Y3I=3(+ M]",*Y5"][HUF)$KJQ#8]0TY()O2T;[8RNNT1Z8='W2'!QJ]I^*JP8R)U#7L. MI1[J2 /L2(J)GFNB=X;Z,/SWQ_F:.BE?#QE9;'4;__.?)(W_%; /VDLXH\!W M4"1LXY%WD?5X7^R"&2**3&2@W!1,*:B(H+KCKT!!-47;%D0A5];:"\?D";Q; MKX%YHMS+=UX8=1)/=$*X'0PXAM\9X)?=HN_#6/NC(=HJUC+ GSM5X0:>Q98^ MH2&%M-%$RP$WVS^VD\71"USHRKGR]I$%L%U%$K6-: 3CA 3[:SF%CGL"6D0) M>39+6[2VU*,"#V/C!6PU^L=E-'D<+O?.X.9-AP(6[)%V__FEP&'#D!T2RM1& MHJ:9[LA<_3J/_'4\&+ #6X/QJV7:[KXH]N[6Y+#8:?'>K*NDAT3BEFITCCDM M6PIQ8&("C*]@G*]#)O\W<$>R:8J^=T>.".AO5][GX9?QXCFL=GBFVV.[]2'6 M9=NM;@]K\UV.9YH]K-?"H%7O0=,=ZLTDB;6Z6#+UA_QG^$6KB/7*++9G^G=F MG\GW,/AS,DM2.Q$(J/$;P?IW( W1\P0>6 S3QMPIP.9;'&%A'@<+EEMC1\S( M'LIO9)0)AYU.9='W88P C#/!O!T,B@U33GL@!],Z2^E@/%9!L3)L<&Y5J>K, M"W.&BDN:AMPEDU?A'V@\3]J@:+.PU8T5\-24L;CWOA_D+18-2P1IP$@ .VIA@:#F%:/@;MZQB M2-<7ZI;]P:Y$R<40H5"R_9YTF.A@G 4D5+&5,<7 %-?!\M/ __[S[&DWZF+D M:9/WEJ@LF90S*2$YPK,"A8^S0B8KD<*(2I(4,:9'4DK:Y+W#)WIHXRR?AHI7 M)]E$(YLK\4W#\FL,A#[^L&6Y;5' '/F$JM>Y>:*5'&7'RR42DXE?U'7M=S764IB9VH! ]ZK-AK_U9UAUR[*#0]H;^N$(T6Q.!>MS2 ]*T+H)& MCJ69>F(UMI<::*"6V[?OZY37.?=[[$?EJ@U34-E&"LL]AZ6Q_;I*6!C#'Y6T MGH\1S&TLD(*M]_31R=W0]R3WGX\/@HW$EFTND)X[>>P:JDRHP4S;VCA8P=*Q M/+HTU_;SIKS1H! (K&&!)5@G;UG:U!?M18GCEG<= 0\@\YR6&2@.'+2C&$]J MR0?1P06S[PS9:M-K\5ZMT?WGD>#?M;==;!T3(NSZ2;;IBBQKX!6<^WVB3B(D_.]SA?<8=G95S
>F&<$5U!+CRP8_&EA5L'PI MM%.TI>BI !REXG-/7KU0<_@TQVU#D\"(M>PV?!FT#?LQ;\V?M++T6!_@^<4* MB/J0LSC]I9CWH_Y:&,5%5"=\)E;;)@2!=J=8!W[T;5+R4^YZVF:51=H;IE-+ M=6TQ\"TO^6LIDD@^G=SZ]J[:AJ@H46'9$.>*)6H86 $IN.<)?@VM+7"^O_\# M\80A0!US*$Y;37C-0D+J]8L$HYT+NT]^H:$GTW\YF LT8$U- V!&$')=81!V MFH?@@8DV$*'JD,$-]L>Y,^7(YC'P??=J)%#NC1+EK IV.<6V))$>3P;Y:D)X MR>I13ZB0YY[Y\^RU@+H));.-2/VH%E"=W#92Z01@5;%AVDT_7:V4U9=,&)E) M)H@,_;2#%)<"3EL*>)=D4J^3S/LK_# [$%)@ QFS/-OQ4*K:-3'8 M%C4YLE M_AAMJK+05*"J)2.Y-SMEN4G9 CI%$ 0Y$LC46!8H&A""F"*!,*+I43J+)Z6Q ME'J8"C5;J?Q\*&>ZJD\HT\S\MJ30;N=8RG:ES/CNDD_0JK)*%UUS6)7S+DKN M$H]:^KET@=1R-D\4HI&F#; M?]+70:7OC.[Z:XB4_FQ'(VJ7_V_M/_I@J*UGN*& M&]F *$TQ21,=9R]LNQR-\ ZZ'%LZ=2X+]C[$G$-/G!Q MHB&^WE5CA>]\6#9 MYQ\'B988QR>R9]\7Q]LU1H$>!"MIBLZ-C ZJ30.#5@D.[3["/,3W6S*KAV8L MW/?[B38L:CGQ3?SN)XE18 YWF?!IKIC)S]4E.IJ>K4NC=/YZH>NT):F'K)I$,R#4U;#?4P MQAX8]6PK*E[LF-@*;!K#C MPY0YB9:1[6UGVB3.]S+O6^ZB9#KRX]!V)DSV@O7PJ*EE PD$E;$D$?81;+IT ML#]@SQ#HF.-![\J9FF@)^7;SD#L5W8?S68J'@T8C#A_>3.G/*TPT9.P/8F_> M(R@SL-%H!F>%'@K:PR?1>#:=!8>0!R,)ABLZ+I;%PQYDT7>NL4,//T3'V5<* MY#W;A@,+]^4A(^.*KN<<[![56-+(=Q.X1R;R%.ZL^/;BZ!;I/00-@?/49KSG M'CM&@=?O WS^>/_?3?,,0Z*^C^PCZ$/4ZXKK0F$!&D2_;1K(6FH^ M!J#E]+$*LDJB%"R1*(BN&.[Q>J 5[OO8KZIU/0V$E*?PU&9_B*>%"QJY1 _[ M _V8_HL@B>M- W>J.'#8HH6VB7R*=@A'OI-WX/SY18*\1V=$YHU<[PDRZ6DK MCVO5._*2'+]-5*%@B)@&^P*8*$E05&UT M05R 61L9M*/?PM#62!SYP=&AA,-WV%NS 1$=;DE#=AQV!JT=&O4$F]CFTIUN M?[Z&%AT$(Y/!6#&"103!@BKD%!'X7T^-+_@Y^=>VV8L-GA[?MB&RX)O&3XQU MVU(Q]A11DA@E"&SCG>R[)-?[M7TI.TYFX/\$().X0,EC41@18TG(9J2T- ;T M.)VE'];AB3+;*-"WZPZ>[S%:M<8,F$1B*E5.S/E6)I53LZ95GK!@Y;+:G;AI,86Q^K3"6_DF\RM,T&; MP1ZM07#KZ:I 2ZD.#J;-)NL,U]TJV1%2N[=';PW"J]:>4JGK;.9]2^0/D[/7 M-'F";DXU'.J:?++T^33,$W!\]5$G[Y?D:**4?HS2XWN9Z!=4]<$NI _H MQH-^WJ^JSS*<;ZBJF\=&NEJJ.H:Y:J4JX_P2=?\FV+T0AK^T!RC6QC]!&[.; MX#D4Y3""_I!8GUTS7X!8;XE:"LBY.>UG)]Y5VG4*)8&;\YY9X]N=EMQWEPR, MEI.?(MXG@.8YU@N]B-2#I5,GL3*1F$94\T^/PZ79#\=Z9 T[:P MQ_Z 8 Z2\.'Y:J](<3^H; V!\W*AZPM<8C3+ Y,9@&8U,[BR7L\;O$X-^\.< M5S6GL^4Y01.9,A7]%66J^TW/3%#@:8@^1EYAB)57C_6JC&UP4PQ*F%!YHLN- M EB\Y2ZT@W.W#4^735<&D@*#I%^8 PT\G#5^"+K7W:7ENH+NA$M_#X%K/*357GG98VFAX=UZE5^AJ$(,$?I4BZ*MT)KT% MT98,_V+AA!$%I7#-J?-XS2FR-&'#*\R\?_/U"?76:Z\5.L3$X6KR8U<%O7+Q MW,-]]$]O*7K_LK\=H63%L331#[+;FQT72,2"X$(P M[/[/^WW<7W#+V"?<*4;BEW.IV*]=^3DE9<9C$B<%0("L0*7 2,AFQR,A)5(D M.1JE,UD)')9@@QE]S:U8X3E.KSPCXP@%-WLDHE
1F[93? 7?!K\@5\EX$]_OD2< MD^[X?;LH?2UHSP&/R&UK?OWVN+:XMUEO'QT?J3(\#8R;:@-[+'K; M9I(WGI+YW+1/'2\$9C3PPO<]@$3R_G*4[7MW[E6;Z?8JQ4J3:>8K3!W&6ZUN M@T$WGP@I&D\^/J/N2;]K"QW8W^9*C,KFG/RMN_7Z-/ +7#Y/YO4-)'F'-[KK M#]OK\)%'^BR)WF2"/N4$C-1)RY 15! _0P=47* GB]N4>'"\:+!]1LA0))'- MO@_PJ---BO/Z;3B/D"HX"V5V_6'W'6)_\(;HR8H+Y#\O6BL\."CXQVJ(KSB# MZ"T[;D^COLYV]-)I)GD)*B8G:E ; &X* -0K23*5QM^G5O(F4O6HN@G_"ES9 M8,'>IG\L?$&L6]ZC6S[SI"[Z#0GJUS,O5GJQTHN0TD,58QM,H;I2%@#=1Z0# M(9FF:?KX^OSWZKX]_RK(8N^]% O?^IWT(1WKPU@?QOKP(O6AZ$R+FKETA!1) M$AGZG%H0O@H+WO6==%\ZUGVQ[HMUWR7J/G;NP;D(5"J;SF;.J/B"M6)34Y.! M[6SN_,#"=^\I0NSB-6$FUH2Q)HPUX25JPJ;I L8C2L3WUD=1::P2C1$0YR$\E-0',ES',6$HB4S MAJCYCN*8X^)'*ZS$95=8ST>B^XYWM[S=OR XE6K["N0AWJL\I!/#;66H31(;/:=9[^TG>"3I&9#^P&J%ST;H"GZ?$.317T]6VV 3S0420>ZZA8 M1WW&AH4ZF(A:8.B#JP8<(4UEZ/310_?>XEE=^FZ%DY(EZ S;ZRU657&I]'M. M\.OA>0+E'G7\?E3G,R@;510EU[0=(9.DLGCJ_?K>P9+,&Y7]5XA$9&B&^L$V M'5VT'8C=U.AKLN_BIA*\<7_',"=JP#''X:JS^]OV?GKY]VPDVN\8"WI&-=RP M[_W;#E'*D'>"HXXVONZ!@MM_\W*JN" !OY' C66#X.P6^"8,PR[6[XC=XM@M MCC \3^\6)\G@O,3G(/RY-N89Y9AJH1-F*T9XUJ9BOG/Q'^H*2UVVG3@1*8)> ML+UNOK\O&W' ?\,UO2>?4O1@]X.5,LVNIG"ZKB-09"J5_7#.F;YLQ7P:O'+&R^L.^6AZY\T[J\>Z0L4W5^K\J8SX9\Z,WQ_MN@P\[,.&D.KG\DA/L7.B2O\?0KE/7]4?9YAD>+J9CN$.-Z3(]ML,T>UF5+3+=0 M:9:P8JL[@'\FZJU6#7W>M>%.J'".3^#9JUOV9P"-HZ@8F"ZZ<*H.)H=;E<(K M@]RIXJ 5^S;\2?.Q;G"K)V8:6!'B9+-T!4]T@OM64"=CTUZ*MIS03%-5PMNM MMIOAW:GHPBX7IK8 F*TX:I@!]PPI' #*B5]ACB=-,='9?S #;IVR\3&'G(; M,+! /UQAH\VMF!BZ9,8%$_]JV\("=I!I@9WOOC-WNZBN]J[BVF+S"@..J^C! MFVST F^3HM=,2 SXB&6;L_!>,,ETW/ +QX+?H#\UT0A;FR/4"$(\2/KKNYU@ MUQBC:?NS,C=W. 6"N7]B *2X:]K(7<'&HN3"/GQL!)ZA[#5BQE-4%]'$H=XT M$+70?%#%V:/%3BCD1_A7\G?QK M^QW:V2$I%GS9PU\001Y^AS"B0+(^_'Y+]T??KQ!U'WX+R?'PJZ6B:8\&$'+K M\== 5HY\;2(5!^'P\ <7B@U ][0]_$%!2E%^/$5/>_2EC@3SX9?.]%C3$= 4 MB+WMMPA0C@*5@FACD!K0848["!UTIQQDEV)C!I@$^O19"(2O"E@_0G!6,!)$YZ,4 $AR):$-EA7H4)0E=ZP6VE^R% M0PSO%G,#52:Z5ZBW$93/Y52!L JP=?Q=X6N";J>(%O*+\!Z)2%F9QIZT[?9= M!@0=7]VW@4.U80,XE/@@/T1;37<%M6(>([CZ=9&\ZB&N30VFB_\.]"%5X>*,-0E@8H8AVL? M0OV)E($D(CF%WWI016RI!@D8#@F-7E;&8_@D>KT-00TG.[9-'?9@.F +I%"_ M!XQX3K4T1'\!&0(PUH#V \#^8(/-U6M7FT76AG2-_=%@\^&E7]L?L65P594- M9Q8,;PMD.";=^1/;0-W97*V(1'T#'>BX;"Y@# S09JP0:* 8.*:! MV+]5C &;[ "-$E3*$($3*%E&2'@HB/JH:O;#@ 8:+B30O 9[BJ&I'GRAD.(:XAN M&L11Z Y<;;J3@2/9RBCL;J-)]Y<-;=4I_+4-P;%![16VM_R60:(-P8HQAH'F M] 1V:L%-GQ ,X3<^0(HYN!.T '6B/H(S)I/!#7CD57!IO1Q>!HI0_*#RO[MU M$5TLIX1;P_\(VK'Y/]&+&Z(M;:Y9IK>7ZHD;L[SQ"40]?#F2+L^RM(!L(1GV M)OK$3!UOY("Y%RK#<*P/9<9.K"9AMA.4PJ?6C, M#S. 2#*#-.#>0@]H'- RC\U(,X]24__SGRR=SO[U,&GV('_U*/3[4-STDHC $?H]" B5P$: BDL*K=I$U MWZ ?AC@0+3#>N<*@$P %:.,.!,F8X.U;U16X^UB@L%#*\@J;BE#E3T7Y:M/, MWPXC, 3H5_C+SC7#%&@.I4"5H/=N0Y;]$&1'I"NH6!UHC]$YB1L*[,Z N(]> M]D5PXXWL?(?-VYP_[_-'C_*(L4C^,)$,@^TP]X+4-K3.T%!KIK6ULH'BAHX! ME D;V2?X3>BG'TC*!H(@AE8,K2/0"C,TCC0%T*E%.(.^L>R%-_UN0T1MJUI7 MT(E;HT9@/%8D!1B2'\,JAM465DCO;&TQ!!4,UC38!;2I+N8$"VJAUPEM8^CM MCOQ 3XDHBD ?-Q8VQE.,IRV>QM"W0WX2Q))DZA9P 8JCD'28C"4V/02$[L M/L7HVJ$+^=VHOH0"/-'PM\&IAJH.^XYWD'/:M0QS_]#^66&I::.W, >=-1UK MKQA?3[OG03D;*2@#OBHV=S%@7G*\)=M3W$TN:F?X5.!#>P8D+] ^)@KA@DQ: M6("SP]R5:XLR)(:*JD ?Y M6&CT;'&Y2\DZF(0J*D240MI W< M1-=S3=O?J-")!Q&//MI@[BEV6.>,01N#]@D#?)BE"!=L^4@]HG+9)%AU(TH0 M2>$:MAA),9*>0M*FY!,X_D@7*89A+L(*I85.'T"+'(,?)D$!=1-[HLP]L-QP MC=9XLVYKVSQ&6XRV)R--!+^]A77WV3!H0GTG. @IA.'8%AW7]I"=!OOV6?)' MT,J&BV;\P+H&#\BB*V(:$%48:80V]QD87MC&"3+>.!%OG'AQXT2L6W^8;IT MTS*U3<"+=.!N>=7^.HY]W0G5+NS#"',PFY4?YF:'@N@XIJ2$:EJ$HQK'=CS& MVKT=OU]QI@7'L,J*8WG!,O9[>&U6=F":LG$PKX)X1$/+MKTPBD;%+C^P[O"! M(,S=6](N::*BQ["+8?? ?=Q334'>)5A^)EJ*"Z<<;+AQ@@65X4*U>,%0C)_G MPP\7.K]NJ'J0Z<,XZ)+9EADNHT6I9E17#??ZH 7#GKX)53956,50W&"'H#?2 MH*TUT8:&S28@R=1U$TW0E-1@FU:$H(C'2(P<$H%N::8/0(@8S%P:,+2=*E:P M<72W6>T0K] [6R7FZ+*L8(NF#=Q-OCAXZ/IIQ!T/IP(-M0OD3G\FPQ,;BC*[ MT"K<*;?=3+3=S;._EU#4M.V^0>7K=Q]=8^&9;=MM>B;Z<[-_-)#I[>%0X8N]D.;W@ I?H: -3 A9T%L+=@$K#IJ% MN]EUL>OP^5UM%A AJ@W$P]W63W2A+P8)",SQ-38(-KNA/0HJXCMF0I4ZV22& MX-BLH'&P"72A( H:_K-S0_F,^Y>8V^7JZ+$@1;EKB\'IZ"+:0K:<@H"=@6B% MK$$C1>G0@_V?!_L[T9 "EW4)1W4%^8.2H:B+3?DF6'PZ!G!BD-_._08O35PZ MI]S*][2@;7?L[6_=>\]11?'1)R?)X%%Q!B_.X+WVZ)-,2B8)4L2%%"6F!(J@ M92%+T2-!IB0Y2XJI45K:'GT2/A'<"E6L-)EFOL+4]R^&2IW_F)2WG(JR=P-7 MX-T0?^U&?7@%E;6=6G!IP.XJY/O+WX4,11+9['FG]F B]/TFZ+T+>H[>37]R M)7] X.?/O!H]J5O1+LS7;=M'.1G.&SF*K(AHZU=X6]J.*SE10Z4_;@H 9$62 M3*7QDW+BE%-&MV<# SE/\"_'U!0Y\, W4\#".>SF]S7C5XYH(I3=4"3XZQ^! M1V9ZZ'I*9^=L!(MZ,5&'5L-U_OS[MQ+=\7N&Z,EH;_Y7#_,)G;\9Z?O/A]OH M[2PECT9B.BTDQ;$L4'1J)(@C@ NC$9[-)/'DB*(S!WJ[)PEF!V^GAR17P_-< MBLEI]>[@+M41D@+QL&6S-"&XN]8MIWKK;*^Z&"]Z8,# EJF'+1OS+BU9'H!ZW7#N:T9.UCJLJ MI5%'JU)^*R5/8,M'XVS0:V4&J-(")R:<;=:-%$-QJ,]'XRPFJ)%26EH351PN M9D9VR4GSWD1(/7Z[> W*LO>^*[18Q@A\[AEHX%3ZHP%M*J,4YG. M;$#JHTY'R#YNF2YR'E5O<6E<['&TV/;R%95;"DG\".F76:]IZ"3@Q;Y3OLU/ M'&M4@TV3CYM:PX53F(W*.75.I8=WVAVCE-NP*?&XZ:RG&AG:[Q55HM:9,66B M+A8LV/0([XG;I:7G<(]2_6DJ9TG*JJA0L.D1YHM*@966+Y,+B.T'31T#),2NZF2T1/9YK\FUN81AE;MQ! M31\A936NX)9^FZKQ\Q;>7'>+#6Z-P[$> 4";)UG6*W$KG&-N0:5:+.+I.1S M$014\8HB9-J]FEJK40QK#KNBTIR@IH_&VE_7JSVWJI5P?:QF.JGD;8=&C$T_ M'JO#KK7E'5GMJ/,.0S232UK3QW 1X!52??T'IUFH8@.F]WU.CE(+VNPZ1%D M59CT:+J:)7.JIY++(7]7 IW;B4 <09:BE ;&(--V^<'B5N07ZXD_GD!%<019 MO9(-/#7;[_)*MT(+ZB3M-ONPZ1%DZ3.GR]^!P4S-]Q8#W@0#Y<&TD.TQO8):XO&LD5IDQ4IN*1!'," M/2?9 M[2QK/.?T\+Y[E\F+)3B (]R"PL.93OX/GUQ4J4[!JSA@B"S9]A*Q;O)*6!#EK M\:5BT>CEVUR6'"\%\@@&IHOF@'/734?E)L5RWDGD@2Y $W $ S6KSRQ6;,UB M2U1CWL=G2U/.PJ9',)!6<=NT (I>=/ M #\X7SF=NB93SQV,O!?^[O5OPC[1^25;/VK[.;BRZ"9,9J#S!5_,(^Q5,W9- MQ1'TZST7G#FE<-R%W!Z$_*;$U>;?KSK6^LG2QPLG5,>,^#Q&Q!(1!49DK\E8 M(J+ B%@U18<1L6J* B-BU71:1KQ\>\K;O-;/FW7F#;,^JQ+^\)0SSQ5!7Y&9 M#^L-C_^]2\9OYP^C(424?WX1O]Y+"_PZ0T6:&'O'NI+)JR<($0/A^P-A>V+P MLUB(U=_7H_[-MX,=$N'=*U].+0N;W-.V[F6ML*!*BFT7H4185M#IUY>B)&.X M1 $NY"GTZ/UZK9O_2!( X_$GJ];G)LEP'(NN$3JA5'S!?,]UZ^('(^GH4>+0 M7_KP-,,X-7K3_!*&QY2(H?_UTSSC#;-?&R3LUDB'5Q#GT1T':.%A<-D!6DB_ M$+5PF>V%>'>1D--/G>3_.9G+%H_S\ ^!*X@6&G-+:S2O2X^:"XDL/:[8%YD?@5W?\!7!D\Q MCM :"R1:*H$B%B&;G@!SX7 =-0%&9(OIW697E? M_/-+6;DWAJ?+IKOY_1=FB#JDA^]EQK&S8NV[4-"]D7- M ]#KARR!3\&>-VL4W%&E9P O?\L30S53,_1**3E>"I1 HGO#86!U2(7+B;)B M.8SE\&DY3!(;020%>L[?]BW 5-7275:8V91>* ^7GRZ(&3H/YH/VJHGGFW=. M+E%6[4H3"2+]ZU\Z33PCB!<8OSZP^ET@ 4BID8:.DD 7.: CK]%586AUOA/< MJR:;WL@=>QHZ="Q8[H[:_)_+TM',=DI%TRYLYL-LIG-/@H?8:$+@"#-UI4 - M5;993Z^7!K7:7%]7EQ 9=/81,C#1#2^(PW:)XR!'-K)__XM!Y(MDSI*MB?R[F'.Z'*CR4C8PJ^>][>*$;^; M^[IG 9K S8<7\1ZQD@G*\$N#8LKEN0X@*. OALV[I9!"[FH:OR+)Y/D\UJ\& M<"RXL>!&SSJ_5G*+L\RMRX\2'NX1=[.UP*5N9:\#)1?ZMZGT%44]ML@7F\6J M&.B$"!-MF@W\V3AHCFS0?&+E\OTUR=E<@*W0^%"-'-$?@SLB3V8K5)5M=0M< MMUG-5J=C1J"1Y:?IJR1.Q[FJ6.R^K=B=SX"_('<+AJAK\KQNXK773M 17'% $0<4/SZ@.+D;H /I9B-L%:.] M$;7C*HGN%O*5I-ENLJ7"L)B?XU6VEIT(:>0*I*X(\CF-%(ML++(_5&1/[T*\ M069%8ZIF.@UBA<\E>51:4$F)D1@HLRC\OZ)2Z>\3_;=M8(F*'-SJ:VQOSMD< M;AZF1]!AUB!>T_)&%?1U:X[/KX^^>&Y?KYS.EE;82",;"B-CR,')O4P@@$]G M*].=XFK55"H\+[:E]2Q;5I8ZN10RP;*8JQ0J!\;)AEB88V'^Y&3%^Z1YVJXR MV5E[SO(#+=.YXSS+'TR1---(F@GZ],Y'-%(8VW/=G]LJTC/1!:4/'9/+WCCR MPGZJ#^R@.G$,]=6JXI-CK*^>[M=KQO.M+7M!!7+$2DS-;VT%IY7$2*ZTC169 MG A9Y- DJ=15ZISUDTBI@%CB8XG_%K[02R*/4TJ9Z-.U.2XF_'FY(.7$J3Y*DKNAGHYB+2[J$U\I=!3?@A!?*H>U#P?V'\2*,N!K\K93*&;,EH1BU MD1#!\(K=BM#QK"XUFZ6]9<72<+'9$(L5M5$OH//(\<"M2!-7>/:Y95VQ(,:" M>-F">,Y,QYLD\?;.J($9QAB88V%]?-\B&>DM<3D]&DOIQ'L(%D'1+:7J$OYX)H8^A72>F') M@8H!.3-1T%T+88$C3@C$<FKR4X23 )5]^O?%'V5)>.C16)Y_+[R>,[M&N\2R/+=?%09%=84 MSCELEFLH7?&."002+<#,7-'?=A%$Z *T+&"++MK)H0'1 :=>@?G5?OA/C3\^ M?]X_.% YFY.Q$\XZDLTNFEUKS#NAACNBS'K+7HU.M3V=)>;+-9UENJ0F3=!M ME,&I95=X,A.G&F)1CT4]@O[+6V6](I:G5&D&*-4?+MI.O4;K:8U!LHX6;Q)7 M!/F-5C$$JUDQS30F"1?8>KQ/)%Y:'B\M_R0?Y'XA>=,TI"=75>74/M5CVU9? M!;E)XZYBCGJ6%UQOC98\7-'9,[H>L?S&\GOA\GM&Q^*5 KRZZ_%\U^@0;,GI MX;-FFC46V4" H4-!7*6IT_L3T4B$O'XW2+P+Y.>N"3_=*=(1G.G7Z[\S;P Y MHN^64DWJUH ,5"57J.=$1YE/QA,A&9R9266S5UD\/C0S%O-8S"_#S7E2SH>. MYZJM"6?R"7.]&-AW'>:VVT%R3B,YIZ]H^CDYCWJFY"7/I5YA8+LN87)\>^<#9HD^.F\Z]E$OO*)W5A_T^_N8YPLE-X+6#N7LZ1W&D\2B MW5_EU2)/K+*.GQ/Y)5^&H65X$B/UPK%NL=3&4OOSI/:,D>%KQ989TUJC<9O+ MXG.#&W5&R6217C!(;%&D2%^EB.?. HEZH/CP1M'-R4:6:0=,-,>8^6 MH#F" MPQ;1K[&+'ED7_:N6_WQ_C?1)R_KJBABR[&G%)-#+.3OM2"ZO6[UVNS$F&_T: M5$R9\&1G/'G&'83?',RQQ'XCB?VLU7FO$%DMU4H 5VGU\5+52XTG:6.6$I=( M9(.#G7'ZN7T^WR(G87M QK0-I13@W,01SH5'.-]Z4_-7\37&WLW@[6CE\R19_56\G9RB%]7;UEX!B#2PBODN>\?3@6 MR%@@OUW8^6&)]%>3!3N<-DNJDLUVM5)2!YP72"2ZGO"*I)_;C7')X>?&(VC; MYEAQ,6<*:6=, G]@9!I>O+$]]MDC[+-?J@.Q5VE#*BN').TY[91M]>;VHJS= MJ71%5&K3:FV WT'ME SWBE&I,QZ.^]4 C@4W%MSH.!IOE5PGW1:3N388LYQ< MJBIXKW#@1K8.["?=2V7'P$F]N?L;&\_J]T#VM ME,@$IW=K::+*SL&ZTZ>7W9)47PI$<*A>$AVV'U]+&(MP+,)?M/?\53+,E7BY MS)7!G3H8]:5.FKZ;#%,3),/HG'[\BJ:^:\&]%_WB;5^'ZR M"_9K7J4.W56N7:/H>4>=M]<4._/PEN%W!"(XR2^=O4I2\;6$L=C'8G]!OM"K MY+Y1NC-+O6%64@,!3 6P.]KTU\G@=UU3S5S8B^ESBG* M((O=:B6-5F,$1^LEJ?05]6R&\I*S&\=O&;C?67@%OW&<76H#DMVS3UMCB:.9 MGS+O'UP9_NR]BL^>)#KX_^R]:7/B2M8M_/WY%8IZWG[O.1%0K0D)JON>" %B MGD%,7Q1"2H20D$ #TZ^_F1+8V%"VJPK,X.PX7>7"B93#7BO7WIFYG<0TXR@#:D8J@CUK M%!;M(3=9(;RCS,')&$<^4-Z$+!@#V!$:')79'-C>*16SRZF ?2CL0ST*XUQ, M8.SQE#F 4T;Q)B-(/YK@NHJM W2]N_=\Z-I2/,\8&T![DY4\>E9J,4 HF\'" M&RS!N%6NS2 K<6%^WQB5O* (P8#%@'U8B7 QQ I],EGJ,>N%M-&SZ:W"+ZG2 M1$>(#3>7)JGSRXA;"I(\*0O#AMH"H(.K3UL]-M@_NG/_".]_OP,14@R1UU'6 M!XNUM9/7KWE;$#A2TZR*=6I;G,?KLLEWFS+-[_:<)EF;)J<@F'G77Q\?/M."S+%]\4SN^<.T^Y/,9H8?+G"%><70.,"W UN%O4/\ MY0% U!P?$*F_L4>&EY/Q98K8YKZ.S=VSS_K,[G ^1HDC42+IM^?IK+$T-!#. MTM$79,EVM6J'6_!F;]I-^6NID.+7?RS,B[7K:,V MM'U'-6M.0W&[BA6 IWF;C.;MFN*Z\D0?IN)*JUJ6ZHW2FE<6_9F\6,%>OEBS M?TFC7*S=)+NHF 5CS)J*,RDN-H7L0-.$;__8S@F=\NH#8JZXQ!(]^CWS>))Q MNUZBU0JS,>JII5A?M-<=)M\T0'IU;N-X6\D=]%$[K)40^!/'A<#03O:4:0GI MHCG5VV0\+X!9FYTNQJ+^GH7\?LO_R#[.V_2Z/IVTV4(O(?;<;942*J-I+M?\ M]@^?B$%_ OW_ \:B/+TC]F*24QW+<7_\[W@<^B;((]A-;?=O447/"W[2I7)? M]GR'D662[K)JI\IW"HL)[%*:AMV9BK$G3K?OJ)@PPJ<2BO_?D?OO?ZJ*JTZB MV8>A8M$/J'6A(G\$VWRC$]>*4UK%G;E!!LT*1RM#9SVL04C25"R98&(L?[SS M!'8;D04JF(V >]QK# Z\X(TI=[0QY<4H(TT0-];Q:(A_%,*_Y.UBXSGTPBV* ML[6@C2J;*>4/]9-Q^=^M3.Z/E8<1A MQ-T*XH)VKS-<9X2:"7(5K[\8V;VV?I.(N[-XHP!?AB9QQ8*>AZ'%#3NN*G/# M5RPDP)70JEJ".20#O9L6P_3,"$%[K KAI@]08+]3*$DS4N*9V9F)2V5*DJM01'ZYU%Z:>B@DPS.O81Q MCW%_1QKH0\#G::?-T\U<69S--YJ_9DIDGS\AT(-C:AYBJV//J;&DXEZ3>HBNM12K9 MMWJ0J:+/X21C)%\O3P&'X6R-YVZ0XLK3,1 \D9BRQ&4M:8C*',( MRER,X]Z"YM3_A';]W1 M'DG^ZR(HWXW>KIE(?#XIT:C-B8-*AW_^SV'=GSVE^.Y0XXZH#AHUB?J(#CE+ M!_&1"Q0SKHSA>W\HUDK9>+M&)I/?:79/@C^>R YU Y'XGDS^BWC^$77&44_. ME'7\H+]V#!FWP-C_$7UK_U%(;OO/'"_&@^,[\!TTA M#KS(F+R""_,\ O]5B(F+"/)_._7,*2-\_U1$!U$0PE(&\2V$R)-!*A\QRI>] M>JJ[E) Q93H%<9WB.)FFX1\LX!+R2!TE9)8;JVJ29D<\27^+WOH9/'0,X+>\ MJJJR61H6["?1AM\ \'V0FC(12^U6L(NV^CUVKZ==IDG( !VD]LJ/"W?QDV MG#J.25MZ!5['"]=IM;06_SJ&1%[,DJ.UI9$IUS"WJQ/U[X MJR8LF7A=9EO7UF:(TT<)05"915)1$LR,8@@TH>O5W=UC?44E/'Y )4QQI=7FTS MBY6<.'Z[XL8%O\]O1#,O#2;FFS!V7=&3)KO*L/C#K/:-(.9EZ$"_J M,G]<4IS-J^8@09?%-J_,K.&,UT3X]N1Q27U0FK6V.7,A*O55J5)>M"E'7\FI MXY(SMMO,NETR)W&J*K6U4:'+&TV9(H^+%MCQ:E,H:YK(#7TV&&]LPPU@4>JX MJ%09Q1.\6:&D,FD.Q2='!5=9-0F&XA!W\RTB@SC)IK4RH*&QQP7 M'7:7JDUE!4"V^PN1:;2: A %5/1H2)=D7I12%6-.<@FI8S57646&0TJ=L*C^ M,+FFA([;-N,+@=WH1]SDE%')%\HNQ0FHZ%%=QR+7 M"))N4Y&41JJQEN,L[S1A9YTPEO:@(Z]::GE$]L:#1-P?):=\*BQZ5 '+* S$ MY7:Q$=L*UE0!;3A4K=2<;)H!MY:70RY8"@58UQ.6-1AO\\LI M;2CB0E@::W/6]!9K'?JFIXQP5%8FRY4@YNE6PBO873*A"S+];%FA%_@DFR,_ M'TIF2YE[X,?^AT-:1D)S)YV1 E,CY?92U![$ 7:2]MAE\-W]6W=/HR(*_U@@ MG$M]9]FWHDH'FO'@^0Y\YMAR5GNRW_\[CD(>/R(/ "7R>5=\[^:0\,7[HLH( M:I3 !Q?6X:?GN;#@QR>T \?ICR-?_)LK$G@@\$!\L8' (W$K(X$' @\$'@C, M39<;B5_

[83?7C'9]0KTDM"'__=;XMM'3(!. M?N=3%^V/Y >ZX\U]/!,7 *(*?S'Q"-'6@$:\W-6#C1X;_6\9_16W*_XI*$YE M]WPD5/RI0=PH3/YTV ]SBK_,+S[Z"2#H]P#QT[Y@OB>HN\8(VNEVMOV?V# > MRC"8(IUIMMI^>N<9/L5T?")D\"UQ_8.<[#UV1;4N>6X#5GLR8Q1T^(2U1S_2?Z4); #D'.=&=HVA-K0 M,_Q))O#@T !77*M6@/I7\#P _],ZROK4J=5>MS1I9#*TJ&CI+E-)%]J=-%KN M9K[]0W%4C.8NE!CI^O:!08]!?W[0,X>@AW]7_=DXQRI9<@/MQI&K!FCTA2N# MOEV@7'?:M]LB,(#04TV-]6=H/PH'0<_2,8Y-G.^LUC7\NXSCA7N3SZM1[O/, MY!7J?@46_?0XT]6)YK+J B&H/M[1S0D*42?S=*XZJ:6E>F) %^;];G;N"')X MSIMBR1C#<)?3#1B(&(BW \3+SOCO 9$7IK6@8I_Z[#$)P$:#/+T$^UN($8'U#0P!JX+T +7; YL+^RU^W07L*N#79TKZHCL M#DF9 R )K@O))SSFB@*=15M#%UP'X:4T3X7$-?KQE'<$MASKS;IMF@2;@3D# MU:# MPV&.CS?GV@DB;X/Q;K!C;HDD+RMO0GRW(WCG(W +MB:\@/;/^5 T0:>3,.8; MJ9Z)-XI:ES.]ABXGD9+A8_R#;=/ [(#9X=;8X;(2ZL_8H9G,DYF*+(W('B,F MLG1W-"L$ F0'J):X6(I[:S'V#@(P;VZJC7(=$6/7F1'.'$2#YMW+_NM?;.Q/ M-E??3^/.DJ,/>W\W)6PBT-EZA,2*XYV*$8\9JM)?+EQ;['6&98:LRXHP02F# M0@'#,1=*NHM#,?<@/;X2&"^L(SX$1M:0BZUR65B*[1E)RKGVNLNG=0A&E#@W MQO%OQ47O,[I21)N]@>?O@R?8.\+>T0-[1_^YP&5KGZLJ]H#]N=,SR-6%A.26 M;(D&<\]PVJ.5NURAU(+AZ@Z3./9ZSG-3(H8]AOW7A?UE];<(GCW2:_?]'B-:(=NX#&",!. X2OK/$9%NP*/:0K M=&D%L?> ]N?E##N _5E_"A*F0XA%Y3H(9^+:=Q5([X:MN)NB#V9>S;%1"UPG MC,SNV>D$+2VV@X5;$:B52 ND[M%BKMX'*Y2]&-TK%*/YM\[4W1,R,*HQJJ\J M$#X3U>6@(U+;="5.EH4^F \!*/:R D)UM ^%HA\P4A+*#Z@[<*P$.TU?P&EZ M2-D#B6_G0J6!#<;&*7(;!;VL4XL+0 K*Y61\+LZ7G5(DP^)-)9@* M,!7(>.#:=Z=>+-_1M1MV2W1V664#D?KFJG;1 MHQB#&(+XC3?(>B%LK<=VR:Z(H MY8P9BK+]I^K+GX--!=MAK;\0?L^#Y=N;3B M&>IC*JLOI"AQ.OQ=+"F+UN^2H;%<+0TII(CQ&<_KC[;'_ MJHH&XW5^KW7?>\#MP2M^,X/?"?P&-4&"U%1U$BZL>X02^AW:B MH:KA%:H[:S5>H<(KK=B.OX@=WZ<+A5=:'Z'=YSN&^0CK-$];]W.L9*_$-/9BSTATGJU8#8";GT\^K/B^]GJS6C2 M)P?IS7(AEMLE+B]*>E\?ZK"F*/)*DS$VF8BE'OG^/XQSC//SX/R78[>?B7,A MOZQ75X6U(-*@/5VM)'O4**X0SKD0YPR5B#'W?BT@7JN]]4:>FW6^&,5<0TKL M0'7$-"=(IM +%W#MJ) ;LW6F" M7P"L/AMYTS)K=\C\HDF/)HU$O&<("+"1*N#95"S%OJL*_NTK(PO<#,C.;DDJ M0/GHHD\,&[[7_T$E7]0TM"J*?C*MS@00BHHRERCV!O8]83L^?#L<$0(VQX"/ MT]%5@G/%]0EG3/@3X $BXZ!G>T!#/X49>!04QL\9MF*K!BP.+=(/[V_TOI^Q MH1<(2VK&\I__PC_V#U(MH+B((B:[MST=[$=OW1$$2?[K(CRP&[U=,VGVF0-V M@\4=5#K\\W\.Z_[LV,15!\ZV/_89" X:-8GZB Y930?QD0L4,ZZ,X7M_*-9* MV7B[1B:3WVEVG]W@QU,6 ]0-1.)[,ODOXOE'U!E'/3E3UO&#_MIQ:-P"8_]' M]*W]1R'][3]S/ ,!]X<+K/#B*O3L%T\-!\5WYC]H"K'D1<;D%5R8YQ'XKT), M7,2?_]NI9TX98?@SI"#(C-9_#LUR]Q%$'*(@A"64@!)!Y,D@E8\8Y/=5= M2DB:,I=*< D69FDZ93,+Z[*^J$C.)-;1T&!@:XBP.4_-O$Y+C!,F;_CP 2K\[5^&#:<))_#@ MV'A_PQGY=FL:V$J@01FH/5=S!QXFE0!C$H*'8B%NV/&8E1558V6&32D)E54T M%F@[8U+V&J6[E'U/H5U*!(;4;!:[V5[1$9"\>ETR-5YX;$[N)7TDAAT+MJ&0]5_)7Z7EO97(+W:<'W-P3 MBZADXG5)0^'J3G>QTDU#6SFN C:0%IHR)(K7)1NEQBP][+;;Y"P-U'Y3S.KY MNB GCDO:_7&%G[+#M1B?5(?Q=J7I<(,5+'E4S]50I5?]K6B0B[[;R>MS=>0/ MF[#D43U7G4X[6]RF-J(BD(*4<89\BFK*W/';.2=A\!D]724WZSB5&=6;M:F$ M[FH_*IEHSJJ%H+.>B.U6BVPZ.2M:;3MP2*CTOU?JVP=02S6_+1 M/4=')4UQ6 /)N3H1ZZV^:BEK2O#)\%:!HZ*9;C*?&DV%&JF8,Y%E1Y)$)L*< MP$=%]0Y97Z?'V[[95D>%CM%42@X99M@\*MK),2MZR+9TJ6Q49_.AKB1&T)N% M7'\\HL.:8[22Y0:YZ):2Z2V7M5-Q'5KY<=&6F>EDIDIM1/;*EI:O31>FX<&Z MGAC]P:*7J78:FT!LIW)U;;*N:*55>++BJ&BZP&?3EC)9B76F-9W20\:MH*S( M)\9*:;ANG9\6@3@;=1H=REIWIU/8 R<&:Y";"]-Q/5X@E46>K*:5WF#,P*(G M1DMN9(;^T&0J$MU?9H/4)F67UV%\\:BHM+8SDWEB[8EQREZTC4YOH+@KY'0< MVW]E["7FS;@M9FB?[6Z'356@(*)/C!8HYF;]OM]RQ#J?LWF':5@=$18],5IM M7K D0#*576L3;L%DG1FO+=F5A#FJ4V.X!=]PH6+ER%3[UQ&A5XYEM M9E "KMG>.IONR.#CM-R4Z1.C9^#$:/F6(N8* ML\1P7RM3;J@CC_:H:++9R%&C M+$V;1IFM#=E)NS2 *&!.C%8IW57XL5IOBYP9M&4INQ@D!K#HB=&:]CM=HZH; MFL@-?'(Z;S/-10,6/3%:UF@X:TM.JT0N F^YM7NCN)Q9RK(# <.<&*WX--DW-:]ED?&&N67[8U[C.F%1[G71H>+VXD4CR(H* M*V7$0G$E)%NPKB<&MM%J^9[@FQESTUW/V<$PT9JF8%U/#*SBEC4IWRL6R"#1 MZ#7]EK55 OC4$P,+^2'5E?06([53I")O)Q,WF=1E]L3 LDPQ-W83=%5<;#-, MLQLOIC-"6/1H M:^SW(&>Q)R;LIMX:%$H-B2>Y>;_D>=W$LMX.BQ[5=3ODFQ1)93KFAN+5)?!6 M2MT79/:$9?4T4Z@MQ]6R5'?'<<9;E/.VND)%CRI@M;M*M2XWBJ)AC8="=C22 M>DL=%3VJ@-0--'*>+L#1XBI5:<2KZ4FNB8H>65;!S2UJ/,<*IC)ENZ5Y,3[H M]N%33YAVLR5LD\9TPY+Y%"^7[%4Q:P=-5/18W10:P\"@DW6I;O66&DT6XG9< M0$6/ZLJ*X_2<7=4TLBTQ=+7>UV2A"2MP C I,*B3*;M6$S>CE;=*V)UIJ[I" M18\JD)RHFZ4.[!ZI;%8I$;)65NV&19G71;-R.ZX,QRG%7"S'VU:>)&FN'%9@ M7]H1I[C2Z?Z(%*Y#Y#GSF&'HM^TC,_M]Q%'3]$44@H [5 MWG7^=Z&8\,7[HLH(>DN!#RX!7YW4[XTQ,]T%U%'_[?;XEO'S$!.O$]R5^T/Y(?Z(ZWEN(Z$Q< H@I_,?$( MT=: 1ISM\-;;['/7IH"I %/!;U'!%>_T^E.JJ"JN.HEV(S!4[,P'/3%7W"A7 M7.L,[(7)XT_!<'A*],V3ST\T0;]'$S_M"_H[1=\U=C"FP8CV08S+U, M(9]C&+\W65S[U.+;N_V$=H'(5>J]-I%KU:M$O2&VA$ZQEB>$3*?8+7:*8ONL M['#=,X\?DQ97FE&O;B@WT!%1?!(;R2T9">X:C)_',!+Z/KHF_&KJT5W;IQ-% M7/C\YQNL[\$3N8VCK9_>R+/D*7YO#?)V3[7>YHW2#=<9&_Y/;J)E'*E<&E43 M [%7&6XKHV&W6[!U.7'AVZ0Q_##\;@9^E[T+^DWXZ6X@%GO+:4U:K.AZN;BQ MYUX'G5OZP#W0MQMN^7"0.O6+"UIW&&%Y)6,$;1IX?G10TG<(%T##5 T+$/:3 MOD&?HW^IZ!#EW'50$GR-&&V(OP)T[-*P_R:<.4 F;.L$LHJEX1O ^_&8CM(7 M ME9)*:BOT+7X%0<]%H'\KXS".1MUC-$JP+&>EV"I !D5H3C#RQX$5YD@.PF2M MV&N\T48^4( *<>Q?=ZVL&FB%U8.O@QR;W8%(V&$(\BQL-'S@*<)=IEJI0A9T MI04U"+Q69]ESY96<"E76\84,?]^GJ7X)/.)0U=U+I7=0_!J\W("J#Q=49RV! MM#C?;/I^B;I>DDP;*Y]0J!'T6X+KA1^J8@\'7"6VW?4N^BGEAK_-F&XEC M7;>FM] BPQY%A[YRS;'1O>0G6#:M^D%SMF)'9&]CK&:DRQ1 (;R6&&5!.K&9 MZSY-]4O@\2N&NNY7(+V/U9\Z0Q;OUCK#+-L60LRG/B2^Q8WFSC<31 MK%O34_LEA!!.D&P1F(IAGMAGMOVICYR9].:"PCE-$=#EG!JE0Q\Y3._- MI7!<"S<20_C35@%_"\*]A*8,,ZJ_(>G!9)PVK=DBL] 1A*%R2EXJE0L.WV\@'"EY\QHK^9>,5T,%Q44PX"Z*_B_8>3*TG M+)UP=P)I(HILVS/(\K+'&YZIZP6PDJDP!SA%QY(\B5,KX49^>?!>-E+QF^"M MK93"6%N66N*L)$K5V;">YY4F F^X)2=&<\=+NGA7SKT&+%[E5C+ ^19V;DKN M8O_M0?RW!UL1.B;I RB^%5(F!=/K%P-Q2M)<;6"36MZBZH),[1*$IVB<(/SA MD(TWWCSBBM)O4T GN1W0@?92:\,XEG4MG=9Q M' LM)ADV2@J@N\##&W%NMY$/%,MZ$-D5Y:Y[S;<[5!7MANN@='9OD6[3D.AN M-9N4R876+M/;=LEV$I!TPY3A-'W![\ 70)[:V M2)A*;S1U2A(=[F-7 =0'*G11N MP\$NX9VW^[(^XP*UCF,[@@V%,22B,\IDCXRAKO[KK[=C]V MX.OAM=8>E-'1X0Z"Y%N\79LNVUEN+DVEP*AL1O(D%_1S@DS3^QM<+GC\_]J6 M_E41CL-?7R/\]8M4H#E#/Z'HJ:ZTJ.M"9]VM2]O9"E$!E' LB^_.>[1H5_TI M=4"4*M,9P4J&%HOW?.%&?C7G^K.%VA/ZPJ1XE5W&CLV;-[NL!YRZEH0<&;?C M@: F1"W/0['&[,0:?;&;'KZ D7^)1GX))'^VSOH-)*>[?*E@L:6X23-\Q^@& MC-H?-A&2HTR7Y'&F2QPNN_-PF:"J;@!>)&?"+N7YVSUR7 VX\>C[/ZCYFO < MR]"(_R7#_SU<,.W:[?UBLFV'XLHSB-_B^=&*&_G*;-YJ(.\(E M58J\9)J,FV*/+Q"2B_)ZUH!/A'G0YZZS-#0H%D<;XJ_ "]=8_S[,]0G'>WE> M"?GH)!A-#K6B9Y2D0(#S!\]0!3S8Y MH5HNZ8I!<99F&I-*<9U9R728;ITB8QP^XXE1?IG--1PCGT&Y6DL77#MY]= \]<_3BF2N X !K:FGPEQFA72!R ME7JO3>1:]2I1K'7%=J=8RQ-"IE/L%CM%L?W??X\>=%?)48=\I>TU;YG%?C8X MS\#?XK::C_7 >?OA-L8= P #X&H N.V8S1_!XAO M8L3<4E!R"%LCP"(PYNB*.^S4W6PC'^ATX?TOPC6437@C9,<15(@=%S1VJ&H@ M3 FV)NX1=<(78]>DTEU7[969*:WB:KJD\;X+?;$P53P=X_F+1=$Q,!^CD5\" MP9<-J_P1@E.K5;"6RY9CTH&^4.EB)^W,!83@+SQ-1-J6B\;P)OI7K$!;0]P',0WVT([_KX5V8$>J9,-F9E6Q3I M9F9;:-D]AG'@C!"EIBL02^*_+N@W^_NI4J5ZP)M0S>2H5WDGR!G238 M%'!'8$S@W55X=]6II<&18IN$"Y:.M41Q'-4%FN$3MN/C2,X--_*!=E<]\+I< MQ;"!5Q]G0DR=<,V8OF#1X[0R,C>UP;2EYV@[4UZAFJ%5."H58Q*7RAF(4?D8 MC?QZ\/V\!;'WX+M.KD ID 8E,@#9?CH7WV1:5A/5C(O@RY^XN!"'5NXKM/): M/.WVX1'0L#]#.MV49OY"/N)CYW"__]6O%ICOD%@?O\?3N:132<_$WD*,>_ZZ M-2TR@^P8RJPH0SO-QTCZ8LD";\"4ORJ$;VE'TX-C_;*:[%>P7DT-YUR\QR9( M>D2"ICH,ID8IQ'ITX6",X2YYC\Y-V?R7V9?T;"!HDWMTF;3EV'K9HLBM^J.,6*[%S?:.4MVVG-I'BUO 4GR@=9R.LNXA M1#H6ZLFT#+.; YL+ZS=J;7"C93S!OGFQ&RG>]0R$,N\YC1E)LR# MSB5Q'O3'0S<.8#V(3CLC#1B2I"4MRW*DO%/H5.NJ.FPA'1>F-.>XX^T".+9U MW[&MPP7'L6$KM@JBRP;Q]JS;;22.:=V0",M%J FO%FNXAJT:<\7:P^H$Q4ZH M>H\I.I6BE$EW!N;074['5:BT$C_+C8 #6[B17PVREQ5,OPI954]5EW.^4B S M0=]*LY5DUQKH"+)0%:5P<.O1@ELOM[#[$T" -7!5(TH9ZOF.:A+._+SW,-^4 M_,6):W!6JT??/=]&,*Y'*!9W\-9.Z;4VN5RETJ6-E"\WAV)34S(>"?4:A_0: MPU[P*AA,"3<#D6OWRV-P!^H7BCX+F>*0T?73-)V^ R^*(N&D37_ ?[=$=CBE MRQWIFY^D=,GM(?FQE"Y,R'-;ZQ,8C ML:;M[K=&*35#X8;RLH<_H.3L2V@7MH\#6??>;KQ9Z[:U&6)J]'_Q&7,MX/FN MH?I 0[\0;.WE!P92 MC%=R7:ZY"?K#D8#( 9UPQ/N_[CV8!Y^9^9D&)!2?& %8T$;A.W2A3VA9V+?' MOCWV[;\)GEP?RQ3]- =P"ZG?G0.A9.:'*7GJLK-L87 E@?C$]EG#FSN>8N4A ME<[A-^"_42,,.P!:'>(YG-1.Q0-&W,3)2OFR(0+@]H8=KMLJ)2#QAZG:.9[& MF<(P+6!:>)<6:-E>T"8W[.:S$MV1-ME63[4&Z>E]B0@ M@\*FL-CFFX@6N#"[#0X2WG^0\$U!".#G3U*0>!B/^(8B 2_9DX'LJ3G!R +7 MF1O^OT_ M7+2JA=P@NPTF\97,DF%8D6+Q1CG,)9A++L,EC.P/O$E!JV3GYDRHYR6[G^^H MX&Y59Y55'* R=I<6\(OJ_L"O>5W<*X8P!@ %P- +?M:O\1'&[=]WYUGB]<_9DK1I3$ MT[!]X (/IS2_W4:>,:KZR!'2S]W>7=SAI@&!5 .GW1B[7HFSU6[(ETL^C/ MXB$(PPM<+K7+#0<];D+UI2,OLA8ME 29#;..7W#'\;4M&"/WX9&+OC"QPNQO0SHXO%:!%Q.@3PX;O M]7]0R>>J4_2!^(G:T9D 0E%59P8KM4&99<[_L9&WJ!'8":L?SGO_"/ M_8-4"R@N0LID][:G$WKHK7LF)?]U$7;$:X7=M% M]T$:2X">_>*IX:#XSOP'3:&YXR)C\LI58)Y'X+\*,7'1Q/*_G7KF)%FAGR&O MPAG#>K$3;_<11!SB)(0E-"=$V4MW!JE\Q"A?]NJI[KI5L"GA]"8S2HI,)'D@ MTQ1(R"Q-C>3DB![+6B*94)(:PVGD^%O4&Y_!C\=M?6L_:579+ T+CI]HPV\ M^#Y(F9F(/6/1-M.BK7X/$U*T@Y%G:(;BAI<(C X[ 9TW]33--O8G M-/],[LB*P^M9T6VMP/5"?X/_#Q$U[ZG-UVF9<0*7*"ADJ/"W?QDVG,NX!E&4:#YR)R:XF4V.:9D M15,YF1DE4J,D0Z:HA+J#BK(7RO,Z6P_BA=Z2W'29=G_H^F.J(R"I_[JD-NH( M/F/Q*:D=U*>:6JCV6TQ3IH]+=H>MIBJ9FY:DL%93:W(Y?M(08,G$ZY*-1GQ6 M43H412J@D$MET@J?::)G)E^7+%5 H"^*K1H9-,8YL3-NVG.I"1V1H[>3&\^H MUTN+NM2NIMEBTF<]15G!DD=O7WI"HQJOK3PS,]9JG+Z(*\.J $L>O3V?3>:; M7*$BFOF$F.O.V/@RFT5OIZC711/MP:IH]N);$[0]:9 MU=H^"3T/F7Q=$BSD MCBD(@RY)2SS3\R;IK+@68,FC)E7%N#?5XT+7[/4Z4L9L)DJ=)"IYU*3Y=I3K MJ>)F8-+;=J8CS2?*@D)O/VK28K92D]TF635!T3425!Y,ZCT=ECQNTF;+&_VL M.%F2Y7ZQWEVV%7;"-N7$<9-*I66IV[#&-AEOI)PJD^UOVA5=#M=E7I8L.W*A MW7?DF90ABVJ7[8W[YG0EAS'B5QTZHX-&7K!:8IRW:K+L>%)YK,O<\=MS9D)< M9QJD(H%!:R8,DYS2*#1E[OB971:T"VX[SY)!D;=%LJLKM0EZ9NIUR4F#Z8R' M%;)!S.@R?_QV0)/*)LY1 M@5B>>?SV3"7(5261)'N+>FXY;'/CY4J0D\=O7U:Z57&RR&JF MP63\=+?1GUI+5/+H[8T**'KKJJJ*O>9P+A3(OE424 M"A+38!0(NIPZ?CODF&5G&Q\D1&Z\J@V 55+KM14L>63*=*]&F;V"EQ;!1$]T M\MUE)CD08,DC4YY)R7G1;H_;HJ*D\_U-85C9;IJPY)$I;UG!,,N,42/+VJ84 MB'$P;ZJHGL>FS*^XKN8NF(U4U]?MIKO.Z'I'AP6/:PJ*3)T3!XF6F.IYAMINN!)]Z@O.&3M?F*W5E*'%)BU[E%C-^ M8#=1T:,*0(+0#)V=LQ('UHV^1*ZEGKA"18\JT*B0FTJE0F7$8#E?;!8,Z%5H M'14][MABR5LQFPD_(\L2T_7FF1%8>;"R)W@OD>;524N?<":7X1I24%CV[:V. MBAZU2\YT:PDI3V_)Q:8[KTI..B$NPJ<>M6L Z'Q),01%S$O-^&SN9GJ%8(6* M'K/YE".C5:SPJ%]"8L>MRNY%0R!UU>F8H;CJH%2G_B=P58]@3Y M+>>&8T[2==^L+YE683K0 EH+BQZQGS3O#//"PJV:M"D#M<*;"%5I9AYR-3 $D9EMV8NNHZ%$%FM.V MU"[12T:DK017[$.7:J:&3SUB@7(IUQG%Y8IB;A2H+:B<0>9+< Q.4"#G"M4A MP_2F)K=:M!E0+M>+VQ4J>E0!/R74A\--H)+M15%IH6*'O7KT&ED9JLA MQ9*]GM'UQ6)JUA.:J.A1!1IV8KH.DL*4;+=<61WWU$:&AQ4X0815PVT6D[.^ M+BH%8SSI3U)6?QD6/;)MP0#3-A5GMV*[LF$W3%M;#XT5*GIDVQD^/9NW$YVM M2--U*RG[@TX-3AC4"2[,5!)]1:E:LEE/3LRU8+7+V7$3%7VR[3"D]Q3RB+(H MJ8YE*7,/_-C_<"AU49!@%_9 WK,:>=TO Q('HFN%]\#?/WB^ Y^)CK+O!?3^WW$4M_T116]6L!/>#9SL='GXXGU1 M902=NL '%XZA_#RH2_U"4/YD @_$30P$S^.!N(&!2+ZS:PH/Q*" P-7VM@<#4=#,# M@:GI)@8B^U.OD+K;YH5.W"F^7>[83?WB&XZQ75 ML="'__<;17W[S2YBV>]\XJKW324_T(5O)ET]V.OS?Z+=3J^V^CP 7/[44C!^ MWL0/_;OP00<8W@S*7!T> JP.FNP4"^'A?/?4??;AT+LSC=3WU&43+?RI9>P/ M?&"[^&R[>'.%Z>IVT0*^@DX-8;OX;+NXQ"#"\!: M0R]!+% M]N(G+?""Q[6Q-OL,;?:G-'*8Y?K-C-=G4V%W[,2@O ]QPX[O#ECN1>O/J/)D;;\2>\?O)T<*L([LH?E2K$RE(FGW9&'G& M8B*V0;G5&MC<(!M'!^Q02 M)K]HF?3$DK/BI-Z?+9N0"+AO_Z1B">J8!O[&/'!>'KB!K$R/R@.W+0OVRP-[ MKW/'!\M\MY,/3D7\(P7&J MUAI7:*9"ULM"TUPO>K.:C))K4#24]'0JEN+?PO =+!S5@$\8X;TM][#H*L]]"> M'&2;:EFN5'KKO\9&",NVB3.S ]L(!P\?@]D]]76[L\JF=Y>R2\UE@X8U6LVR=&M\22A#5G7^?W(O:!- \\/4W%W MG)^\.=S+&')+YH!:6NCV3P_:0!NX2T,%#3@FCM8"JJ/;X5.ZBA6 $_3<&&>+ MG7*FO#8!V:,'78$I=2>"S$5W%U()'B\#//ZN@'M@L9M?:CQW> /#XU96R3 \ M,#PP/.X:'E]MA?IS8P!7T*U+@W0F5:_,F!DYT;)%W>0:V@KJ5A16>$^XWL': M=QA#()PYJKE'@#5P50/%$VP0WML&9G#\-@ 0OK(F5H8_0;L%8(WP0CE>*'_@ MA7(<*3C<(53TO !HL!%P2"+B#-DR_%T]8@YQ3QPG*%3(47FG/E5[8KZ8[@L: MW\QR?73Q"W+]DPF\"H.W)WREA5N\/0&O-6(KQU:.K1ROJ%_5FSZ'MJN[@[97 M$4MI,5ZNM M)GA'R'-)VH7O\IKB[SS7W%O!\UU#1?;9>Z#JC(?<^S5V^=O// MF&SL)\OJ5TSD\ XC7G<=_=K]\LF'8N_/99X!]4,!RF<&"4D6=8\G@HZRK@'? MA\-V@F5-UABK$ZIG2V6_9C:Y>MV?UIMR$GG0"9I]K).TU]==IU?*KPW ZQ/3 MZ;6_:_?+UUH;O#XZ3B]Q7=L*,#HP.BZG5;'1_])Z][7[Y;:TZIG<]@OJRW+& MZP14O5.7%C6_T,XMLG5SB?0E\N+?$9AWL,;],B]=57'5R7%2.O9NEK2O+@'X MZ^;BO&CRN=MEKD_)-7$9#SL]Z!EN8NNN);!-!)O&V)$*]H735FC#CE=NT6Y1 MK,OKMI^N:-F.K,NI*!$=%Z-2=WS^[^H4P%PWE_=%$TW=+@5<0KS\&>Y_GGR. MG.5M?^1E S$@ XUGV8JQ:7U6\CEV-AE9S5Q6$1>U:KMAYZB%8B'P?T+RN^;_I-68VU_%X=GPZ^> MXW9>BOK=F^!8]CM_WU?!A8?7=[[R_XF6IB.7^1S7PUWY+,GC7;][/8S\Z36\ M-PR!YY5D?+GY9U]NSMVT9>S7&K%=?+9=7#;"]J=VL5]\PG;QV79QB]/KQX^L MONS01W9)OK+^NI%;JG?"ZXY]$[2Q+V[8\=W6/GR3^=EM)%)@=VPBH?N*[[B_ MB&5<=\_UG_;5?F,0MHU+V,9]![TZSM%T,\D"-=P%=WS4A+[G=! W MF"CG%BYH..,1E*^4/_;5#:?T68^=V&9IPB2%_(3DV/[,DY:EVEB[\+&3:; J MM@L;P)#!/+E<5 B%2="/E;?E%HG@!K+6/RH1W+8P^,F!E-1J/1#J8G4JE>5YN[054V96O/#6 M]GA0$N8S4O;(JZ77YK F_66 M]8E>K#::,I4(G<]8@K_C)$B8,^Z#,[[4E0VO.(.I^K-QCE6RY ;VJR-7#=#H M_[ZW^A[[W/5G26IO\R_B;D%@8!& MQC5& 6K8/2^R7YW(;F%)_88N7[@A_GJT+,U?=8'XAG*4WY!UW[*B__DZLP3\ M527.SY=2/*/T.\U"6^D,+W/IIKB[82@-;# V_ :<]4[H@/%DX5/MBMF2VGI# M;.G^J +8E4QQ:.T9R@"2?*@EI^L3R@TL,&%"^0K3Y>4O-7A\H_UJ:ZB?ZZ/^ M^>S5WRA&8NER&7)C3C,TU9+R3$M L]?.BWUS^KJ#Q=9&X*H3Q0-HF[B_4Q5$ M>)W@W2R^7GW*Q6G_[G\R??#QN_9*Z==8%+K$CN3[]!M?O"B<;P455LP%6L;Q M_"KP)\ZI.WS)!:TM\U4O(;99H1@$5-S9)'29XI&SR'''$6.<*_].%H2^!@'@ M60H;Z;LTM5')E-AS8\D=LVF-S6ECJK3CB[(&?NG>GE/EBEKEM>BP2_XFK ,(.F&-\93,9+C\/H/OC(>7XK]]=:/;FAU]-I6@-&! MT8&OC+^1U==K]\O-"MLS>_%7$*-@*LY+C6+?)6>MWFC>UH61MQ20&$41@/?4 MZ!TLYW[H?GD&+^W^4DS@EG@2WR]_[ELFS^NP5T?Y7+UOFZ*9IZO5&4]5RU9P MX7MF==$9=^)*5O;/G,OGI\F]1$\VI^GZ6)#BV\S,&BFU@,H+ M"/WI29^E#E3RH=/CG_QS6_3DL&U<=RW%_[(GIH%&3J(_HD*-T$!]!?6[&E3%\ M[P_%6BD;;T]YR>_TD][Y\41NJ!N(Q/=D\E_$\X^H,XYZ6 #W[Q5/#0?&=^0^:^LY=:$Q>P85Y'H'_ M*L3$193XOYUZYI01AC]#"H+49[VXY6OW$40/5QPX5T8_OA6SKPM6D+SA2[*6$D9[NUA& MC:%DQ/F*;(FI6:/2 MC*8NPPZ )OAOE)-1,>H; =^KS&&%?#< %T3U(2TT*C3.JNN\03S;Z*Q/+ ME5MGG$ ]"FD:*OSM7X8-9THG\."0> 18JP 2B#<))]49)&C?BQ%SX.X^@FU4 M=N.X@4#WPH$,D>7]#07-M5KY6BF\T^1@/XCGKO.1^;RJ(O=40V1543]2WXF0 M01#-S@\XY-Q=N>LXFOV>>%=E(2WE&C,B^!UKCU:F/LX#W@$/$']5Q4P,2;>G MTL0*Q @G<&-$ !\-#=& G:"X!*SAS/M[WV6P+A, #72B+ $Q L!&OX!*$'X. M#1RI1E<+5\Y6AC\)GX\^"Q#YZK"H 1LQM^#[=6 #*"*M#?H]A$+T?50>N2/P M7V$[PS8*X2RC$'_E!:'Q=]B4\.&&[4%^#C6]1T#*R,'9=#?49+P9EA.02V?M M#8!$3VL!/;#"@2?:\?YW @[#AH#3MP54GX 5(I3GY50">G_J! G?V+YVSMRP MT7?ADZ!%0+F$"L8(&ZAPOE+<#?)P"(48*X;[PLIV0AF^R0NL:.P<"'/@L_Z29S,.56N]Y5+X3 JQ[6' GW(E1M(89/=UW%=M3=IWU/'C M@J-L*[ON5Y],#A8[ITK_)6!DH".N&,C1B+Q%U!-A!SF.CSP10C,\U7*\ +:= MB"04-"-H65:@1>UX[DKO&2UOV2FRK(->49] " ? F1E^V,&=T,_Y,\AZ< :P M-/@6: C*OL^G@1VYY$^8V6$RW(O#_\<[&!B@G6X=ZJ#(3?,1/B$<=L;S/(D0 MP$;][H#=%]ZM9>?YJ;"++,M9P;=%+NQS1?:L M]@*Z?S;RNQD?C8H-\(((.!%8T0>2'M/0/J MCYKB0U#5Q_4G9FJ@+MDES(R\4?ODHW[VH\F&\$=I@/(PX?ON'@-,UPH="0+\/>9WM(('P>G MK !.(%X 7[^;W [*0]L.HJEC[#HS9'2A,4.6@4_0HCEXSR"H/#1-($?'L.)5A6^$_7 )50X:SL0%-YN8D6 A5,%[!L(;4A]1/0][["> M$Z L-_'PT3.@&<$LK@7^!CT:/BA$\!),D(+P8B$'[_7&[OY'93;_3ZA?/(CO M16#,(S$PAYSB>HB X-<4'3843OD!$A$S%'Y"#(G>Z""F/JS9=TA6@;UC/RK% M)L)BL([:(H #!G:35]6P5DI@ OB\'IP)8;4,&ZFW*$#W9" = SZ]&-H)'-;Y MW$+_AB,[@7" W0EV@G%WH"GJ232BCFO W\"F/[7HP!C@(_ZJB]6_#WH[G+3V M+]U+EST?0Q4$9^DYU%9P()[;>4C"N]'RB#T,/Q:GAO4)8WGR-F<5YSP4,K!' ME+G%M4%ZIK^S(>^#S/@"_6!-=$D@Z:6!6*5$-7 M;/23YZ'_YG,C1M0GAA,C&L"VO8VU5&Q#B1%= [$0^@F9UI/Y1 @"!SX$6,\1 MJ7@@PBU0)S9B&,*TG55\XJR05(9_!J')0(J)R 8.N>L$^H0 $':;/3E $]#@ M!Y8369.Z@8 B_GKV *+"+V@P[@$U;JSC4:#V1R'\2YY4@2$&0:E)TJ5)-^=G M^,2L*9QD_3/,-6\%[& [ 7B:-\*_4$?\_N3LN;[<4FP=A$NDZ%]596W,@MG^ M )/L3MK9Q;@MT=V<*KJ-\GB8T%_8).JS'UK@KJ"TA4[!H5$VHH%H'8Y#!@U# MM./SP"[73I4J=C.,)&58?;"H5FNL6FU^^V>,\!N&(O;VN6OD/Z&D<0X)^.^K MN0[(BC_('Q[042_(+BV7EH69F3)GQ7$WF&[H+>LU+TP?X5!!"GDU5$\Y@7<< MLI,HMMZ.*GN:2LCI;#CLFHVVF%\%>;JR=DOM!!PR2.G'7.+L'TGL.@!6"PX< M\K3M'5[1+V< "JT7$\-$\<,))O!V+A0QF5H5XZ:@UM6GA2]8T7HCZ2T3\3T_7:E!K1)K4VR^V.NV1JP[[!KXYCUJ?+ M731F?4[IW0(HOD@\]Q'QLI-N288?'F<8A_^#)8KVD_.\\YF16_CL[1VT;$\S M'I%VX%_$7SFAG?X;*GB40^UT06F.O$?B+Z$M_1T^/DZF8D^:Z.=QUI-5)8HS MI.UW+B6/ YH;X[6?.,HX5N?4BWL/Z9OPF> M)6/$[U;^N:X :L6/U3%%#^,1,U=2/8NM%,B7'B+WAR&_-"PN@ Y39"Q MGN-9S\]!WU8,[?#MD49^:I$''Q!F9HB(.'P"_"^,=8Q05#L&&^E'&G%7*4 @ MW8T&AD":47?<76CCK3I%#B% BFZW.?M%EZ"I_NE;T :@LSC;S0TS 'TRA8"> M"JI'N/"(>A!X:!/'=VA_3\^,8/.SIATWXR=U>3UV^TY4H$L"4!S7._SFX4A% M"P#1<(???CD:H?:U=\K7!3-G"7:AV[":H8'!H7VJG[J/5SYW!IHH;0>J=3@W MNN%L!SLU.SN MW4#F]T^>!3Y*_#7$ *^('U+Z$Z,_#1W_![SWBFBB(";:&A!II)T*_#,";V<( M.OD'Y+RO1%0Y^,B/5>$5G[UFZ!W'0JO<-_E)GQX@-W9 LD^>9L3MV@N$1]QP M&&_>/VV';>]M1MI/&/N0[_.S#UD "5D+UF8,5:[AJL$,FG&XX +)8+=R9$=\ M!@LH]C-CS*"&121>$3D%>GGGSSW^Y.UO#O.!T#X10Y[L0?KE7(_^O=][=%* MX3U:>(_6NWNTH(WO/+Y(X+RYHVGG]?WT6V_ZBA?J[U]RIEY+%F:WQNL^D>Y^ MC?LG$N<[(;[0*(ANX%>BU=HH#/%K$NA*(N??KT;PU">[G7@J2ZH,FU!E,J4Q M,DLG*#FIJ)Q,,CS-)$9):LR,7NS=ZZBRT6^F-F9>'YGUP4;LI.F>ET1WE;X MF52Z-'*R07\H;E)9,*07RXY66,&21\]7KHRQI#[35)+&")8_>KCNP'69EU9?H%3L._&F^.=8%.7'\ M3'JMV;6$5K%)CE$S8I$;%,>;ILP=EPRT6IE+-'Q:!/+$,@I.M]\?-&7^1#T] MTIZK/7]DTM/T5J=!R8^S@IP\+JGG"NEB)5^NF8OX:BR-!"_1:C3EU'')P:K8 M* ?#446LZTS3Z+J+16,-+80\+EI*,.*$;6U34M!MN_'B8%O4)&@BU''1>")3 M*S04M2#%F_6!6RQGY ZZII ^+JKF^.JRU8Q72:6693-2R_76Z&J3$U8R:RER M/=?IM$QZ,QWWMFG*-F58 >;XJ9EDJD@%&79@UI=&85N>TK5AO8EN^#XNJJ;B MXRG7!%)>C7?=M%F@XS,!W;%V5)2BLN-YMBLZ9*:;WT[E2L-.LDV4R/ZHZ'S5 M[XZ;E8)NUAVCN$J:V]&H$*9)/"K*#J=9*8UBL85"0L**UCPK3[7_4N\W?@ MH.U=[0I^X1$JZK%?J>]#M8&A'R$%F=^@7"8,BZ"T2VQW/ (CFR"HF?/W1W_" M1L7108S(A,L1YD:PZ8:+\@H846ELT!/DK:7+^&^]".\.W4,1A"_PZXI M+Q3J. K'O#S]$O8YA@JS)S=>DF\.1!ZRP^=&R(P@W;=,\7I/SSJ2NK2E;+(N M%^E>_^O=5$=T-A<$I?PZ>A04G0#3!!+QLL_*RS&M,+XQ6M57%ELL0 E/)9N# MY92!GDTJGCG2&QE'Q:8S5%'I98>?"BK#BD:_Y!EQ2A2L*2K)D, 8B@-Z251- M:<=W]WX^(Q'.="6U$Y+!; MMH($?O>=O=?W0J0HR&@;Z)UTKPQECX[H.W^PF+6$33B&R)\C'+X3L(KFD>-- M?=&R>)8P;:W.87)!:G>JFP[91:*%QW&SR*%80;&'&"4\0=.SVCL%1?^@/"3]V6C$/] 7&=MA M)+WA%UT:UVJ ^]2^47LJ'RG UXU)3JPFB/%8OQSW% E5F*'"6PE*O+D)JWI> M*3![7A:$5-DK #A2SA44.#_5?(5A;F] 1PZ]Y5760?990'3\!D?!MCUA6Z&R M,42&A0$7[6UXD&X:,A<"JR&&<,*$O+6>%[2Y4T4#>\5U^X%(%,83D3)@%M"\ M)(JQ0)$YA!*[J!V*&?AEHG - &JQYX3N"BQ0/.X4 I3YK1SI"T$,>+31G^Z!=7HR2#N)\?0PP+#14ST$U-$<9AS1/\.[1EI9@_?=L(Z\H69E"\ M#CD48K;D%]Y[M4CPB_8!+""=]$7A)XYY4 T$V=^K$-\6P&,> M"D68DE?9N?%V750)9C^5E(>/$Y^2?4%X8U?A;!UYCX=8?=?F ,5=!<_+N$-2 M^._K<6KA*[@[A;R6 +(0%3T,H3RGUP<9'U;>/STKJ!*/Q\9.F&NS8X@]/FGC M7AS;,S"\RD(OAHZL$<0QQZO_1:RR!.WHWY!UX?V.3)/8!*7$4$\,F#@:?,@* M?0=!A"]0P0-,8R-HD/#FCA8RW'L@Z;T/PA7LPOSHG7?BO$_/&JK/"BKSX3(7 M#J3/7Q;PMYD8D?C;6ZHQ1B@9"(Y'6+^R\EB4_ADV=(%L@!A7_G\H([,?A/JR MS_@[UL>$[;6H IW'5:RJ9YEF5VRN#>9@$H X!9*C@>8D&$RX!5(Y$&;H/7HR M%!Y;P.A2[4F &%]^O,#MH6-:!>7B-I%/B2K65,QT?=;>9ESWG+V?;^0@D7[[ MW0B>JOBL1>7>+UHJ7JA,_"A0>KT@R#1%\OO\HN[D17YTY." M(#T41&W]T18B?"MA88&?X0_[2T.!_" U@2+3W[H^P'6EW. T@_-VKN?_I9UA0@=Z[R8T@ MU>0].+Q4&'LU\^ 2>0[\ 4^]NT7#/WYJ $+P[V^.?LF\>5I:Q)/.HJ8@OO\673\Z#?G>[OQH1Z$\0(1!(:%6A#__O!_GCJ\() MS?%S3-7_'Q61+X\F>JL('9K8L*&49;G M0A*!Q1\%%LT%\*)'P4#^"# BP'A-5#@O1/>-T>)WQ>!D\''%J:6>6=IIY@#[B5HSQKPGX906[7NI-FIJ!T6#-T47R+K*KY"1<;DCU\) M,GF>N?&7UZ5W9>[M#>>2.\IMX>?KV=@<7-785.!=2T!; ;12] 1!1[4A+Q_S MF0#;?5J^06\Y*@42@>*EM[U2P+NQQ[Y@?64^'P0X3\HGVI/N94]R3!-^P;^R ML].48SM3:SD3.A.^[N)8SFZ9V,8BV\.:& M=YT;V['+^@IJF('2$_=KJMW^9G1C]FNT/YUD?]HISY$-J9GN\-O:5.!QD&[E M&FYFBH_6+D^A#2D3IS)TY"Q%SM+];%O7)%3+1)/\[$T\MM"$8);';FS>W9AQ MM[])13O2W>](H:JTD*($X3Q/38Z=*&?E:HSMKG66?)P260(K5)N:#$D$=Z@D M$2?3=^PSW>+VDD>Y*G/PU# M%_>C>4?VHWD1*S%2NM#DBFIVU MPZX;TWO1V/K]S+;G6]25:GJN[C3= E)$*9#(OK]7^Y[R'I'WSPD!P=$OAF;( M438DLO-OT\X/OUM0T-&A-66%LA#A=N^;UME-79@99DZ#F[]WO_ [.T'O[>2\ M@VAA!?;DBO?A _QM,9CGH.DXX-9CI](^'RHZ:O^ MV)ZZCHRF.J)05CR#XY'S\ ZC=4ZMEE-5O6NDTW3?&XNUO$!':WWT1QJM5%]R*3,\KF8W"=E?KL9/L M6LL5T4:GS" _#"?C%!TY8O?MB$6)PS,W\2Z$#5+#>S:G;G\3NG4;,_97M#%] MO<=W_P^!6K5\K3JR9TW(1\>M=%M3=JX_8J.)FL$TQT7'G2%?)YZ@J8,=Z^][ M5LZ[V,5N'K1N>&.[\BYFHF.]PX.F[L:VN_TMZZ9PX0_8G^ C3NLT^:K!!IIQ MK(?*I$>-?L\5U66%%]B"4A#DMHM.TT3>4SR%9\ZX$]V4>$7.TXWO,3>V/_M= M57M'NMRS@7;[6]&M6ZU_P.YT&>_)TZLC.]5"[TQIRGKLJP+;S==+S%J:,PPZ MS-G;J3+TX?2^R&>*?*;;W<^N22AT*.KIE",J4'AO\[KA:H1H)SO-3O;4(+SW MMYJARSU@SI&^'1M':R2673&]=+ENJMJHCNF$)EIMGDC[4__HL^YI-R5TD?=U MX[O5K>WT;PUW]\LIGAVF>=*S MZM-TM A)<,!S4P7P#BKSHY_9H+CVHO+K2U M@6.;E_FXUK>E6H7DENT2E>P,D]W:R.4);]X%3<[-T8ZY@^4>_2S'! MCBFVM3O07=H[%SX>@](H3M'AUUX5)KK:>CJ2W3NS/;: 1(=7PA\M")T6O)5M MQ"R@:6@:HH..S3:!8!FZ=YRU_W+>H=?H$G28&!1AP[2]4]F]I_IG8YO _.]4^LM&RPP9X&.X_[?$^/^[J#U'?3WC--L YUTMEMJ5EH5/$>E MVQFJZR:8TN?[H5 F:@GP#<$T>375 M$0!)]C6VN>Q*.J82?38M0W0_,LW(FVJ)Y&;B:-HFS,;Z!YR;8*+Y,@'9A80 M\<07#\@+=%9ZSD!"BJZ'/WG.L2=K'HG0^#\+?0/N90L33.%UR@K$X#*,.0@/ M1D ?E#G8DBF_.4B M0L:1RJC OY=/44B5A6 J4*5BPF)A&H(X!=:;^@-U]*T7BU1JIU*OCJ?\LHKE M1M(T.R&5I5JT%\)J2>&%WM3U.QY2AP;40RP/H Z(BL]&^+^W>:?X\N @5B.! M@!PT!;1K81!<06PL6/ *=-BQ)U%/ N=X_5XQ39D Q&ST1R@R"-B1ZOF5Z@_^ MAONRP_H14>. E'-AC>T1+##G, U,[)_^M\*// LU_.R=(ZL# MKMC&XB=)/%!G8LH+,S'QQ(+_"C$(W! "_M5KYH[:3NAG*&100;5GL[*"CZ#' M[UD/WA8!^:VCB6&!*27\VN/O:U+YG*K'R"7L!A 04GI=-IP,7DT54V:>&G+6 M5N:]KE_O:;LKD]BZ"P;,5.*$*M\59CK!;Y0V3QY>R6][M-H3S)7JY/4.M>$% M12#:?.+PRJ8X-LI#D\USRZ[2K2]%?%VF7#[)XR^O[&[F,[&\R+MX,XWGQP,) M8P'F^B==/;\R7Y;:&#&C!;5K\EVQ/-@Z51&=/')PSZ)6*[?[64+!-RJ7Z"D] MQBHDV_X9)=Z5$ H0I$/L]>')^]Z8%_+:(%5W:A3G%+8YGDR;R6;)Y=&EQ&F5 M_NA6C!_NQ#W/Y(#[I+Z)P1W 0,<8(:V43KZM12WX9VK!]W9/;F+Q]IIFL[@S MH46B/[83B5;[U?Y[A!#BT8D:T YZ,7,PYBKV%/D6KVZ*G^_XO@>NGZ-;W.-5 M9;9J6LW%IL7FBD:F4L"EE$0S7JOXYEBKN&?)?%-U_)Z3K#PV8]/5RNK:TH!K M]C:"PU*%$K=V7QMCA?1(.C*_[GOJXU?9?C:=;(D#<65@=]XVP_V#CQ_B_86A>.*4ZAV^,'?^ .ZQW9C!AL(%?">N(I]'FA M#^([)W"7A^8S"Y<#*Q%%+." M=$"'VEO[MSF^ASP$1N<'B,3,#=-6MKZ5%(1*_)OM$^E0!Q3KR5)YU9T[B+@( M^T^#BK)WW[!H_K?C,$^+OU9TY8C@P7>M=QF/DP"1#*UP@40$*K1@;HX'6!"! M]B 1G6JY:\V&E!5$1'\H$1ITN=$-)64R 2;0X?.0.#\3=CF8=[ 7*=4-.V8+ M:RB*D@,Q$#[AX:HD"\W@,=*<%7R8/15L;V%0V3S<05(C"Z@LSU\4$@D4=EA! M,KV(W_H"B%0D(&T8JWJBKR=!+UK=/<+NE=*BOZ.]YI_8U'#A2YD^I8_#"E*_ MF& ^YRQDA MB@3,"/%9X*_#NHP.DV>BR_27":R;PRQJD)<06+ST@&?Y< E$2/2\(:Q?P8C]AYN%P_!$KX(=!XH.H^ MX\-%2P%M[#=>SX_?ZC-']ZTQ;T]^SM\]8B$Y>,'I^#$VQY\KW-X"PS=2_%@O MTIL=]1]B704I'8J4'E-JZ_DR_46$(/!_%,@N03)[!!LGK+ M&5?GS!JO;JMI:ZX2.7[S=8\MG,K2"J@2-#!"$6">!!,:>XJLPSL?M?K:#-UN MM6:-(8Z55FZ]6**G'(<Y*(L!9R#Z(;!,K] M^X68>QNP"NGYM&4?%5-/33R\]6 "[@_^KAUL5B) FTUL(9B"; J+J9]G@>L+ M;OL"/" ^Z/' A'B.B $H.0LHVX'.[S#E17QWER> '.@Z<-^"8J'+P(=9M('M M%(?;X,Z%_?QMUG_6O 22;8B'@[Z]Y)"L0+2U#!D M^59E4\RK8_KT,Z!7(.BB I6KO+?A_<7I@B-!J9/^ODKF&=]+/ =FE>!946A3 M8;JY&(VG? R?&%! 7*0&3OC*:!_P$0Y)UMA+/OM)+6_/0SF1P#28"E"BQP"@ M5 F :A28&_ 7"R4'?,Q 4@^@'2?:H>X@PW%?J*! 0N52;'@_:'N+7JVG9X17 M!-U!"O9L+P*#1]Y?X M$A,]S3GRQP-$#%?S9.E*^_FCT/6 3S;09T ZNJ4':]B9:V_FG.*'_L;^[G[@ MU'@6#[0M+?N8)X3R&;9O5DE@#'$@L.3AXIW 0-CC4GQG-2!308$D%^W@[=$J M]ZG([&X<&O+'*1H:<7#_PB#A(-N]JH30;]IWVDQ!MP+CP:]T"%\&)6:]E+<- M%M#Y1!G47<6"#YC'Y7K/ PMEVS=T/=O;]T7A3N @+] #;HBK$#4]=PZM*H1K MJ(>> ;G:L3( Z)VC#5_;"6HF#Q[Y7)V0^[M_U62'+6'BQ#=%#>_)@1\:0YN! M"2UY9(Q[SKM_0TA):Z,#T_/"O3M#*;"$E>=P>X[(7-@$+W(4ZWV8?SWP\](* M2R(K+!$884E>9\2%9I@MGNWS":4A81S1GKBOA<_V3#2(VAYH[^%I#SXS"_8]V!:N6:IQJD);EDHUGAIY5A"!III !I0"WA_VW3 Z?)K9RY(\JJI=D$- MO^I3A+@L+"SP,_QA_Z50(C%X(91A$_W,7)@#]G*6@F,;X0=^QM+[Y%E>X:_Y@P7.Z0?BS7:W!XJ3"&"N;8X!*9V(_TRWRF .\ID_Z;%8WD _YFA7[$ MEX@O$5_V*H#IAS0=,>9LC/ELX\Q[^\K5B$!?JOOQ/:2XRISVUVERX#E_DDC0 M"D(?_M\/\L='!(3$'^CS]N'1GZ?.FWU57GUMW:^O9;WZVN=]59&&1!IR!@VY M8OOTB36H+ICB]/_[%T'A_R2(N/_#-U:AWQ67&]6I$PN%+P:'_Q[TK'Y<>UXE MS7=3*!1Q/84"W5C?7 /8?C?'R=3AYB?YAS)_O^L]>P^V[]_=6.OKV7NLCR;2 M$[L\>J)NSR>%I)#'-W ;,?BZ EJ#WZ]>WHOU6F&PM^,'L(\=X-G,4HJF;VD< MY'O3*D.GAOEQFT_RB1^_B!0=3Y-OS:"_OSV_L:O)N(?]^MWEG!A[O@G01*AR M$52!NN274-8,Z]B(5E;6M@E,:G$JZ1#+&L^D.LV%RZ<\;(DGCI37O-((?X$^ MF[<#;\_;_U =P(<=@I=-AB\ZC:Y2M?!LI5]?VYF3EUUGL="\VEU!RPH:JK#H M3@&P\XHE:H;EF, ZS%SFD]/J9MY8FFQ7%K)SK VF2]?]L2NHE!C[C>N"SJ[S MY#D/G( 7:$@];5*�)?^R'6!5X>>NQ3(&8A$J!"(>&$-2\?J,5YO25MUZU_ MD2*<-UY ">J\+-O+[P?%P)KA M/KG_*ZSB4 [?FY5W435(Y/%--"#XL'/QF. M'93,QU%F'U5QFL K.D-Y9*^NY"'6./(I*I)^7K(2CH+PB\6"TCBO"!O5W8B& M8UI>8<,X0-E@VL2N+GF#BGTD1?13V'YIAK<2KR+-*QN1%&MA6*CZ$)5LH$*. MA6':GO8]Q/J&J<*580O3\%H"T#7HT#$H1))7;N@3[*EY'U[H%7?O"D&\6526 M'=0#H569BJ#!]Q2@*^X7K:"TRQ0(TBD+UUX'YJ_B[ITU=Q-176+LKW,F-E\MQ*Z%H!09>>7!/);M) M<3TQE>(P,I\WR^562MNXT#0X:-F>Y#M"J4 NQBJ67DVE9(W@2I9[K+5)"R]<(DB.UHTWH8UI.YIIN MN\-2,R<_',B-E35PC[66$_TUMI6J(,\)U$RHV3FJ"5HN3QU>F<3:=A_+5'-X M/R^OZO5Q;KBD9)XZ7-&@UY)HJX/AJJ"7J\5:?MK=M-OPRH,5E2K&I $VU%K= M+&=U893;K)=]YAC?'=V5&4/8%EDET4Z2994IT@9SC.\#N3(@'[E,@W66%>XQ M#69RWW3AE?3+*U.#"98#+KPXYZZ:-MNQ((V98Q+2HSN===[:-%BJR:];FX:S M?*RVCTD(79&;N7*[2W-%K$*)1LWB-PIU&=<2EZ_E^ SLJ M2ZJ0:$M3>!'K<(N$.2[FO&)5)JKF6/G$H^WRX5CXX^6&9' MJT59D2FV.=?S\R6G#FN3P E[?B4^[4\,=L7Q>+]9'*3EJ=O++N5CDDS2-$2F M1K'$]1^UU:;',+6$B^3SX)[-DI*&MYF,<&PV:PUZHTZ[LF+X].$]:5F;\YM) M>\)U"RO.E%RN_IAU>?KP2KGCY+O);!MC-U1JUB+4G+/MMN&5!T_/%P9%:KF< M=3CJT9QU2K/V9K-A^,SA/6M:EA>**;O YGAAK2Z2*WYLRO#*@WO.&I)--:29 MS#4GRVJBL%CV9#3-'3^\:8*W1N>,'US:V#@#FM9ZE:7==C6\VC77UF"YK&"N=^DAVJYF @M:)L;F M3-!\'$"S@=:]2Y\+*9\B4Y/))$7RE$A+?)),X'R&(@5^3&5 ADY*B0EQ0 C1 M2)<7638UX:CQ6,SG:24_9MUC@-(@I'Q-)+0Y5UPU&%=/8MT<>70CH<3-*)-5 M347%MH(VJ^/:9LPKM>2VPBY+S6Y1=6FBUCP*$W*QS4YH9IO%F[EF MHCNS,V9V?GQ&2<'JMMC&G%%SP]F&;O0*Q4F:.:;\V6[*;4Y22:A4MNPP7'9; M+&GM8\IO6:W%O)4H-UF%U'/VDLMFY0 M9X[A!-Y(D-2LY1;PII"Q9'YBR)A[5/N[HLQ,>SUEP)*U%2--*X"AIT>UO[@V M9S,A/V$YK-)H$C4[W<)<=.7!XE/$2B6'N;FM%A\QMEJK=.8%#%UYL'A:%O(5 MW&Y7<)+E@&%06]UHH/8G*R11S%E'2V,*&,)'!99>,TNWVJ M6S8=^2A2R .\7YFW"(LCTPI9*(&MT1VTT:6'-DS!3B]RO?8CUZTV-WF9[JQF M!>_2 _)7+7:1AXJ]Q/NS5JM8*2B=?-:[=$?_5^;>O!T=^40LA;S,E)R700#/ M2SY6LH#"3Y[3&K:6'OX]$?J\\!X_+Q+G$J$W[FB@.=E%4H+#13S_X4AU/E\L M66G>';#4J)0W2\S +++MJ#K_MJKSJT?OEBXP4& MV4(\)"+&W")C(AR[5;Y$;+E!MD0X=DL]1N]9Q]^_@>(]_/YC&RA>)5CB@3BO MS%R\9R(2GDAX7A&>5P)4O]4R$('NV?7F?CML @WY5ATVR7N!VTAL;H9VO]V8 MY:/LC;7Q%%Y4_:$A7<$H.PF-Z+-/T;#EJ\G--VQ=X8B[A^NT/YV]W\)WJO^T MQBY_*/M3GB^3EH&QLKIM%0/C1)/I#3+K\M>'WC\=?Q8H+1IS:C6 W9QT "3' MZG" ?4_DM52^EQ:U\99KDJW:I%-8K+ER4.1$9N(T19[G4,M(Y2.5_U-4?F\* M,K7D!H\+P%34XBC#S\SD/%\:NA?6^6:NO]#+1D/CL'Y-+>*TF6][Y8K4CU_0 M94S2F=,U;U[?>>P([JX#X73FRK=HWWPGZ?!GG"/\7H3_V\#0^2T/J&KU4-/> M R&B-JBU\L!8JWTIE^0*QKI7K 55RV0J3B;H\QD>D?)&RGMGRGL!&^(SVHO/ MW(2X,:/X18_D/?M$ET.K(XN[8@3P MC@#NS@CW;0P:I.5E-/P^ M52@E@HT(-NX2-BY@2GT*-PII2A4YLR"P?39?8Y3EHM;+RA W*'1<>SQ!);Y' M.(;R'M$S;$'[%I[GW< M+>%E'.-[-;I\-UGLY)>D^6D8O/?/LV'&)K;<. MDKO6(+0W7^I+7=&Q:S1$A\MHH44PNL2&2SALA9X3IJC-*6R!@[I=S1C5N5"W MHE;H6VN%QA^HQ)_9>W-K75!_;-/@S3$B&3'B%AB1^5/;-6^,#Q$RW0PCDG_H MH:(WQH@(F6Z##Q$RW0PC4A$C;H$1F8?T'WJ.[GD8\=G4WWON].56?;VS\J[> MDOE>'^$E>S")!_*\YRK]+C$X"TPGH/C;\57+V>$]:X(NW7-M_F>TX$(61O+V*?'L03GXI;&IP!N7@+8":+'H M(8)N8<&3+D*XS)4&0KQ#M[(N 70DH'V* Y$C-7F>1;LV^IVBXO,&Y/9XA>?% M*K:#NC3^U;JT[*:W60!FK5B[:]&^4_=\7-ZR._6JWF ?U>XJ-Y]A]+*]'G^] MX/O5MRB:QX]A'M)ZIE!;$6TUU\](-,NHK":Y_I 0,DXEWSK@/4*"$U B=>VV MOI,A 4K[_(%0L%?I_9M8P##]#-4'LQJ[$>EB=[#H9^U6^W)8H.N2*4ZQYI*C MF"Q=IX@F.TPC+,B\CP5W$(]#E(XI\X5IK+R#P^]G2M -PM;;!8J14?^!&IW+ M$.GUF1_!YGBK*"#ZO 9]WZD@> 8R2D!B/JK-< MDYLW&V.J,]A,K<0%G;ON\9LN^[TJP^^!#B?P+8_ PVQ1Z5"YEDVP53=K=4HU=RCPS.7@09G5[4TJ M06^XG"#*96%&8LTVFBJ7>1\>[C/1E'44#3W"ZZ,=A[^]]E)/.!/J^KFD METI_):B[>HS]!CW+4*7@9>&/1Z"NZ' 6XR:I,;O,\O28%_E:KW$NUPF?MI92 MM:WRN# 9:G:=XE9-N7V+CN;'B#"RNOD$R.HO T[\?>\R(^A@91MNDZV3V(LV5G. ME4557[=67Q]C\VFK,;VI-]J+X1SC'$*<-YKKJ@LZ;7]^'DW$4ZDS>I7?""EN M(=]X+7?Q#T2&W_0@/P8-!8-:35+]WI!3UE2;6CC#"> OF+@L31.)ZKI'=SF' M' YK6MXFZ0X#H0$ZE.E,G'I_YM5M9R[K@CA5=&!NXOL3FZ K:1N&!A]]-]&S MX:"#RW68;S^GB11CW#4VTKSEO']3F MM%LSYX/6H\IMEC++SI*VXJPOZ+6QR?6\F*TG%'QNZ$99R[)6)^OZXT@3.!ZG MR/3])@//Z:/]$0[9=U?M+WI?']1MN58=RNM'K&H7C23BF>HTU>,7CMT\0BFBJB!*%\7Y>MN. C] MF_FZKT2*0L4(L"DK)L M=T8SGJZ-VWP:G6)PD'F+]#9*'MVNWMZ1__%)O;^439*?U_!<:9,P<&HCEP2R MYB;)M0O!P"L]3*:^USGW49(H2A)=/TGT @)2CS.#KACLG%LJLV(FHV3,UOB" M;LFP; Z;B91&<-T9*,_7^7*5;C(0 KSRPE2:N.]D4',R4400FS@FY+AC B\1 M-(%DA#_?3TM;E FZWRCI+66"PFL+H3K ZPJ!,H3-9HT66 "C-&-)OB$YS+"0 M+#/G2FBLEZ-V=:HLF[B3GLK=Q)I/<+Q[0UF@#Q#,&N5$!I#DENO/2P[FK/1D MQ7#/1+#V1K.K?7J]Q)VA3>OK%2DU\LR/7^DH 10E@*($T.\A'^MV1(;E,)SJ M U/F)674'E\P^2-055T88 U)!8O^8Z5/-1:EDAX@GR-2W2_OD#-VR3<<7#T6/+4Q#A@R)TD"WDP:Z.JA=/7I\S"]K_(>) M9/3#*8\KSF2]7?/[ONAT!Q;[_F92UEO!5A)L[L9C9[!9I$0#IZ1-L4YMNK-' M]X()E!%--O5&077QKK)*;RRFUDC*,I_QSH^.)_!$E$#Y>@+EVGIS=3AY)<%R M;;I<&T]^TU=X$U"818TT 4E-\7F7R!%%F%4NS.5/)MHML M/;_4& @HT%O(Q-/IMV( MYZ."04C1GGW[QFVH"'?X/6#UN,Q&='ICP]S7")/ M$XV[NG.27$'$[X F41[@FUH!3UY%)BT#8V5UVRH&QHDFTQMDUN4+.@&UA>$0 M=FJILAAH=ZE:;C,HNRY/X%X9%0K=)Z.VC6L/8KL1Q?S#8OG4DAL\0ON[HA9' M&7YF)N?YTO"".;4:F"5*VQ'3QYU%1M7P*BE5-1FI)BIO(NAX(O']PN\UZ,[$ M!%%TYHXFV$""U%Z8D* "6ET4?[B#&/PMFE+7"MG?%Y5N0S?N@$Q13B'**=RB M]<\\[9OYO6T3_JP!] .T.IBY 7FX]3Y_U2(Y8HS0RPQ5U\9]F=U0LV2R4\ST M[!;#$X17X9/,Q#-1P\4]YPMN#SNB!,*%'90SHH=16F.-=,/(<2!1K(T2%I64 MNS)"#U1(E"3CJ2 #NS[#*-\US.([LL(C7((-Z<+MTF3Y,$I]PFX M9TJ&,]; =:H13G<:Z;67=6U;X/)IA 8XMKV#3K9'*XTJIO:+C]R K2R&4\%% MI@IT#H@T&<4&(4'3[%_DDF M'U*'K@!![H1FWY.*@?4"Z!:(N8(5^]\32U/>,;V'\ 0?[ D]8V^#T!EQH1EF MBV?[?$)I2!A'M"=?EZW]9;V4):_9]9*OIFHQ*;8GD8>@,/3AF3P'\?Q. V!RN:VK% )0Z*5873'$:2Q#Q&&*M M1SNTHGC,!-8"P.^O@+9Y.*'$^[^B&_U4H&NKB/XG+D" "8%>D][0@*)A2*ZB M:=?2P-X4F%#ET#\WKG)>JS44,A?NB1;07TI82,@6I(DAE771!((%\L#_[U&9 MJTPW:HM^E%?L?+"<9VJ%6:^ N3]^Z<:AP(E3U'=NQ6S#DSLY>%IL+,#]0P0Q M8W)R#3VS%1L2["AIB+F%9:?UZ;J9'F)PC1DR3J6.!=Q>RL08V"X >@P*F5=B[,?!(?+X/Z %>?#C M(=+A'Y/7 :%0^?=1H*Q#SLD*LBP9RP+!,6P7@",?@2!#-6_;K*)Y=!.T/^.37N.9]]PV6__1H]_I0BR_BXG/![HI3(#D::$X* M'GEJB#I/7/29V$/F9@\^-ZL9HAJ8LF/>*NDCRYY4@RXD<,0(U:P#>R30> 1[> M(7"N1"A[PL("/\,?]E\*A:R#%YH+:\SCHQZ^%J:!B?U3<&PC_,#SD?Q/ G?, MOV;//PNN09_XGAZ-_QNMS3;#]PJ>1_AK_EA0/TD\9-[R]25E=>3V!KSE!"I> M2+/P=PPYHC_'<.=4,;3=_K,P+ 7)[$\30'V!LO;BGH&#ZCTXO%086X;FV"!T MU'%_G>?)+CS@J1V8O2(FQ,?%Y#]P:;M_SQJ#B?AR+;Z\7:X9\>5*?,$?,F^6 M]4>,B8 LXLLS('LSF1_QY7I EHX8 VD'Y9YWC1MB5Z\?;LT"/D'C][YGZ*'1U1OU]]]-__ MC+_>J'.+.^2.9-](M3[)_==I6Q,?;SA,+">8Y@:^Y7.TC:0FDIKC4K/7RGLRD7D[ MYO/-1.9&B71B,0FWH=-(R&4P?7^76E]QL[Z/\7P6=3O\ M]T !3V8F?Q^O_%_+EKN?E6P0IF;CBZ'?EIM=MT1D0?_1%O3I M8C6^@?Q]E*0![!.$?Z\ZV^UPQ:'FHS::@UZLG_<\T>XWH.&"N]44OLYJL7> M&%#SIM."WH@2^ M/C7PC==\[:0^JM<25E(GI:ED-Y&MJ;->-"WOEMON% T>0HC 3DTMUR4LJ-!RZCS6GUW4]I,C\^)5*QDF*.@]2W'CI M0804-^QL14AQ.J0X/GJ_72U.'Q/CZ8@K-FH29>?1HF+A=-F;5+>D MK4RF+@0/=)A8,IZFSQA-B1#D6L,7(L"( .-D819!5C6VZCN<:.,XT\&DS MFV8@A&30"50T<<8H2Z1C$1ENQAV)H.:D<9IR191!ZL@&8L@!2S@3C5#<^[B#DK&KUUI\ MHPZAVR?D98(&.S7N[;2X@Q MM" &E%+74X[49;N@[S;!.$=K^7,TLT#+0*W. M*NTV(]%JKCT>=KIX3FV1,D^CR,'YNEEN7Q*BO$F4HKU3W^2K\'*Y"$6OR9RQVJS' M":LD2 FI2EDO,!"+4$L.F?I6E2(1$MT-$EW=78J0Z)RE)#W.G2660"WA1776 M'I:+,[N+(0O(:_F))])O <_=E9*T( Y'M2-1[<@MQ(YO)PP4:$6 2+0L,X33 MYYMLU5I@6HD>=5*],P5]VO5>2Q<[1(GMDT9&H]UU2>;:?,;KSSF8 Q.I[1$; MY7I3O.]%K:][(,#W,F<^!A67"^"HYBBY!6ZSI'8GFX:12E=H-J$18 M,WJ& M+6B')]?$8SHZK>=^DVC?>[9*5-T3E4G=J'*=YE!8@EA<[%385W)(S_?[!-SO M)<-!"'D+5M )ATC>XM)ORM;)I&5@K*QN6\7 .-%D>H/,NGS1#AV[E@4CDI2: M[+)O ]$H=@O3L)(EO58-R8[& /QHSCEOM5U_Z'XH9Q^,9 MA4:_1RL)?(-33L9LNOU&:9OR; 44T$@EX@29>"^H\1\;G6=[4O8H.M1(^R>9 M?$@="BMU7*/]JW81-_+C+L&I5>JK6/,R,0Y_1[*CZ(X0T%U25K_^"_\)[RQJ M0#"1,D[_>;[\!'J-4!7Q?U_ *2:3(9;LV$.0_KJ\M_;^_9_]EW\"!TPT-,/\ M&2+ WJJF_D% M:/K?L:P0+HP30PL7_ZWPH_\E C_,RP%,2;G_[Y62N [OWL MKAY7;&/QDR0>J#,QY86"))Y8\%\A-C41\/RKU\P=<[>]GZ'808#1GAW+'GST MXU?/.ZW:F,308&N_T"J06>'7'G]?D\KG5#U&+L$#(SXYEM+")"GR>!JG^62& M%OA,BJ3YR7@\ ;B8H(D$^.$_50CA*[EH$XU:BDJQN5JR:[K54KDZD'F"3[V\ MDBSR:8J1^ARW=#?KDK+@C$:1X4F>?'FEU)\LRD2E-N,<$LLUQ")526?:\,J# M>ZYG3*XU3VH5M9HA3=M(T8Y HROIEU>"!<:LC8(NLYM'KEFZ+U] M7ZCU) 8:5QM\EC&@3WJTI(-9EQ!YI,\_O)* M39*[W<:0P-5BI@R4ZE!G9S5TV,#!E;@]Z3?(ALBKFWHJUZ@56D9?1ETVQI+!$=F,^NFTEKWI"8#KSQ8?,G1(? M34/4B;2Y9JMNOH[KG?2H1J*G$\3+2PU0$9*E7F["]4>N3 "Z,ZS/T&"_@R5U MDR53&:T:CURUFUV6!TDQ/U+11)R#*WEL0[3;&RVA=I7E:-I.R+DEC7KC#VD_ MXUKD$$J1A2N-)4_4Z]*RGD3-<@.+PS3%':B!CI%B:L=H,GSF\,BU" M6E;[G1[>S*2[W#K9XA8S&>WO!Y>ZQ9+HM$E=5?L%>31+$J.EXGBFP 'U-^WN MUFQ*LL0U^PPVKBTS$H-[=ST@?XON@?:ZJB[8/J'66'[6,+($XQD8!_2?).12 MRS+'!;QKE4$5;YMRHHJT^>!=F\J,6+8S^01')5M#@S>SM0(&[WJH3UR7[ZXN5UEE5F?4Q@M;?2[K7&J>71%DF0O<[,^.5:7 MK5YM3AG#8D=J'WM/HXRG!RMF..+($EC9FN@6>IQ\#,GJU7759>L)7&UR?3!8 MEZU!06\?7=%H3*2P;I%3FQ,PT))#O99+,\=6E)YN^'D_8>1PH;9MKT="94I6 MV\< HKF37BNNGF9J!/DNWZW(57'MR397-%L[%H3+A<=^QN&PNSO=W( MQZ!DV>ELJBEC:G#SQ^0\18PJK40; <3!/;6UH:5 KM1B<\LD9H@B4[+!45VN ME,W95E.G2;4K4M/4H@!*=;X-KSR\9ZN5G$J96X>CC,;VD?&_A73,,\]W1I?O?DQ,6%O@9_K!O M4B S)3"\T/XM^OM^:&%Z%I'@V$;X@6\/>9\\LYKV/+C@FB>CE/;-']L,WRMX M'N%;+:&EPM@R M-,<&ES#SWDFD^-_[1&+DR4P_7MGH"(+U?BRWMM"A%C(B"+^/+Q M6LN(+]<#LC?G_$6,B8 LXDL$9#?/EPC(;I0QD<)$?(GX$KF6-\*8.QJ6\1H- M;KW@^MJ=N?='L4M,_OA6%+O,F)!O1;(_6"U%0T,?_M\/^L<7J0>W@>NVH]-O M57(=)_?XV3.#(J&QH4G_H,GAHM>>&4L0\1B)HY+!\)'=4^T;:];O] M;3N:'$C$5Q6*_*I"$>0#19^58B?6&']LDM^<@LIU+:0Q)^Q5B>3GL_)SWO-I M3BP^7NM7+">8Y@:^Y7.TC:0FDIKC4K/7-G0RD;GP\7;7%9D;)=*)Q23U(;B*Y^;3<[)KM(POZC[:@3Q>KN?J\P!,K20/8)PC_WMCL MB%#S42?-P?B[G_<\/.<.3FVYSU,R+X^2=SLI[PH;2J1MMS6XY_Y$Z!8.=+L3 M4D7:%FE;I&T7=9;NBU(186Y+A/XX2_*.2I3\0^]RC@5?!Y@QO_#:T*VILK!B M@BYY\^;0J+;[.1'O#I#CLH?I?8MYX[>8^8V]>_H>00;#&1.\9=I\1]!EX!U( M@7ZK*[HR=^;!811?.=9B#D0^U-W.ONHRNI0+%3>X_VAC9?5I*E'CR$JRL&W5 MUEM,D,]P:%]#,$V^W:VNQ]F*G<,QJYTKYK/.(IEJ__AU<&(?]ILT%-87I.&T MF&Y+U>):9X7J,+OI5VM2YWPT+(C8I+*>#N;3;YT8% %#! P1,-PW,'Q\4G\A#0@L,^XG MN-PH*?87Z6E9'J,AB!EO#C>>IN_WU,((*BX%%9=UN"*H./N ?KY?D)1Y)O7( MD@6LV(DGA3E+EY M2B(EG,NQ77ZX'I:*HY+,4V@<_-,)JB>/DWQCG;]Z5NM6=?[J&>,[-9 ^C1.7 MBZ@T\\(@UTRU2%;H-AN#4J)DMRTTUQV=;9B,I^DS1E0B"/G>I[5%B''/B/'Q M4,MPTMVF5O52EL48>E7'^)Y#&NC$!W0F8CR9I*(C$;]?$$6/)((:TX; MJRERPUFA,%@Q:JZJ8TQJ1JI" MDF*%:3CB<2;QV[?'<52 U#QT1CO@ VB FR M"<#)R@.$Y9#MBIF66?%\&D4=$G=;6W*!;VC2(>C-/29 M]?YR0931/#\KB8^/-MX52OP:C$9#.XW0@/KQBX[3^!U7I7PC2(@0($* RP5% M9FPJ67( 4E8UMS;J7$'05IH0CBK MS(KEJ6H'K]H]BZJT)5+MGREX4"XG=''3X@2\N."HC;-L)F:I-D^CX,'Y&EMN M7Q2BY$F4J+U7[^2K^'*Y((5E+Q2I7LU8.#8DG=Z0QA-;BH&H0_WXE8QGSAFD MB* G@IX(>KX_]'P\.F+64T2MBDD5%23PPC)KKO)I4X9@E/GQ*Y$Z8VPD@J+; M($6/*8(BLY:42)Q.:5>-N9YMFIAQ07I-&>ZNHJ0% M@3@J(8E*2&XA?GQ#H:! +0)(RN@\F;=[FHXK]ONX) =_,H/D85EPNB).5 M^ZENI;#=<%5+%>II3IJMI#9$$.K'+_*M6KF9B"5!>L_H&;:@'9YF$X_IZ 2?^TVE?>]1*U&5 M3U0N=:/*=9J#8@EB<;&38E]))#W?\!-PPY<,!R'D+9A!)YPJ>8M+ORUCAUIR M@\<%8"IJ<93A9V9RGB\-W4M&4&;B;"@EBQ-/R&0\ ME3QC'.7&$.;\(T^N+O^1ZO]QJO_Q4(@X;=BK=GIMX8I< -6^T9"4!(/ (//C M%Y6)4_09I\3>&!;<4.')U37G$J!QW&Z_^M+_5- X'M)8B/U-(P.,"MNGW9Z1 M;5]2)\+Z)?]PI.*%<*3I\BOV33#ZDGMX3A4\\-0M_@*_!0,E&-!(T;1./ MV5,0RQES^$:;F D6$-*!%(.K0K>;>"R-:8BG,<@%3-@[6GALH@.Q813@02G-R%ZLJ[=_WX4.6&H>\=E)Q%BT'S>8)P M7WN[')1:2W6LSKNC627S6.VT*.;+NG%$(=BUJ#D(8HJ&(;F*IKW4$.^0%ED: MJ<9Z,4MP5(V8">)(;"N/S*Z>X^R!T]-3EM:3;6.UZ9;P8D=A*=;"):GY]<%' M7Z9LUS1STV&G"5BJ."327"8QKBW;/WXEXC1!'(&=%Q] F4<27A=,<1I+$/$8 M$DCO2+,\$+V5AI\F'F(7475?N7-3=("1!=7W,%H:&P/;!4#?O:+OHL#W]'] M+^LMP5O5X1^32&8LQ;+AROUSQ%^O*LH[I@?$/,$'RMHS]C179\2%9I@MGNWS M":4A81S1GK@AR*4R Y&FA.@B65]3=VF!X2M1Y\>%8S1#788L9\EC+X M@I69T9Q3;8\2F02'F>A$)0 %8@$?9)L...WN'K"&H-_<*_R_[+(TY,C.1*2FK(_UZ/_U#"%?@Q3T#7G@/#B\5QI:A.3;8 M69;^0D]M![]N27PFO C7LOOWMPQH\B%!1(RX 480#ZDWRVDC1ER*$7C$B9-R MXI,YZ6!ON&I0!]XS&W@VONGWAA%U@BB&#\(WEGS<1;4/_SU)R"IU[33UZ4)0 M5UK*NQ&FNPTO?<710R=XB#B98V518I4Z2V(]K#\9#F7HDZ!ADG2LP'/L))3X\C-5 =>JQSP%JCP!AXA#/KKQ"#T MQ:C#%R%I7_>:DY< =0R,*($9KV>LACC:V^ESF^FUP-(]&TS75O373(VK9[LN:%9=?:W7MKN>,"Z3EH&QLKIM%0/C M1)/I#3+K\M<+E;]H=M6R"3E;8$YI=5#SS_O$"^YF] M_<;-&U':"T3S7^;M"H;I9>OLJ0E ; [O-+5B 'Y9.I:&0#9X/"8<,0]C+@3C M4Z?F;GGG]?(](R(]F$ACT64WFZ:3[93G,[[!O+;O>B0\-XT2^S2"_ZW;\TDA M*>3Q#90V@Z\KH#7X>L[Q"S3J#C/KSBPQ'[-4,=.>EE1,P0>R3Z/#8IUXS 36 M H@H8*5M'BZ8Y"HXMF."X\*M6-Z/(DICVT9L[)D>$T/3#!=(9\U:A80/,U?& MY(V$E;^$?1ZQ_@)>R6054FK/+9?Z:W939-:%%,,*CULWRF3=9B8K_>9TDBA: M?+$$RMO]U1$C+L8(ZLUY_!$C+I?)BCAQW4P6VANN&)8[W,['SV[I^EP?&YH$ M_S@$@HE\#/@&KR6\_ON?\0E[.*Y+F&LFOZC;&A5Q;/VOZ _]"?TY!7K]&53Z M(K)<.0#JQ1_^,L%<0/Z#^??ID.$/C.Q2UQG?>X[ [966\FWCLF^U:!T&%3JA M/C8G!04%?H;>N+V#L.V8G6\$@QZF\:Z\&6GL=#5@C"!!E8J3;\XQ_QI>71J< M4GB,0EU+QUQ;"RPNQD.JYQ!)7L8GEAKWKY&3;RR?.ATJ4A*!T9.I&A$R')*9$$U5TLI'*9 M"<.GOK6%0T<63F3A1!;.+>!2P7".Q7+TIIBH)BB\S)(K3-HV^PD5;&6>\F&) M3I^V\>'B)DYO"DP@3&Q@1H9.9.A$@'( *&B(PN? A$':] :BX#VK)11=0L*+ M9<,4$O)VLM1F\SM__RB)B#F4)G+AS,@[&=5RQ1,RS' M/%(#B/.=5C.1FCELMZF7'[,ET,43;5^8X$L"B;'?N(Y'EQ%GJA@\*!T(YP_1 M@>I0._5I&#;PT^;)AQA:\@D+1_U?T8U^*C949O'5%_/?)2OH:JP#5H:V0A4. M.1-(BAU#;VA=;3Q34X]5'!W$2#H>%'&[(.:EF8&$9KH8:#H3E!NO\!N5*9O MLM$\OICHO[X@0S\%_MV._>4-=_(_9<)/__8'-8D0A05%CVGH1J;EW:D/-,V* M%>"[&3%$FGBL(?B3HF(0- Q1\7Z+HXI:09I#;+%LTZOR@<_79L81HK10*H(M>,"6<:$$7Q)/U\C)'_'@5!]%#@V9CW'?>?7Q,>JK<[?&]L MEW6X7 7SPV("X M$/)@CP7,,^I[% ^>M*T7.Q;/:$52S7X:4!P_DD^$TAQJ8R#. MD^"Q\7# F 9LJ RHG2RXPG+&V--52)"%F(7>3(-OO_L^&HF$-$>&O)$AJU#Y MN*/;YYM3]B$Q1(SOAN]Z[\+7+ENNR;*ZP.5H%]\T>K-,K?OUV5Z_+7Q-DAV7 MF_-50FUVM(I2[E#;J> )WU'9>P6SX(L;3\"%($Y8"8HF^"8%DA]%AY*(KH5 M&8B;@BXUO*OAC81 8"\E:'DU]@\>Y=7V=U"YBH M/@_:)N\Q'2/WN#[ V8'5%DM5#DP6"$WD5A#I M?ZS81WR%)YY"9^&.&=RI58NS6<.90;U7:)G>D9$^-S8Q'_P0XS1M,"BL&)C[Z7A-QU$74\^#FSSN?>] M&+Q%)"K/U1\1W6./)&S0L;!/XO*68<"N%XI/K#S\/K$G"0Y&XDFZT*;PZDA6 M2E1_PM,XE(1]+XM^*0H7:V=\Z?X=-4&03$!GS8HYE@-M#+3-B(YEPZ>;FYB. MS%GDA(G&"N@"$D#/NPJ_;?D8I4"#9+, <62M^/W;\=C8L6.Z8< M4Z<-*8 H:2'Q-!QXK\#607^'UO8,B#:R;D(?$JQ%L/"^$$>"#NGO/05^$;V' M94&:>O.$Q_ 9.K"L?YY?%0^O@5=;SF2"5,: -T631C4%Z/#ZN:""W>,4?07? MT5O:/] ZTPS7>TGX8I8B*8(9V%Z0D;)W3_%)F0,? JYY"E!C@PU7]>+N_C!C M2;'"!A7XD(6PV?U=4I AJ$L6NK5_'PG)N@*)Z=$,/MJ:0K&=&AI2F']\Y]UW MW:%*Z)80$-=_E\D$TA:^VO,++;@O04]'L !*KCS[WC\>_Q'-$<>FP.>>QRM! MUY%\B,("A3_\GE@H21!HK+>,6Q,L'05> \7+>WLH3M;D:<43!4H55&WM2<+V MI @Z6TC;H5&^3V@O5 &0+'E?,N$F'//4$PGCJ4VD=Z)O)T))SJQ,N/G4*>+5 MQWG/PF=TUF&?]6<\?V#E33P#/6("CP-,\3K3^>2[ZK MN6\*U, >IXXSBN@W,LLEH]4YK#?'N.YCGRTPT'I,OLFHO]RI(DZ]R0R>,PGU M7@IFYE0<;1,+1DG')J8Q/Q]C*#Z![UD9X2\GXHS48[IS.=?-JD[ZT8*,N\_?#\2R"URNXUP(I0E0W4=9K&G:JAV-KD %PCA[(5_N5R.138BLP M/XC$RS['_WG6O[G+]*->?$#2V7Q7-.7^A2Y%!/)U"D)$XF#^?%(,O: M\Q AX3T\_?$J8 .+@ ZM%*1T^WOBU C?--;,Z!V0V29 M!W8[A&L_'(/D VVBSSSY0C(CD8#K+PI,7X^'%Z$K#'O)E*P+X8Q MGIU'=37GD+%?C-#SYCW%/??G??,.61>W9=1U(4MUR9-Y]/DK%EV>+0CRH-[G M!(;L=.M9:5QSW:_8#:\:#*\8W9TUM34Z1*>A@DS!RO,YO*^C_ 'QD#DBWGM& MMX@0Q_0G$ D[KPGZF9[=.XD"C+=2#*P[DCOQ>_N$'EY5Y]I?B3TBH6 M"AEZ1OC2$4SX*?3A!=NW(J298R$5MZ#U8P;VAH[L]SUSU$2QRK^ZS4+G[]A" M0:,[2><6%TZ+MA-,XDYV+!39I?ES#19)E3-J4.,23]0AS;"O\^8(3YR M>MOO!FQR1'M92E@6MVR5K8+8GC6PU*<#-B>C=$?B6IS1[V]8IY#).WK%U%,% M&5$Z?7A@V[\_<4#;BT&6L<,#$I_2=E,OE#H!(%0[(5 M28#8 UGI()5$QR@^ MI=X2.L[C09A/SNT84 #@J6+@N AF&;J"4",A@.I(-A85317? U?5:?J,JLE MR:UM/9)3B,SX0^+8')/? )"K&2,M")A>LO1%Q?#^H:YH\@M*XZ' R9$2X0+D M#ES*)ZJ$=T6^OB'QR@W"BCGIW*6^Z=M2BYZG,&Q"^ MFK>*D,"A2]:HNN9P-%&Y'%7'*:F7[$]+7Q_Y_=LL;)$"UVX3-L]V-7/=GFZT M;95LH]E/QQAX6[76[[/B6]5:#TK==:/)LC)'*DZ_3ZPSZQ ^9J M\3%=7B?E@I[8?!Y(SE1'S<@$)=33-9RK9KNS;4$JJT:W_48=-<0)5"V&"IF\ MA[U=>WG54KW RO(K-[S H:9X.29_]]*T8^537M, _,]+<\QZYYRD9^;GD8,G M?:T*P'97A1IXJ@<[K8[ZW,YR&LAKH9\O&V=6A^EP:]YI<61^G06\E5B74[]A MZQBZW /F?%_6CTIN-L=,:\E)&;#S?B5=GVP>MSD6=0 D,G&:.!)$/L>Y(:_& M=[Y,SJW02SIJ=L1P%#NA4G9C8PG&;VP>'R6GU53H08Z3:RI&N\V29&&/U@ = MPI),QY.98\>P_)8Z7.:$DB/5''L@\5KYQFO]J3]^-;W$MM\9>X4#A^CCK[[? MG[\P@3?Y'5[3#PNB4-C9F<^?)8_<_9N'MC;DB0K) 5AH+STK(&>;""%+T7@D C3DT3Y]#TFEU\_[]T,L ML#B._!'%Z\-H_'B#+%KT"]IWA*?@?AC05W9EM@JT#"# [VJL W9=^&BE4..S MCJ6@XFKFB> [&Z.N2%UDIUB,YD 3PIE_S.I%Q,H[D%0^5Z")LOLD9,@>/_;8 M@2B+"!L\)F_PI8W0;*]4DJQ)O-NPO!_J>O^Q^$L!;H_1>9$_LI?)F/E'LXY2]FE>Y0E\=KI&O<2R9Z.=\$T=#JOL4Q4/M'[[A- [*@PS'MA!7O>KV#T*9"4*Y74_PN'058+_A] MP[*BKMV-7DPW2*Y;9I2!K@&JH'W=$/6$ SUBYZX>/^ANCFT7EIMF9O M1&Y.V"A4>70_.)])_U6./Y5EWB73IJJ$=:=AM87VQ !/ M4%Y6I>[__3.UJ4_-!!<90>0%?E#7R5OSAXSM8BPE^54!K]:&:6CTBNM-3CZ< M/W3\NJO,'PJ]FF/CAU(/,6_)%Q[U@Q^-'Z&Z@O^?O2]M3AU)UOY^?P71<^=& M=X3Q:&$]/6]'L(A]!['XBT*($@BM:&'[]6]52<("9/OX'##85L1,'QL74E56 MYE.96;F8 !H5AJD;P$1U)> _/(Z.QFF ;E*G+HH2ZJ:-3B8<,@0GY8B0V;!V'0T! E-WO3AU%CLW1H[P41&_%2*;F&J0<"JC ^1EQ78P[%K3@ M>FWV+R^>V[UAP%,YR-+.G=/I(H^BH32 ;B"!A61TS2L./K=%MV^H'\;G/M5P M[0;+XX9#(]&7:';V7LEZ7@M^/[0?42(Y6A&^%8$3@V,.8>7N:Q$Z!+,H(9J M#=H);,Z@.B/0\D#8@W=DAJL_H;PPN%U3Y9";^3&^SY_@7=?)"8),\Y-'IF0# ME:-&%E,>CAL$ YYD:[X<9#L,.;]PB^%JJW1>E >+2%%"2# 3M%M77]GP>E9 M..BOY$?GN:AQ.&J(8,60?&+1S_420U:E:LW"OK2:JP-<=4 _5RP4^!ATDMB8 MFRSW50]?@FY##QY^FG"U<6Y--YRG.M-6%R1%I951O)_[XQ]1=\QSROGHX\&# MAM^*;XAU0X*8]C+2:#$(+F]BRPDW?Q"RG+Q5&_+8!-1^L HN@J.<]?48&]T&M%^BS E/7G"3?[^N[2?/F4U$.;-1SNSK.;/P9(C[#75)C(-XTNC\X\@I M1=/I+,]EA*3()83,E)M2J0PGD"(I9I+I!"4F_W#GP?NU>"VCWN]+.2(EJW0R MFQM6S3ZWSZ$#_G3DCMK..YMQG9'[2ZNZ 9'U-9=CCH?R6P;2@X,"GG&V8XW M6Y9JZLH:[ MV;8=?\IQ"8XX';D %%OJ#08]F9>*5MDR%ZI8W7#)\Y&->L^< W/6D*5YF:HI M>4-H]KIPY-D\'3X^KZ1'*9T9$7$=4$);VS91:X:S>2[$1GY?RR<9.;62$X7, M)$Y7J0V7"GE[7Q15-=Z8R-1J,JME^\L:#:W;]/G(,0 F*9?''%$?FIM>7]SI MO+WA,NCY3H,3W8MM-%9L3&)Z-N2QWN M%G#?B?.AI*:)LX$D;=AZ8<]T"E.#S2MP*'D^M)A04EHE7UX25,G4D]E,H4,V MY^C*^6SHE@"+Z3B96S$C@S2SNV2'VM(;-/2,^JO&NCP;\=T\HYK);FTW[,SI M= X-/2,_U^S7-H5-?,W!2<:=E0F%'++G.U79KALZ'L MO)TSE5PE.:"8.-]<3ZV$WFD--V'L##;[-E&GVW-&(HTR(('6:W4W8>S<5/LU MH;@VR@S?XG(+HCI)ZN5Y&#LW!7V]R:@KDR@\-<7N$NY3K9(+8^>)S*7$ZE.G M1!0*A7YZGR;[\4$H.\=K8YM<6:LX09&Y)+//+":#43>,G=GN9%!Y2DTG!+_? M9FUB:=;(=#>,G8EF==EH%RWM[6MT^&:V6R*JMF94> M=X1)J8,:"IR]':3D?5I]4A2F7IVPZ3YH,7HG%\;XG5T[U^:?RB3+UW>K!ER@ MPP\V88R_M5,M?KQOC60 1G:ZEQ@UYK,<''DV3VM@-8F\J&?D4;?V)!LUJ5DO M(F$ZFV<9[G*NMAZ-V-VX3PU*N]&JMMV$2H@F<*TX6Z]/6&=5UBK#_I+9%W*A M$F+O%SP_+"A-9@5 =F3'NT2:#)>0?9RO)Y;[8998[>OU6;FZV2NDF 9HLFJB59Y/#"[_03<4I(^GVM"+:ST MKN5,&:JS);O *F1-4=#ST^'E+/OEO+],2/5UX7DJM@O5GD\]&RN&6V0J3:) M@<*.QI+N=&J-]8[-H:'^7%^H'_&JY_!#8B \UT9 M_<]80=[9 .-):1LBSHJ M/6;]P,K!E4O#8P,2%6? 6LJY:Y;M$&Q.V"TZS*B76-<[I183[^:NY&P-Z#+$ MX\\6XB=^OA _;A)PT)[=9M]04= M6_<_&-.; M+:[?[HWR:O^7:%NB;8FVY; MV<=7&_)$VQ))2[0MT;;<][9DWV@K%NW+;^W+ M.UL(OJD9WXP(F7<0X9HX\9D( (TT].'_^R/YQR\2@Z(?,]?M^I=Y[98GG#[3 MHW<>9VW@[L"Q)JI;;\48W)SKO_^9_GI/S4@@(H$($0C/'>*='J2QC>$(PIA_ MI_AY!"8LJ2N2F/N6F/>S@+NOY_\-EP[J5Z6#)!^IKR0"&BPK'/[ 9D"!R'^&;V.G3Y3 9'"K\B=Q(/?A1"[D:%6Y]%A[PO M5K_YDO_W4B?8+663/EW5SV:W7*@XQMO)+>]*-?5T3AR-TT-K;8NL!7)(S(*2 M>)J%.A"X^FBB-/N]?)60NLO^C 7Z8IY T:TT*H.5"*E'^ODY.!+:JUQ,?4&I MI8-2"_]MVJI82O!%8@?Y0^>:$NB,?[TLYJ]++9&JL8/:DVBR;6OG-#G.'F^9 M.93:U!__9%\3VD]N8;O*A5^8!66,'2L6@:SV2+>^LH5Q0T?4'5+I)9O\UE2Z M*SC]."7(APC&C8T.@=!2LZBVYT,C1\1!K]VD"Y-QI=>=Q&* $5+?*\N\OG M=-FXKQC@EDS'^I276O(5+*!O:/3=2 OZ5F!U'94&E2P) A7*L I!)RG9JXS8 M.N"8^JQ9?2*)>FZO=+DT=MZ05.2\B98Y^TC-(,YK 7X9AX[[BI.Z<)=6.VY[+_C>N*/HVOCF3IMO!7S7=+;7V%:D A_249^6$B:8[\,/>AU.MGNUAHC=E>K&>N95F_28R3.*=Q@[ZM[8\++'4>6161?1:Z7SZ2Z^'+\ MJN/9RH'A8,(R;)M:,6)\9=-#JHO*MD+5Y8J:R[?G_WNDPO7C7+Z5=%]7D_D9 MZ1X**TWA048E5&+;SB07+!VGL71#329U>47FELSKMK*0-$%70>R_EG/\1OR, M-*ZIBEK?'$J>HTI&J#@\>L;) N''\+%_DG]!H7>,R(#Y#9B[X]B^6VD^=QSP M=T:CV)^?6@_J.U/%C?9#V! "DPYOU?L->3HE=G:KV0'K$4,YN" ]4H+H@U4U'76%KKC(F5 M#/)2HF8WQ')/P,U!< P.25TO%3P"A>\+"C^5#_7=4>&Z"M%KJ"!F[5*UN1IU MB'@_/NYE^GU[L]AXS7VRJ=?R)+$J]!_<,N6HOO2O;TN@I8O/&?B30 >[1S(+ MU) 2U\=UJW^F!V*@M/;YX[#'Z#$%?#V.2CX2A]Z'D!S@P"XQU,TE1L0(]-Y@ M+>IW])+Y/>D](I7[B>_PPG.(*_Q.=^P?HK0%LR"A_%:.KE@=*[6_.B_7 Q?B M:'L9&S-G(HY=X[=G67'GJ9E-<-]Q==*M-P*SP53G@EEX"S $BL=]S18IGF-%"KJD" ML>?RVCS<17"K37B(F< RW';:RN[QH+*>'="GG8[OI 'SQS367MSWJ<13M0[0/-]Z';]LA M[\[V(9*':!^B?8B:WEUK(^X]?N]5+UT!SG!J2O Q%:"L 9HU>B2O6?'SY[Z' M2I\I8.>F%/KYMF!WTA0/O>1+=\%[&2:R7TH WMKD'[7;.$O]7V1W)P+W)P?PFUOT.(3V!I/-(M/P[T?*OF?7X?0#KXY2*CBE!F31XQ4,L*P2G>H.&-BU3SI:I MET4&=!*4L.YY3=]((OV54APCH;ZNSO&MI?KCU)"?D>IEJIYFAY-5B1EE1O*J MV!('E6[7;=*6_>DAD7KMZ^D0,&@GA)[$(OY0;]J>ET!AV\ZN2V6<8 M=9K85I-SI=DH=KU^20\)ZHOUKXY4UV^V[ OV1?E2>OCGWM5ONNPOW>3GBUN5 MK[I?>^B7N"[&'0O$>,L"MA73IS8O::[S%6R%!:_-W5*2)A!0;M;,\[_J4[A MK%I.5C7&4T9+NGGL9GHMRV!4S.8YI;LE&(=.3H1J M=]P=:H<>)?07[5 22?A7LU)/11SM'DG]_:E,T=)1O8?/KT%^42TYNMK\A"=B M,/[]M?.PDN;WM)5 _V.H$?2'-X5R<^RDKNL>GO%#AR,"@?L .C;NB"W M-QHPK85D=!1>*TJ6H.@HA/F\]T8.#*M*=39,RJH]Z>482HUO)[DK]=XXNP+P MJ(LZ9F%12AW$J:7;P+WW23W&_*7!2<"YQW1_<3$#KNZCNJ[@"9+4888L'.A']%G^BJJFL^Q<6CN5G.= D$ MVW]O7H?*"QI3E$SXL6Y:& O3?\=XPS#U-:\\QDK!9F#NQIYW!#N4^CQN"W9, MF,,]T,=&JGC:$%<$(C!-,$/3 9J%OY(S3:0'H6"3D60OJMI,6DLSN&M]1,X\ M:JWFQZ+D=X.= =IBZ&.VDG5XS[$X&^CO3:!.@]@C9H=N- MR?XU]0XJ%P)2\5!=<0MH/P<:B"6#DW/;2C%N<^70[E++H9):U">U/,N/MM,J M4Y\FH8I M"(MZFA4R4F&5^^,?30_1OT\^B*'7^2VV'V\%O3F,4#4> B/$0AH#/F $GI,]BHJFKL7<V&M6 MD=R)TAK$=H WK5.M#@'W.U:*D?#P3A_!Q[.^#VBKBCZ!O'?#/#V MX@&QH&'7)734VI*M(*G0T3$*$(/ 1TJF.YH7!)0 M%YOR"G:401T!?63.\&\;B)B'11T)D KLA3ZS8KR%9$F5;-23SCFH1X:NP#E M&O SW4!_FN[PY^B='[9!!]1HAM04/V@;14@4A-U'BHB'+)A$GGX$I<6"% !8 MZ_G)\\W]*D<)#7HGM;-KIKWJ;P=TN2N!_.;XB,M97%L,G&G9]!SH:ZO?E>-@ M2K=S@W%V6STZ2:JMTCL\.J^?)O@PM*KXY\,!0@0$<<0, 0,6-L-*E7EA0QJC M6KS3_>,?^B%-4P]$^KQ^@=O6\TIT.F PS:56['AH@%Q-+C]EN:694(N5R>9F MA+(W17'&5RH[9C76IO%LGVD-MY!0B0*CS9K0U$P.SJ4_@-FY5U#PWK-S%QP*=I.;%L%IKV;M:?L M7%(FZ[F[FY+F@%G.?F4/ MV?PV+J*3/]QOA1L+!?HE"0I4$)!7<>'1TJ_Q3B.:7J-ATHL9U%3BV7/H<1:9 M/&V*]#\_U?,]L"JOR12%7:%S$'=[2?$B?/$/7MGP.\M;92;S2"6>FZ7[LT)T MB"4?,YE_QYY_1-0X(R5J4QH@V%&G4O=;Q[U*O<_>:&CE[0KJ]$Z1CZDK;SO2UQY M3-4P>4L[ M,.#QPK%5O;:@*PF+3;'Q#;_-+)_*8O?"=V34._2$HHMJA0 A$.0U^:VD.FH. M>_""?[2@<>/3 _Z(X.&@0,2I@ 9!%$6Z):]D:*LGJ;Y0S6Q28ZCY_9,DSE2' M?WM>.BD FT+ ,>![ZTYQ^>'4G:=(4(7'NG(?X$>[8X/?\_R!N."FQBOP+%P# M>(I#OI]]M%<@%A80:(_^[O)36\1_#&>K MRF(_S"YR]))-)2<;O4M1947HOL!6*GJ.>QS[7NPCB7_XPA+\$X1^@<*"5>ZM M!&U)Q'5A5@!-LL1G)>]YVR]\?T]LRSTT7VT## M_'\_90@"\AC]S,[D<.6>4&]GONHL$\G\?L@6R)8BT])P72UU498GD0RQOQ"! MKTVKZ^3 7H!6M=S.?3/H\4/'$*HWEH,:';Z>@ MW? 0>M \@W( 2\R3BRTX!MJ2<63Y8E/C2+5 FQ-^X81U"MZQ%[H)#X_W//// MS4*"L@(-[9AC.:[5@V^MH/#QMNMQT_#+ _'(:*AW7>7A9R.?UU0?BT;[BBR M_%]=P$?*]77SM=_@UV*0"L%!K_#P:EU@$G*R5&17PTY!:5M,W.K./_H6ZL(A M6%>@4\O9/25+V>Z*:7C3M&-Q-< @T$!U%B8D2XK%G5,1( MYU[56T=OD@Z+=\\#Y%=$KT>^=#VIU4NAN[69R@_6_D/2+3ZS__0IQLN:^,QXO M&9HH;&QYDBL;4AT= HG$>2SNPT']"L&"/YE![R_,67=G!2;><]_CK^Q Q!Y< M7<$]Y:#JY27^0+TQW.I+=RQ0+$Z<--'ORUI37^WSM3PT-J"8DMD0T_H=UV*_ M3+!W<]M'$LPL2YF!6-FW&$=3FVNBQ0T*#++.$H^I\QH\_SZ<.>_1M(_ME#8\ M&""SHJN&F01G;Z(+'!S[X5ZNHZ'HAMSG[)D#L$O3YFWOR'Z(P3G%9RB>Q,9> M-LD&JGM+!_ \]JZ?$#N MNTZ_?%"O.+.VUKSBJJX/D+2Q!02O*0 :$B:O_B_6)]"%)T#LHD-MP-&03C/7 MX'1F1YOHWG\AZ\P;X.Z8AO4'M].LQ"LN&^%+,A0M<1:.@%G7O3[S=9&9#LFC MZ79 +0K."ZLJ4Z@C(9\/)!A\AUM!V^G$,=EC K0\;D%5S_&%]1N&$ESH$/L(;G\P&VKP^1FX@L9WH)?(,= M)L0OQ63P\'60:='"+GU@OS_^XETG-!O8 R@M_OWY .[J2'>4617NO& ?H-4# MU= #7!AW['1&V5A,H=^:F'-K4ZTUT3P7?@,Y[?/=AC"73AY#:&G%]3I_M&5=<+5/ \G\.%!KWV+S#Y@S-$A MMKC^QBWOQ]7=)(2FH5N6JQ?-@2;LGGT8UL%WT=!3ZJY9;R;9>F')J+M>L30> MYLZ#9,+'W21(YC5/1_81\9TJV=YYI\V\E2 "2%=S?83=55.OZ#%'^D^(9M. M)YA;:.K&RDQ;B^6<.4KQ2&"YH(Z=%DBV9_!45/B-Y2"U<@Y/83BX _50&PHN MOJSE,4IZ22E_(GRBB+^]$?@W\N^_?##H.P:ZNXX=Q)]'1#V<5RP@1PP4(AH^NU'OK:3?LX,UP"3?Z7)!- M,%U;^HQU9+ZP[JC;."F]&B+Z2K9!&7). *LZT,!"=Y]H;A8$2*B,A88[;M2Q MNBGD\R-FU>EHBW5S\K36X0%K;\XS"V)XI9#DY%\Q%*GDF4T')51)84&PI],%'.MH&W\TU '^CL M ?57%," 9,+=4S^GP%4Q)0T;CSKRFD%^.^4>5??C*F:2I4J6YT44L+R@*,Z- MEX @2B841+QB--HP=0$@6=5F_C>]@8'YN,,/C 8E$6X*OKY"GS]@.7"YR_-[ M^G+N4L5[?(">$* .%/5>=RZ#.\282)DW,?L*R'10%#]M(E0F'CQ7K^A8>!Q< M'[_#T_,M 6Q!* BAMLBEZ\6*&%ZF30R3Z3E<' 7 6P>X.9FA"RX>/$##&AZJ M<=XPX/9Z2\+$/^P0#G'S[;^S[7)3=LF_#Z0[>I*AFS[GH5_=1V%*0[B6O$'G MS\23P#N- .=76!OO[$_.Y(A[SEZ+,@3>EHK'&#I9#,@@,=(SO%Q&+F&V+0)$ M;CGI2#VB!4ESW4/7^_@5KB.X<>1%RONISS[NV!E/LE:][XUS[ M+R@Z/AG>6/,-#_&6OL8&;8SV35F?__PC'*=AP),)+P0*(M)SY\=2CHY ^$Y' MBP+J29A&1D:=8&F'"ZIS :7.T#$JZ=O^5XZ:[[T$?LX.#' MV*UV$8&0ZWUP>T:YMU(NH5S^<[<%B;)T%%0=FSJNB>A]$?O4)Q[G>3'A<.6@L^*D7F#;RJ%]%1[@LA:. MR#[HY'8,:8QX1KY7*6 2Z(+])L%T)"O$XH1^A@'>:*?T3UPC*[+I\A;O-:5-3CR[7@J.G;NN'8. M/ 40@=QN>>B$]FS,P ,?L,F'\,QW*.,MP<>WF[0X18HBL)!+6;$7NC-?>!HN M@C1\J 3@"WL-W'E 913YP>%D#72A(APN3#QH1)F42-OD-=[-\7[6-0RH.B,W M/Y#PZ>5&.4O7("OMD"O;PK<]>.CI MG8VW %UQ?$W-FR!XN0#GGM^AG)P@.])U/TC3X,/ MEF;X;6%7"3>*QPEFG??<&X"";ME6&6C(?#B/S9GLZZI0Z-<$UG&*C7%GG2L9 MPCW%YI#$8\Q/^#^Z>KN5GG'M+7Q7D80BW"=3PA4.@C>XPZ?>8J$7G]A=KJX1 M*WV[G/2[;^>H/1,Z^/+8(5-LS4,[%,D;PII#QMDAAV0&+'B:^[=.$!,..0_8 M #4/=V5>LO&S%CI[CN_T_G8>3OIXEC'/G&>B(>0$BI:D\2>V&C0XCFYP M10]74,+;2:P4=F%@DB"P=*$.71;_O._H;@/K?Y[%4#_6W 8NQBK#$7!SO1A[ M".CA\0,D6#.Y02FO,J-DD>I7.:VLYUY*9/ 4[$!2_.&$0+?M,6A-(M\/V@VT MMUX;V!>_XQ7FL19PR^/(:^%6T8%?0WGVZT^=V.0%D__\SKDY3GU$BP$D!=K( MJD^(MS;1[-6&&6VSVQ+U"A$W9E0MGXNC(! B9!<#'J"3_<"RB"BL(A\YA 25 MGR%=04+W37K $3?C=P=>.!+$VY6+T)[CX8\R8WU##"\%7V,AOTZPK ,NY2"Z M,/1L5L+EN?J+ZR'P4LJE0+$HM^*#-OL/?&@P4C]T'A8.@X%:"(":D/> L"TX M )C72OD!13E N%4D =N'R)O)>XD"Z ;_.,S=F[NGD?((!UQXYX]6?(SH-]NS MHK=6-[8!*H2.>CB,H#8-<+0JMJ>]7[$!O@8+"5H:QQ&ONN$2&>_R\\EW3F@_ M6^$0%.)CU*$R%XH=^NMF-!D<#K'3V"7C* 'D<)-N\#N\5,= M<:0I_'@$X73 M64LH<,5T2Z8\QOS:3)C@+J$QQ6@"#2(SA,O!4+SA$&1LQV;>957@R=A)XCW[ M8!"@;8HICFK$X2[ZGFGT4!?"<24=#^Z1O0/%Z1##@U'G69<(;A9RE9Q]Z$(0 M_E8@F3U(JYM&"KRR>]B T>(B.H?ZIE97A6S>H^>3(F*WF';3G)H[0V]FJ>ZOY/)\@YU M,##HU8IFH)O)+&UGPK:34X;2^=8LN]K\\0\=$D-ZBPCO]U&\::F;%0^,(9NJ MU@6Y(BA$OW=G%)^+FIG1N0W+2&51>VI7$]OZ%E*F\CO^,WD M8?KR!BM0AY=$"IKB\<% MJ!?O:-VXGRZUZP_HX'3X MOIL-[RE-DU4E.]_6)[8,])K%]/:K/56Y+'S\MM(TGLR[F?QPK3$C)S\162&^ MWNSPJ9J^"S7U<^UX?RUQF?FBNY;;NX;<*AO.>/]J>>4;[#B=8=OJK.$0+#5K MKY7L+&^W)%2^*77NV3Q5#%S@\P#&M:@E/S%)TDYJ0J![6N$@@%,B_43?W,$"=4IMUVJ$$[T]POR.X?_V23F7,"_G;"Z$?FBJ!;ESY0Q!)VL351D .O M5#4+/E,3 +H:/;]4;^I$7I,YK<8XS:Y>MD8=&_0W]W2I3C[&T*+B[JJ0 ]5= MSRV=U#YNH> \-#?7J7G@%M4E?/<\-R0.+34 G@+4#BN M5^R%P&/'J.6YK#TLG\5P["96DKTH;=._$,!^X#WL.+449;RBPJMS: K.D:?< MLG7#C6_!-0"QK]0-Q0$Q4[+DQQCC'T>!E$]L)V(]^W-"/9*ZWC-Y.ZA<.9P- MBAJ#[Q[H#42+G$^DUX[[?2XE[]LT:,B%ZBAM3GL.D V(3*D',O5!CI./JS5V M&9(1G?1Z02\:>29EY3(;?=R?F38ND9T**\_Q.T842F$."(;O(E%\$_839A+G MW%O'@Q5>TDT6R[N;JP,5<.\'; "C\_:UO<@O5F6KN'=XMIY."T0A.YPT\#W\ M YWYH%(IUW9L7)9@-)E)4V:N7I+K)EWMC:BU6*3GN+8,&:*+("/^D ,?EO[_ M'K]?4$EY<$,#PC'_N;"V9SR@@$5H0+B!_)ZKYB %**WF=4,A[Q44Z"\ ",8> M?F N;1_,T=;T '9W:O/7"H(1>V>7K31;67;7Z>S[1F:^YX:;\Z3:\'%WEU1+ M4DB;PLO_X-IAX1GE.+@#N&E/AWI>F+5S_4*,RA /L?]*+^?;_O&/MYC883,A M,_V#H5KWNVQ#%;[&%Q82$ -C#\E-Z.[8#=A#(N=%8_CER)Z#/SK#$!!Y_D^-%BB?I:99+IA,BER!$P&43"9Y+SY(9 MD,VFR52:_\.=/>\WD";[3T]M=C^JR7S2WA5R==.AIAN$6*IDTUR;I9S''7^S+2UG#\][>0\ M*R72BIH>C/7/..]-4RQZ7 M&,!/&"O9Z:-GDN3IT(613M#9CF823KTJ;S?:L)HVNUR"(TY'%J;3Q3*1 M'_!R(4FME;+4%,GL'!4@.!VY,^K)E,GJ@- MF"6KK@9,O]';;PM)-,^0Q>O353QCUBQB-$[L9O/\RAEFT$/)LS6-DSU#&<:W M.[@FNC?E-^MZJ;/ADN=TZJ\;E;0^*!-$:D^;PZ:V;#5F73CR[)GMEF 55_,5 M*<>5L9PJ;=9/B0EZYAF=LL6I#+CT4&)2=J%"]QR3F2=S<.09G:A>>2BV235- MM.6XN:X*.T<I;3W56",!_S9)*J[7L]UJD L3Z:U,*U5C,#%9OJ&-&XMYD9H:\S"13K?L MAE%DAGD"B-G:.!/$RDNVVVO>#DY)#="4X]51XL,TRK&R;2.W;,]M/M MELBJFE"O=%H-L@+G&2+2EC-J5"G1G,IMG8VOC46YHF=R82*=T@M#<98HU.1V M.[,I%GL6X*UNJ$BG%C.:8"F#*).MN*CV!'%NST-%NI7)\2:['JH$Q==ZXXF= MM[MRJ$@WN<5@0N\(22YSRZ=M*[GH39YR82*=2//KAC);3F1I-=[;(ZU6X8KS M,)&NL.)OO MUX34Z,C&R"@^\;UNF$AGQV4^Z6S&*V+44KKD4F07H^(\3*1KCL 32STV;XY M2LXJ98,DG%"1%N.)"B#-@LJJ#BT6>9Z<6OCM9W2JV0T3K/;%$E&H+R:"E6EM M^$0N3*27F1)3V:7U-LNO].IVG98X)=D-%>FJE9+B;&]@$@5064^)A02?G0N* M])6-^!(OF4,4?!$HA15BOMMYHD_TYW%FEZ]7!L)DQ]E/\WLRR.G'&%K*PG^J,:=GWSG&4/8TV]!ZB"# M246TP@5?T$6 R6L6#G#VOA%T*@7O-[08V*+0:\A7T"(N'>CEO0$G' >^BHU[ M9*6K$!P=_]+$Q X#MTN#^+Q*?.5R"$9R*V'PKK\8F@AKH,2@:6\BM]O.?3!. M$((OVGM>#$DS'#@)QWHN$W0H%.HF].+4Y=!M?JYI >W%.>I%P7MI/-CE=ORL MYWE(UG$^"*H<9-DQ=[I>*@^>ECMC=&D%S3K<]E4[M&T*T,"CT[/E^_*K]"G* MA? ]X+AT"VX&A9PFSUE2<*/ Q0MQBN>"8Z%%L[U[\U"LD$S?__V//0O.ZWC0N:5X@7+ KYF9#<26'OBY__AUE+J.C@02R[7EM@_& MB9!PJV3@E6"3$&[ARU5/VN%G 6%_/-BL:,W_03OU'[RU]\MF 4<+NC20Q%W$ M>5?G/.J8\_H!/)SA+&YE=\ VR#4SWN9C?^I>]0 MM2\]$1XKN'Z%H)NF#G?Z&>V#0UWVQ]] &9 80W$)6:\VAH+S'?^4O S,U4]( MD25!0J/,\3 9>H#/>O%A\-1Z32C?>C;Z%3[=?WQ0E8!LCIVF.,,.!=H>B.+Z MU5^B2.,0O3X#4WRZ!,RI9?$.*S\L[[1W&<@_6KIS.9^"?@I MY PW==B+./R]R\)L/^AA.?T12&A32W2M2$>[OQN?X@*A:XX7=;\L9!F\"$81S(40?\=+*G\#LAV M9X8N:;QK)W1[(;BW'CX*X_L@WK%U_P/W-@A_2\D M/=@^(. )N+KK]YZ2I!_3_P[2[ 0N V(9>#PJZB=" ?&)YO\>1PC]P[U?0W>K M;UYM!4ZHPU!^BHM5@8^XY2(>B>1K!;CQ]WZ>3P*WE*?'T N;\.+Y]IC(1/MR MC_M"IZ)]N;]]R3RFJ6A?[F]?(AR[UWV)<.P>]R7"L?O.1RC\J5 X\Q9% M7F,$/\SK]+]GN'(QO/TZ0H2"ESX+_D9, M74CJJ[(+_=<%5+?G&B4__B4( (CB3;6YT#:2SS':%Y.-.UOVD1+[05HJNIL. M(<,-9>5-,OWO!1;N7O[>X<(#*('#J8.4H$\I\;.5K'ZUX*)?2?P0>I_?!3QX M)93Z 31A=U1U_# VZ.L[!.5[YZVW@;/#CQ4_JPFK5N&(YF:?X@'D"9!] M)H0L#\NUUCZU:S-J.K5D>S2C#>>_7D;WW0A9$.IEL*^I#-/N]*?I*;FJC%NH MR$PJ0L@((2.$? TA<5(G]7#3EVICLH'?H+R>J9__(&R[QW9?XRFK7F\RUC@ ]T(/2ZRP6@6H,I4Z8'U7)Q8Z0:"U1;\/H.A @\(O#XKN!QMYZ MTGIM["@SWF17!4!EM4W9;.]_O8G+N_'(Y.:U_9.V;; 4YS1MDE[R.H6*LE[? M7(_P*,*C^\"C2]O=WXZSTW>PY1]D4M]ZF9NDZ\7 MY1U__HWXK@43[FPCOF^%A#O;B B:[F8C(FBZBXV(H.E.-B*"IKO9B B:[F(C M(FBZDXV(H.EN-N*[5HZZLXWXOJ6BKK,1=QYK]/*BOW!>_(?2X"N4(_G[C63# MKU'NZ8/XX!/7=WJ+#[YF0:<((R.,_'W9* (!!^M\C3)-GP0K[SB?_RU^^2J% MF+XE>IX',-Q/G8L[+XOR%K$H@J(_"VA&;' U-O@*U9,BAK@20WS6^DCWQ1!W M7A#I/0SQ^2L@_?U-2AZ=JHM1RON!+M\[Q_W*B3\DY67^T)^R8,?&M.*;!%6P MV)6FS)5I>DM8[ =F *6:*89=CI8U=D4#(F/VT_."W/5+&I%$\HL6[(C@*H*K M^X.KNTU4O"8"IBD@M9B&35!4>6^PJWACEWWN!K6;.W7M=OVZY^ MK1\/F%N."M\CW WS7;X$$95X3)[;R*C6D$X/\.R6X)?Q-W@3Q 2%MRQ)E, L-D6^[9AC0"4E M&.)T_)8I$'C' C'+$1;'?T%/"SQBY>@V_!FN0P9VS(";!DDB:3%TL*Z!][D[ M:PDM'/%V#,X%?OAX*]+F!$%WT%I,( !()LAY#W#"WH<&OW,_471M'K>!J4+% M96ICVL)!I@.7JSRK))@@\$%(!&=HY>[FH*D@(L&?L!N)1U3RTEAB_05 1.%M MJ/-9WI,-P]2W4/VQ04P\;/W-2/1Z*,C9LN%*>-4EWPPRK*U#*B(L'V(;R5[@/R-5%TUIZNTEKR!^]A_X&!N@,0M>FZ/U!!\F66=L K= M+7BD/3_$IKH&AJUD(W;9?+T4N?>=Y;WPL;BC=?5(!@!_8#_L<\T.>(5UY:#A0R8%F'[Z" M=/=3?Y60%B:P#(#11('[\/JJCP7L@Z4G00@^PU,M+DH:G)YT0$ 77B'W MS'5]MI$4Y0%R!C05YQ)B9&\,(AYD% ,J!G#]AH(9&GV(,-[ XN%N1]S#:2R. M <;;P'U'1#,Q#V+!FD$8QNP$>4."\Y1,]SD(B&9+QW)W5=FYWT5?>1X$F=N< M']AYKD$2S3 OP>=O>+30X.CG,6B=\'5H]U8.9";(*P"^KXD$+$:3#S%4%=?= MLE,MX.C7(SNYZ)AX(1S)>65U!WJ@QJZ6$PQ%-SL<,^)HJ36+LV17W)P:F QO M:E#^K XP\>WO #X]K^B"[%F44XYMU VQFB,Z+,\(^VEUI^C+Y,8UV24-G@@Y M^Y5Q'!I&_A$#T%(UX'MM>(9<3/4Z"TP\88_ZB8W#5,;SL MCY*68P'!>.#8\/' GQ%D]1C"1. J$@@SL51C#,[U"[&!;D ^H%+$0^R_TG'> M!_KYAV1#752 [V&"C_06*?WS"!$P]+GXB;IC6\A= []W.&*0;*)CX_@<6? 0 M3*< 2@C8 E.0$!PA$0H^X9GIIP"N7\-/=3^ !:XO\%GF3R4JU !J#/@[8JM&S\H\C%UI4TYD77Z M>0O^R\<6)D+(?PW:A= ,*2PI&G+"*4<@XGT$A12K4UA[P%5)K8-%Q =K$;S$ ME<=4#2,7[SOL6B6P5]/TF&;BB^Z68!;S5O:IBQ#]#_=MAY%"5DGG-FP^R<3' M2HU*YOJC37W#4>56LL%2YF30'2WL=(O+P9')TY%3AQ#R8VEEL'UB MP73Y%L=WGW+P%"%.1PY6PUFFNDY59=7.=)4*;7"+(1IY]G9-X2K+E;;NLSQ) M,O'-3*]K[ :./'L[(_>FZF34ZA,I;E^49K1M9(NH$]G9V\E!.IFKC@<[QB&& M1BV?7>TM&EVCG(W+8@,$S;I>Z.*A9ZMO#ELM.4]W3&+7*J^(\H9E M-TH7#?67#W'8.^-=?>E5?< [YZ\DW 'K+&AM^Z<)/$95'8DXU%N@SHX,BN I M [8" #,+?^2?5LP IBH*-E/KSP_]V[@&LM$(]'9HP MOI(,#4^H<6 [!LT=KE>#&R!A0RJ@K_"V;4I3QPX:HKZ>LT$*,H]<(8JB;ZP? M>'E7UFS[P@+,' 6TQ5,=-X\6E--F1797TF15>%YZQS[Q^+K;[OF;Z(]?NSAW*O-()+YGQ:0W^@8$OO?S7'#)DF+I M;UK;[>[WY9N6>KOS?:$>$V2T,7>X,9' 1/L2[4L$9'>R,>^,9G]30;X9$3+O M(,)55=&;4N#LAN)7BW4E?[E8%_%(GL6MW56MB1""OE9Z E^:O5KH+9*A2(8N M6Z\E\4AFOY(,(3?:Q:KXO*ZH7?D&+F*F>V F^A( ?-/,T_,UMYZ=W*>N[293 MN!CHWMFJST7G!@4DT[[72#E=VT^?F_[C'_J!2ERIG?:-6/HWSLU(UB-9_VU9 MIX.R#O]MVJI82O!%8@?Y2.>:$NB,?[V.S%NR/C/VZ9Q)3B:LH[9+E7$S1Q/K M+IQ/"FHM#\GT:[+^^8S(G!=%AZ_CK6 DWA>U$&^DF7Q[S'[+!7S'..;*!D<) M#7HGM;-KIKWJ;P=TN2N!_.;":@OQ#B0;858&,T^&6PY*)FZ+.%S%:C]+,@Y= M.2 =<4"Z1B9.5]/#1)P!^2>]7,S)!)?V2@12Q$,BDWS(TO3U5)MO+Q,1%;XO M,KQ;R?E(9-A;\3Q7U^P5$R\T*E1S.Q=2^MPMG0>1@2:3#S2=N;@B=&,/NYOG:M[/\;K[T2P)G45I+,X -0P\Z6I55H>+8=9>\M6 MLNGMI7U!U#N@,S3N-P0B.54?#QN%UIBEJ#&5 'G+J>^]&DWH]C3R"-V#1^CF MTA,!QQT!Q[MUKFL AYQ,5W/]=:I.]!-3DEXVR!FE>,66('"\9F]]/O?23: @ M\CE%EN5M+,O[)$/$#!$5OJ1(? DOPP?@:!537!+]O)* 9<&YRIHE*E^+" MH2&P2J4_.#)G=)1@))!?Y@E7,<1FLIY&)!_)5?V_D[(C0)D*;3Z*MW0': MY%,L46(&I0;#R[OX@$DP":JR@6B#^GC0B8<427S=F)U J[28H:/"4ZAN<.15 MNP>OVCW=1=\U"-\WZ>X"F&_AE_.*_IU9TR$8G$L10GO1&P_9^G*UV:ACS6Y/ MNES6\\RE">*!2'S9Z*"[]$!]!E2Z2\)%H'3/OKUW@!*3&->'>SF_848C=K)D MB@U)Z.<@*+G>O70B^Y!-?"WOGD>=ZX5O1[K>?34(NVY\Y:W7>7_!E!\:A>U) MT/ A\93OPP!PT'M MJ;7+"@V&FHD=H9/-519## %N2#7UEF)SW6:*P5KZ(?P:**3_^Z4A/ZP;$>I= MA?[SX:JUWU@YI]F2?V_;1_V4<>VKN8^?Z M#*6DC$8CSL:9;IK8:SU!+;_JR+_9SI&5?MW6$Y.J/-KMB/)"++0U*??'/YH> M F@G'QS:B02;D<"?>-N56^#-S_^[\#S'0T0$:E)RWF+,[Z=J+TR GVLO+-28 M#IRVIL/=/Y#,'IJCXD8I&]U19FY[DP4_^Y46)_\Y:3)S_:ZW-\3B"T_JT,HG M.RPITT'+W+"\4Y^MYML)V"FYL!92@[@ZT8E+T:%'+ICM)LML-:S9E=?EQ MJV\E&G)]7YKWZHV>.:6[8>=X4:T.P@W8Z MUV97A7R%YK3.=,*%-IOJEF>;/3]GUG*J61#MRGZQJH!Y6+,I+367*_DD)\*W MQPOU;EG*#BJAS::V6J55<;S=A^\]-\T_]W:#*$G5YI*3BC=6*B8>V$"OM>HO\GSD:6 M&MIJ5-'BO,P7TOW\@-LG!Z5Y: NQM98OP:./>I+;U#RT/ M&U5A&.^/Y;(D255EV,ZWISDT](SXMKY?KD%NDF/:D /VT[0I3T=X:*#;V#6[ M0?7 &F@.<,]PS49GZTBR%P7'@B8@,,_;/TV'"Y!:)RN<#,1&TBK*M)+9S,_; MGH:/NTG;4[\+;WC?T^1CS","_!J#K5P7O(5Y T\QT+[X\%F@*?1#;+.04/=CW.8UH+WI MNH)ZU\$?#5.?FZ@_-&ZJ^F)WZ?>TA#YN)_WX3%!OMMY,T*MGC@ _V&#;T#Y9 M) JCM40)S=C&^AS6K]%K]*DBS;W>UE/'=EO,&S@LUW"#7E#G9%> YN@WQX#S MGP$%3L@,3BBX0G]6AQ[:/I%,EYD? M,,GXS7F=F.JZUNW8[H+G[$+&FNH7:WJ &@J3MSMV%ZQR5EK,.;D)=1F_LUKZ!/ M!;2U4/MV=W:F"PXB#PI5]A_("P(P;#1%1!@+4Q&URK90,-?LN 4UGHX)%("C MG46(<6[776_[+;3][H(P-^J*WZC07QNW%?>G:;E=C/UIN2W: \W=H3AIO.V8X&^W%3C<>_#@\P]>X\Y 3D1E M%Z I9&%)43S:H@YY;K]W]";4F3EF;X"R!G%L-'F-)EWF M;3\I+%#0%S;E=,<,!8P@\P=Z6;YDHYUT0D!'XH>T5PP[13%:Y[29C]"[%UHK M4O2:FBN&13*2I%J5N%6,3M5;\T-:*V<=LU,?G4K;X)1M?9:AH7Z)]B?;E M)_>%?*0C(+O'C8D$)MJ7:%\B(+N3C7EOW.,;^O%W: KW.E#(B=HK8Z92=(E2^ M-S'*O$6 US;9=4*>__<,0RXF %^GCZ)[U_59T#9BDQNQR='UYV]#Z9UE/N?0 M'5JL" 0&B 7$TN/V6YI9E0BY7)KS?6?/'"KP7L@AN:$-*"KY.>MZ;Y>J= [#9, MKAVOS*C^8N.VVTP^))+IZ^3TW"%K7\;6(-_C OEZ1(SPX5/APR$0X&6 :(SV M(R9/<%6FD&N7QG-%XLGXW.W123^DZ.0%4YEO;CRBGN)H%6M(DL^@Y-^OVG+C M$E=W1A,/T>ZX[M<9E6)_?NHVXR]J0ST@*+QE22B(<*#W4 CD&D4(A4!?AN W MC>Z3T6.H_*RTWY4SB^EDXS7MI,Z![Z^O!QF?1P^* "<"G%L C@J$UU4KJ%/D M/)7BD( (*0(?'P(Y@S%--.&D.FR]D,\VDX62LRSDW&Z@R9"BT']]1??22W&S M7]5HNB/?TLTK+]S.N+SYTN_ ^GQ&QVQZ#O2UU>_*<3"EV[G!.+NMSC_8.54J M:A.=M^9P%3(?SY;MS&G\D'BGZMVL07AHC/HY3=H91% /-M .8GO%L* M8QKG9?U# MBN\$LDM?NSZ-X4O3\R".8-YJR->*DL7/YR:8X\1*+Y'V)N5Z3A/,4"*@80(+ M)53RL=GS/+WZ'WZ>VW3G9W;&!+B(N6[N<+X9@/^'[Y"!_2%Y8\6C";9%CY0O M9(H5E[O9$[.9SXGVJ+V8)2:5XFH#'!J&>_8 MNO^!FUJ&/XG2SSXHV/G>PLZ_;3I M!'11D2)&'>]$Y%(1!L1;42$3=?;B3L/ M(?D."0<_L^2/3LM)OA5NCDE#91ZIU$US<-[R=@QPU9BFCJO&,+AJS*?*OXGX M_V3)9WO\(1Q^Q]D3;TE V&7O)?(F;DN1GU^_7X*LX/G\/F=^4910=$&1<&,= M(C:(V(#^[!ED\)EMQY[INAFS#-U$Z9-?X8+^OH)V/G3=7SS#XVKWWV]/";>'#2>^?=>+ ;IIZ(SE/'DG=F+=.5'694T'(WQH/%R&IRF<*B MQ5"+9"9?U7=Y/MUUPYFI!YKXQ,EC\)DE?FK"Z1S*M-^YJGX_F/75%_G6)*O/5Q>-;+/*[8.6K"971,Y<DT8;_-,QHEA&Y++$#\BA?),GR?(M:1"-=A7B@DZ^5H_B4[J !K\F1 M]7+M(ABW+%9V9U;=K0ES/\CY+KT)BJD'G"D@DU*Z3QA$?9?N2_)&7P[H6ZM- M.[VQR"_4QI!0NVW.K+2'PD+KT:=7#&E MSJMJ?2V/1M*BQZ[,E%GY]5H^ET&=)T/3AX6^.&7KA?8^O5R4]H7&!J)."J,. M2;X6C'CGKB6?)5!1':2GZ3:O1$98M,CO:VF&Z$L0.S".XW%5&Z@6QBX/9;BV M = CM'D?S%6@'0(I$XU:C6G04UGF%Y.VDQG*J4+IUK;GNOT$2E4S,V!67#\] MR7<4?FUNN"Q6H5*9AVR6CEQ/T2(C0'A-E?E%0)@G>_7!?%UFF?Y Z^85JB&Q MC5L#0G]3V)/"D*JSJTQ1FVKE6;I$="$@(.TFD7Y(?#UO5!7ESPFZ"B5B%[-X M5%D/*)(J:9>-P+[U,B.+\6[H\ADMQK\_OI+^3V KEEW+Q57F66@]A)7D5"L? M;[>*C KB$VHTZU0[RX]&V!=K\HNS1J+08U(" R9LNV@JH#JJYSB20,I7^B%- MG=_Z7:X32(1&=R-TMZ9+A$:7TO1>1Z.Y6,PT^ ';(7@NK4A.)\=7R(_VH;^( M1IWD9)!,0 (RY7EV/8DOY76_L4%H!#6_Q$.&."]9_;M-0F[KUWJ(:=.AYTUF!=(%0IJWJJ( ]2?2 M=5Z1#U3JBG4!(E&/1/U+B/J)FD,W;54L)?@BL8,IP3YY7X!HDZ=DM1#ZG$FP'=+W74./L=%PD-U#X5%,";B+$6WB8= MV 9MT#6*G[Y8W8E*!'09ESW0=>-Q@=/_.2K<>E#K40,!W?SA,WA@55[!6 KS M^AS$W;JPO A?_(-7-OS.\E:9R3Q2"5]X?AR$!-$AEGS,9/X=>_X14>.,E*@W M08!@1[T'W&\==Q_P/GNC.*VW*[9N_*#(Q]25-N5$FZ2?M^"_?&QA(M'ZUZ!= M"*WBB'Z&3 9E1CFJY.A]A"+B$/CH8@P)"?(1'Y"<_R>POR]QY3%5P\C%8U'B M ! +TPS7(K/I+A$.D-P&8'GN:PXXY-3*CW+S*@_W+?ROO"U[)PPS&A\B54' MF4/=GXG1D+YGJ=$OKT8ZI[_/Q.M$MKZ?%+AQY]DQAV=UW(9+GX_D%\:2WAG[% ,)64VT$I-ERT%!4VJ8FG.=CK MJ'0!EST?.3&7:]XL<))*+G9QT#VXYG0VM*-=]C@9IE0#4IBLEQM6.R M733TC***V5O),EA4Y3JS3H\'G$.7VM@_YI,4(K?7$,;M>N,UCYD.%R"U3E8X M&8B-I%64:26S\9O"O/BM5UO)?&A9ZQLTBOG@+C!IZI%.1.7,3_;]Y[?]HA7^ MT]%&1!L1;<1A(U"[PF@G[F$G(I&(-B+:B!-LRD0[<;F=^/E[JY>VY$U5]JNX M@U]%@"O[O7Y_V>_M?Y%\3%]WP9?O\/*K-=TCSKXOSC[;[ ]A]4_L: M@"=A7GX<*[-R(!?U@>"8T,8'5GY7U6:.99N[0Y;VLU -79GR@ER+M4&^GR+K M=69$[XH&F%1KR<*MPT?2%2J;62S2-2+5ZG=3+= QEMVNVSXFF7G()J]57^LV MHO)ZW'2$&;_M?[NO/;UMO-@%,&.4L>-/DVI9)@H--=_*)7,DN;YU="F[GG9T M/;^N$"F^:CJ,V*I;Z8W;8B:9?2"3OU=!5(72IH ;>EI0*@,NY8I8Y/]XU?@[ MQD->MBX4#/\!UL%=H-J'+M)W;5Q*]_D^H/4[BLZSG.2T60[+B =S VYFZ'&2KSD$AI ]]:EXU<#B]_1<%X&"V*;ZF6UTLXAJ+V09)6GO=[OW1HLLNT- MW]G4-8Z1^NM,G5=2TZWJM:*A4@_)D*R_S^X.ZN@;8%ZR:? =V#;?U::[M$+T MK0V[7]>1 B+E@=UPNEKL9AE"9.I,8Y\PZJUZIGYKL%,E4=%H(T&SU%A9LQ9G M;1C:ZRU#$P]4]K6^6Y]/4NY36;HU9-Q,?[HO#O@T*M4YMIC9=;HX3<4U62IK M*I-25@YS(K?0KT/$9#9OY4O-E<6H M2VNV;*A/A89XZVMRR4S,XD,C;3,\O2BRQ>6&H.2-VX@&0D0B><&^Q'?B#&HB M*>'-763>1.N.7$8?J#7Y@N?A86=H;M>[8L]@XU:1&M0+O5;UPVOCG>(A4TW. MJ:VT7K C=6):?;W:S% YM[],&FI,KU5"_GSB=)]*U/?$EL^ M@:NH;2^ &5E1[T*Y;UZ"V%.E[K?>\*?1J[#PN;E@'@36=ILZQT&D87E5-Q1> M:DD-[=9M)K;I?(YJB*;&.%F[L1W8XJQJS=V^,Q3QD$I%WJ@(8JZA5440\]LJ MUCG$)(!0[%6FSII5A[ET%2HV2Y*XM<.[21>Y"3DHBDS*;#B[1IHG<_N-V\DF M^Y!)O18&^3F=6=#UI^AGKH*=;A%CG.:A/Q MLBY:U;%:65M^/YGKUD.//%;?$#3"G50W7^O]@,9GJ*S>KLDRV:],:K+$$KWE MH--^F@RZ7MN7=U96O\^27R?E?L,^>2Y++:UV/+'(CN5ZC^UM=OUL8V=VPTI= M#Y>4K6=[U1Y+5>/,4VIA U6>PY&9TY$CA^CVU=:")$8@IW1TJO/_V?O.YM21 MY>_W_T^A.G?WJ=TJX J1S]F[51CCG##&Z8U+2 /(*& %@C_]TSTC@4A.1X# M4[7K8X,TH<.O>WIFNHN]A]JBI-CN4>ZZ3TZ/LJ)Q;L3?'*NS;S6 M>,P^URY>J[)M/!FGC_O[<@6?3*=G']75,W5XN]>Y%RN5[M[UH6D.7_J#1?FS M+V[,NT>UUSL6*^TSU2J)Y)8,,7_V7/<'-P?[2;G8N>Q67H;N^5FF\$1*F+U[ MOOOV7O4P\W)CNEWC5=>&^GG'.U06)M >VJWAP;UU?MB0DLUFNTWVU5NMO"B! M=E5[S3EJ.?-8K5C]IE-ZRAXM"[R/>[>(ES M?J"U]O6AV 82BH?)X^Y95GZYO=A;F)7['#[.NO=E54P>E=N7A=;Q\S4(R8*L MW+FG@G5UG+P=BB\W1\=[WIG5R&9J[,#Q]).MI\RUDW%[Z/3 MHWH;GDS/T?[NZ=EK2D_Y;E?;ZWM/5];^BW-26Y0^_- R+AK[8N-,/'W.GI;. MG6%7' S8,:(9P>L,D.&L3(GS3V7W,'M0-L6J5Y/WFD6W>3)HUM@VW_233=&^$;;/ _?239:?L/;[NF0?5_/#A0;>?96GO'HO$STVIUH(YV6JO M(AZ6RL9=O59P50TW ^:GE"0O2>>QYEPU1C(I@##M]:S+VJ*$[.VKO?.R>?/H MBG)?,0NY6G&DR&467INA?3N?*68S1X.&]RI>FG;G0,O4RVR5/*-+^\>>*CV> M]ZI>_:77$<^T@G:(3\Y-J5QW#RK*_:#2-0KWAG4&O]E9?'(\I:F2&U$XWM.F M$>PA9KMA+5UK3G=?[JE='\$>=_/ZYYRV3[OW'7OG(.SNVRG M6#^^:O\0"-C*'C3JVAZ)UCG13+!6+*FZ;^S21=\QP=SO056)MW+S7%@N88<] MT_F4,#5?K")AR,^6+2B^*^",L_A$/PDIF\K-Q2$Z!-P87;<&X'Y,1H'WR\%5 M=(F*3HZ0%O\4X)^V3627V#AJ%]ZKL#J\:,C3A5^.8!,%'4IU$M7 E_ /F*Y* M\'NB]='_<'[2*:Y8M.I*AZ@>]';9FJ+Z90OE;&^$/P_ 3;+L>4E3534_2+;O M7\7\_HWWHC>*U]I+;0V2EIY/)Q?VJ]@WXZ#H[I=)[^/ B'0JSZ$I#HP04R4.37%@!$ 3KSX0!T9(J2QG1!P8 =#$ M;40<& '0E.>,B $C.#3%A!$=.[A*%HE"O5#&]U1I69EO$ M#MO;OAYO[NZ2PD6&QZMQ@[:(!MOM@6R&_=_5)1G['S%&O_F:GL(G@>_;H5Q\ MO(0-Z_5[H>B-"W?9-^I6:R>-^?=QA]<[Y??BF%RN=X#)W"?=A:EOMT\:NU7^ M+D3,SM\MSATYP M+SN&7O;\+;.WE)_I^OS/B+2?76C98M<9+R5&1(OW[I3L%N??N[CQ'72=W9G8 M;NG/;(L?$#?I__:6CBTU"8KBS.63W1OM$5/IP*RZ].7@07HYU$_,?C$NC_-&,S>C'IEJ(1C" MW+-^6^G3Z]'3T#6XOZJ>VK?V):EZM8[;BZS7VS(E8I[=/PT>,A<(+@4 5S2 MJ974%^7@LC7@L@;?[#/@\HFR!=0!24MK\4#6@A.5"^]02F9.]KIYZ:G7D^HY M(C^_7].C#"S#WV6]TI%1B8%R#DC!& %.,J^OY;O;5Z^1SU5&JMN\-QH.K7^3 M!IG2W5]I,0 !G^X< S9U@F!V[%NX\S\3:-K;F>W_B&-/\0IU;X.;MQ??!61Q MJ%Z5M-I!KDJLY[NGBO)PM[>M\PKK:=:6+8,PU'9 ME+BZ<-2F=3*Z"-6F9\+/6&Q+'"O&,&3W[SI.;=!_%$>9WN#2;!\^M)IK@Z%K MNW94OG'49*/R>);KW9T\FM>T?B&+8ZTD*AZ/W=+5K#XW/2M^^F7G/:.U+&S5 M5ZG5DMNC.X]^S0$LYIP"6)X]*VG1R+)G2WL3A=A1\(B]F!L*^7UAX>7>K9+!DY_:Q7]0C@(!<>7A[*3WGZN+EHZ*;Q^[]LRD- +X MT2I^M&KE(9M]?K1J*X]6K=07VX_O>DTYS+2-RN@RUY6?KUX+99(L/CQ$<, U M*[NGDO1T8#:2PX=3UM6#=R4F12^9J=;[E<-R^K(,6)%;N<.V M:0WCQP'X(:5-'E+Z,MJL98GH]'-5J7%V-.R^:,?7HXN+J^>]R_;:CD[>-[3; M0>7P6-2R->ET_T394RX0EO"04F8U)[@Y*NT8*O%#2E^)7,4;EJZ3-<]H=OK% M[JE7RU9M5:V?:&L[.UG8E[)9HUNMB'6I<-,^[(ID\-@&6/(/*14X+NW (:7_ MNBB\Z\R(G.Y]/ GTK#<^\WY]/&!?SDR M99:5GF[95T_5NZ>,=J$F&^E::RZVLZ\YBFXY@.Z7K8IE](CI,"@BNNP2M6(Y MKE.'A1O9DQVB7LDC ^;NW, 8]G1+Z?JXU'S2CC7O]?GT6&]X1^VDYW9/,F*_ MS$R#!FM2M>R^\=P3/@9X1P#P>C ZU_9(9.I&_PPG^O:9A@P,8K>^-;RP7,(4 M,EU("7479IALXL1A'A/:K$B@I&PJ-Q]<1EGQ1W?3(<*Y/.IKNDZ$J@E/$6C4 M; O(.-D<^47*CDTE)4ABNB1<&J;6]!SAF-H8K4^$*QTDM&=;?0U+N+O0H/\N M_5UF\BBXEM"V9=,5#,LDKFR/A)[/>(%1 _P$?+XOZQX1K):@P3= (7@#UOYH'/AH( Y3Y)REAEIEZ5^]?*E/KS)'-8TLC>8=B_*SM-E*R3E8],_ M@(;&MAR]"7_RX[D[.'??AK=Z+YW34<5\$+V6^[K7U=2"G)[*+G1\GFT&R==0QRT7EZ&#V>:V_[QKY0011'_G[/S J-B:E/2>6D*Y9ZMZ4P( M)3$!,BBE$VQ8'= [ MGC0./7(E2L;51:W6_@T9':-X&.?+-BAZFR#=]T9S0$]'O$R,%\JMD2Z6[DMM M:U2M%TXU[?7VJ#<V.4L*E9R^?'6BEHR$U A((5@^_$OZ[K#>=O.E3HGRH7XL34(U?X2$HX0 KKNN""1M,>Z->),)$TF-Z+ M!TM1/81KLOH,2TP<*CA>.%'6.& G=.033@7G*Y@Y)5Y*0#G=TV&UDJPK *?8 M)9T+?1&;,2R5Z-BEYX(91^I"AV-.AH>%LN$38J-J!PC@R7H(O9&R"4%K">C- MX/";1""R;3)=HL1#D48)TGH:=4A@OB%IE5NN+T5@3+!%>8J-!M@,<'6IB#+Q M8G1=\(R#-D;W5"*4 WY5]XYO]LL) 5:42@?&@)I.QP!.$CYM@; W"30$C,?" M0B!A@70G)@C!#!![VI6'!":L8E.*1F4V 8;0@G7LJ__7,ME."#II _&8MJO M55^\<") @Y;FFL0!M\P/9S#M"Z9"Q^ 2P_&)'"*A9WH.<@40P91=H(1 Q]NR M09*1;O"YI2B>;1.@5H*VA-V.@$](=&@A*)XK9-+4"<@G:.>4?:#DH"(IX>5SY>]*^V[$)26(OSI)NLO1GCO;%>@4.](B" MAE4?I01L<)9K%G!>9FAC6T"R0("0+X*J,3<91&]N>!1>S6 >(5ERIJ4)O.,8"XUM$2&(&K,?,@HSR"A*G..0+D1"O 5%MRB/8.BV3*% M?W3.X0//!(P &.CAHDW ;4!HV.T FJB68%HNS+NET[Z!E I*:!/M& K(M$O& M6-4!/H%8$&H?6(\RB+S_*,B)9GA&PI\"DY(U^E M'4H'F&6+:*X76%*?:[[*R1154'?4U.)8"LC3]='D[*A\TYL_I+(9D%'37_^7WCPD]A:4K%TR_X9E'@+S:K# M%N82#;:U2;()?GTW2=7PIZP/Y)'CS[)83$G9H'K%QF+NN.?VT7,/PU0_6 MV_C)0OO&.'\\>.Y6+U7UNG+3U$;7;OM)FG_RR+L:9LNOF6)WY#PU]U94]/.]>#D;YXZY\ M;MU>UV!))\X^Z5ZVY.1A^^! U+HWDE[H#W)70WQRKG?+(:5BWCQYJ6K5Y% ] MV;>O'D1\>=-.CAZZ<;S=>DO6] MZ_R1>^C5\FYSJ!9?2DZ!QF]7K2&'3_)U?23K_=:L3(X5DZ[ M+XV1Z33JHX>G49GEH9E^LIL^E8FR,>JLI@D83(3V>C^UKY MP.[66T_/KZ.Z_>!:*$MS;?;$_T,3D87%RVXY M=]NZR7>U[%Y;\]JO5X,\/HF[*S-B)Q4OC@X>KDK5E_/>XT7]M7DBEFH@H'-D M4BYJ'2?I'-R+TK&I*:-"IEGN+!3EXLVY9)T[A]YCR^G:<](BW?]P7$RZ9S?W)7* MBS3IZ)+(^[6;\\.N\7A;ZU5&#?/EJKU(/X8G5\<'3^IK6JS4"X,SQ]M[*BEM M5FE@^LFGB^3K??FU<5PU7M/'R5ZM:.;N!BS1[_23TM"YN3@KZK>-TVMR_-*[ MR#?TLYJ?$)0^"GZ"'TIG7M&;87<_G+Z1=1V+5_B1AP$L@MCZE<40SF4;W,AT M+O#7+V#1SUQX^@G\K).>RS["H G[[,2#Y2OZ\^Q/&F4,?>TW.F[B@#1M#_UB MR7^$.F8GLLD^9)UG-N8S[GMV$$"B:QH,LKN=8%%#)\,B0+"L"6*I2*OHXY3O M;" M#EL&GUZ/XR>4XS@(Y[K>" +L-Y?&T)8Z=L,PGJS^\7Z&.(7?";!_-7A9 M??$T=W0\#A@YET!X^Z8CFY#>_[CX=[Q<:E7G:. MGE]NLJ>U 690RR8R!6D^HHDQ)($M&%F8B :P8$+^0C%VS*P:/=T:$4)9R0CC M,_+@HK!W-LH_UZO>L$^.1Z)":KG?963S?48V9QDYQ:[ID/1"IAW(^OWC_D'_ MKD&>[IHW=JGQD!-Q T7,)W)8PWR6:7Y S.<;6\'* O.5<37N1RY0ZKO$C]:! MS_S'VZS-HU)A6/[*+M?[W'MV7XY: MFIQ\Z6K>H'SVVLS<:<]3>PC2.I30Y]VEYSHHV0!_=SY9RXRJU2&Q%0TWSH"J M"]E9OAV^]LJ/U5[WI=37<@^D9)_U:_0H7FZ>F2GA2RB;68=BSAP*_QV4M?8/ MBK=WV2>K.U(N6J<'8HN\2)O8(HH"93OROG.% XJ'KR^9!(E\ZYJ&\#RI;:>P_#K.EDJJ/T MH=$Y?3H\;I^C:2P5$KG2_&&T)2B[ 5#].K,NTM+1^?[1L5&59<>X-0ZOE-+A M8!M!M:@-^Z*D']:J^6*E_G1Q?-$MF&66A#$W#ZJ;\IC+-$B]3L]XUOZ6"FUB M]9UZK9LDS:^-#S>!-!.Z6?95*M#W.# (R7X44@6F.XNY'K6L%\.>N;9 M?K="SFIDV%'/!P/4V80D28F,N,"A#;36)H9, _76I*=X>4KO_-Z%J+\B?ZHX8A M.B<=HOQ4/1LW\**V5C[1,(H]0\YK*J] YLIDOC?$-M(A@@[,9'.X=W=6:-0S MO=NGC'489N0=M#VVG!Q^K */2!2^/7&297@9$5SY&^; MXTD%W#!W/ -:#0Y@M"Q=MP;.SW4<-ZTK':)Z^LQA4SQE"@[:OWXXF!X3'^^VT9TQW&G3Y9Y#?@:_A >&^U/^CAMNW"ALPV=Z+RQT[MW? M"9O?:G3MH%>_M32;UL*;^3)"6TVA]O&$4 M$-2!)\'<2#_7_9!N' M R#"NWMV/J5IQ\&C0?)=DE..*QP6%D'K/BQOB!DV!L*8)HU50@.V&\/["S:UN.X MPW%G]W"G^!Y%WE*3<.Z;Z3PXS25X(KV')TL)P2BQ.Q"#^U,100H7DAT6DLPV MV9WML3(Q2- >)LYUO>%?3X@,#V(VP_6G.HPE&?Z(8F)B_#(XSL[SH^??\&15 MKZ"[^\/"S;5X=]%7R.OHFKP%"G%\8R/_XM%$NK2)D82XW@P,"!(4)@^-#A]X7 4.@;ZDM![??$TTY+ M5(<'?57/U-8/#/O93CJO9O=.&X='^VU)S!>N&G*;W3DMI.>/0$?E',9,(;Z, M"]L7=KB*WOO;2L[Q.4>V0;Z#R/YAE^]JDM=G? M/&G52']4N)+;ZP=ZD3CM?O[.?.W6C_*96REY;6:D]E,./4!I);G\OZ6>?,M:DVXPF/TNF2*K>K!DX;KIN6^G^\,T ME'[N.SR=?,45S^XRM:Z\?]P:MEQ)>Q8'ZW=X1H::+I\AWLC_4C9VP"\%.OB MDW+]:-Y7R<65*#IVBV1;""]Y@)=[! M+1U:IT3$_*X93!:2SJVDUAQ7?*[XWT;Q9SS!S+EKM ZR\KXX @&SGLXUUYOW97K71P73->51\,3^?9X8'&X.2C2NJAJB92?^: M'XQY:B++S_OAEQLKCSB=O2;(YA6J'5 6;$O7DR#- [^>@V>&*@.]F]4&"[]H M3D^71ZQ\$4WU2/.A-(EN#5)"XU/-R6\F&1,&FJ[3:C3L<752KFB9=8CEY:$4>S":$]19GZN:M)A733RPN M1--AJO((^8W-8C!T7EE\0A1WKN+%<69_-Q7-AN0\$!AWP M(,C].*D5]F*HQZ96JG236>.NFE1>6M9MV[\2$F2)+LQJ5&J5>8J0 ),<16$) MHNN?91BZ)-_0)4F>V0^WP]?&2Z78*.U?&-?-YF -^8;>J4WZ[1(.Y3*IPIN7 M,7?W-O5R\["A'!#9(F=$+!B1^:;).&+&B"*'IG@P@FL$9P1GQ PT93DC8L ( M[C7%AA$,,I.(J72L$Y.\1RNL:Q59NIJW;<+J4V"]K1R_E8TD,FG9;G&YBE)< M.(R$!4/::L'PJ^-PV>"R,4[).EX^]H]O[!.%GI-? M4-HS,A78](PW<3PQL^F+/1&=0"QN2F;?/76XLB.'K$!>6HJFX.Q0ZC;)L%T2 M\\I0/#A^3.ZW;[^>MV5E1XU"13N=1;=73.>E6S6TGB@3]_%\?YA//Y[4GB2: M#2"1$><+"N^,%G'T^-W #D>/KZ4":5W6*E7O5+MM7&8>NWMWFE8WWL:.5V); MJNQTX@(;N?.7X]O!Q?U]M7)R4VE>M%_WO?,VP$:>J0U-NK *X.!N!P>.W02. M]ZMMMUY+]X=/%V97?!F4;]5&I9,O9;Y^&6I3V"&>MPV5O'JMJM=//S[<7UP/ MY 9B1PFO5.32\_7M.7)PY.#( G'0/'TM/SW;6V#]ZV#X$R-7V M7>-TKY2LUI4;KWG\:NKJ R) 6OKQ;R913+]UG7(+]L .;=ETHTE3M.)(XT?V M[X)F*S#FIJU!,T=$[Q.SQ"G\/EKJ'B7ZL,WJ!AZ+(#-^UZM]:H9K]?BX;.3 M:]:OGO9'K1K.],>_V4166I'CM%G]^A8@LBX8>/,PSK>$@35F;HT&!"Q2I=U>^[_6O]R2W#/.F%])6!P&;]$ X".PL"T:5HY4*Z*Y.,G9!N9=*C MB)S.=-FQ&F9IT-5R+Z^2VC(.SJ[;,%IQ;&5"V\R#%@66WB.9Z-HEN M#;_I.6W;FC4><[YX<+MNN(+. M/9SO/1:/_))=&6D.??_>3>W[KJBS1HYWW3F:^S=MTCXOECK5O'IQ M\*26Q=;#=8T5-UQ4WCJZQ?*.>QEQ1Z!UNEH<0[9O6_W#".+9.:/I7(T>JOEA MN?Y:/GP^4L_*@"#YA>51HP&0;[-QN6G=X0"R)0#R_FV(@XO"WMDH_URO>L,^ M.1Z)"JGE-NZ W#^XC[[]?.L+JRJ7%Q08Y?G#\X/BQ-8&? M#^. G=L?I>\>#O:K=SW]I" =Y)O5:W0C,/BSN&+4;\=_-AW[G$Y <;ZD?LAN MAKBW( *R-$"^\4)4ZTMNL?&I;OHR633!'[EF753V'HQ&]_3A6M]+9LZ2>P?; M=P^MI8K7A_N=_EVUGBGEK]V+:V.8\RM#YQ(E<27%O;[K/M66P$^,-O V3IBX M@]6'HDS-KEW9>CEB8G7[J:-RB?O38S=]KSYP/< MFX:>M&1<'%F#RWR5G$K=O4)-'BJ%,D /S=>1SN/?R%7-]&0VF>CKFGYF&NRYKQ0YE<=Y(FODX%5,/A6KE5+3 MZ[::%\>C\S(&9*'G_\JA)]5DSI&(9@VK>:FQGR%]J7%Q,GB2YI_4&W?/I9M> MZU+T;.6JT#AZZF9*F,] G'URH)P\/C^7GN^[%:]@'_7%TF'1P"L0#_5K M_>!4JXF'I9U\4W'^9?_*YTCG)[Y]?=(V[NTOMX;%:?6RV02;GGE0+ M=T5C_\*N=>NW^5'YS#ZO[8NUI^+\C)IV[ES,7[OYJG'8S'L%LZ,_9FI/I?DG MG[N5V^=K^?!0K)2+ROU)^:)]\31X2HOSW=^6]@J%X:@E->J]<_=2N\[<'56 M].GY1Q^UATLG?= N5"55-2[MBG10,FOXZ-P TGNYUU==E!ZZR3V[H.Q9%RTE M7\-D0W.M=I-W=\]:YBI3)==#Z4(LY_4*CG7"J!65( Y@BZ)+Q]+!*CC5%P^$ M%O"'[&N.HEN.9R\H-]QH2.D[@-)7T3@AF9'T.DBJ3S6&M:"5@&WN&\\]X6/I M%14GIG^&4U#[6HR%BJEER8^M"\Z2!<[3Q90 &&R A6$$6$NIOM2'-YG#FD;V!K]K-8\O#CYA-AGEJ112D^F4Q_,=&SLQ5,V[ M.W3,BGRTIW2]TV-)/<[MEPJ'@Q__%G()<%_P_SES)[#I(GT4QF=&R($&/7FN MT)-M5A\]M2[. [,K'=EL0XN:*< 8'.0,%G!ML.,4^#0,K+\^S@(9O M5>MA_O=7R_5P7>.ZMFE=BW&IK$_J8FB9]5OULWSMV^AFS_S4Z_[R]IUJ6E)D MNA2S^6^K>L7J(CS;+@J3=67AKW&:>&F\-0V-N<0 +6:_>[MM5R3B]/^^(C>3-X2#"^%D(.68#:#?*TVN.'*J7A2M2-5K5 MU_,7\NI>-C#%J817L!+I@I0H1)EV+@;6_P963HYGC_RH7\^SE8[L1)1_CAOJ MN#G%[\+&' T_?*OB$[@Q&X#-A .PF=]&D:9X7>^YVGVYZAT,%<-V!R-)KWT= M10(="W-S9Y.&Y-7K&+4, D6PZD7[[+M9. M>#"5\$:"YC@>486_-%/1/1K&IY\GF[C]CR']\?Z^H!F@$VXT-].X8[-"QR;& M%\'6XOAL"8#AU;(Y%^B8ZN-QH(V+C^(LP#7CH++7NVE>I;O2D5$FS7YU/W^ M&2[0.2J)B>R"S$+;[!E]Z%)9-"6-N9\404 CCL?UUK+^B@YW]+WRX^/A2?VD M(14J+[3&'KOTQ:3.2*[U[8VBH+SK??X@[1KYIJ*VG99\52YJHA:SF\N<%+]LM].C-3DP]F,LE2M]QBRB:O(/BM7Z=;[K7;NII]1CZ]^XVS-)]<(5RWIMG+WH#V)A\E&=C_7K-2? ME#;>"/?WB/+Y1"[][A&]:),ZA&^SXF7J-:1'6)3X8>IO>B$H=.U)T8ELH]9T M9GK-X"A7<>]I:G_INYLC?T+O"5JV3\#[0W-RK\K)E%% M;I,DNQ(FMZ#CG[(^D$=.D/VEF)+&R/!SC !(!R&7*A;_%":_(C7F2(D74$,$ MF[J#RMZ:OH7J?_;.O32?*Z[5^RFE4_D5,64&XC,3%OPC"QT;$>,_-Y>5A5*+ MOX.0@6+K4[D$_(]@,4MO]8(EK%CT>JXSEE@Y?%EMF51.4W41N6:RF[R=<\&_ M(+WTK3>O52]*I;*.Y"J++L.O!$!6?3O>:SKDQ4/[TD=)F+_]?M>YRO=;W=9E M]>[A].SF\6E8;C3;\[??%S\7PT09I90PF;5 ^DP!-I,LXR:4 J,#WBG!# XR MIL%P9H3=9B8[T4X*0'ZM(DPP!^F M)8#UAVG (WXOEBVX-OB$S!X[@JHY"M[AA2&IGHUK?K>CC0>*:NIV9%>P"3UG MZPA^?G3Z#;2ECE.P8(X('.+"045(_]]/S[;E)EKB)IJ;Z*^:Z#=1?)%I93F@ MGG)B2U9:BOC4)"WY*:O(S:=226H]E9JEK)K/YDIJ3IW*&G4,JB^=RR;(%X4 MS-7D.0ZT"6N*LBGK(T=SK-:!_]*JTZ/- O.;.ZLX=A]Y4\)D#C0"7/CE").Y M"# 9(9@-LO-@C'[ 6)7!)#YS31Q/=^DCESW"##O"HK]ONP'3M,)Y"1IF# *Q M5L&JN)8@.YC[*3 0 $W$'J<2PD;@>P*/4-M#P#S!BP[]P@%$U%J:(H.55,*I MB&RP0^..K4G'^-+$ "G!4%/"$0S LC%N,7[3D$=@(%VAB:9+A:]0=;"]EH<% M787>)*\T&E6-V4J?/BQ$3C#5$4TME-0MJ\LBYH'1"PQG2R>*2\?D!PT*0/4#X(?_D)@\Q7YP NR3$<"CP$1N[K0 YBG+4!+Z M(ZK('LJ%;(^$<0 &^FD#$7 J?KZHY)E/C_$SX>%3/ZGFP22(#41>,LK:O.PX M'\JR1=X5G1AJ#D@S0;$# M;PZTSA=1-="8%5 3F_7,8*"(#%@,A_XV&?($.NJ?&?(2Z3AF[N\'27_LLVE" M_01XQH*'FL!4"49@)@_+Y:L0:0VZ%XPJ5AVBSC(+.G:[WWB#S@M=9/A8UWS_ MV:(S-2R 0!5\:,751W0S3;:I$["T*>I33PA")S)![>BL$% )T[V"<@:BB;!( M,_8!4K\Y71@66'%=#I8#@!:XL'$UUW,9.(;>TDP6C<1G>_ V>KJ^^ ,B:32" M3Z4?>UMGEKNRK@NR 3ZSRZ@^-3C,ON?(:)'(4"%@/FG0-W@^@6;"_PC$74Y, MU,<7!IQOI N@D(>IN;!H4):ODZ6Y=?)E'Q/_DL'&O(YJ!;T#60!OED)M(U5/ M^1O,P3OV59?8]X$&&]@ MIN-I;)T\_3Q-+D7]!&H144N1H:"@T(+J4?P-6S2P[^" )/!;UW)'OU 0C>X9&EA#LB=&3P7%32)SI,0Q5T"Y9X8Y^/K5-@ M(!VMYTP,7A/YK,!G(2(PR?!Z%K-A."7-I? '7/.-><,$4,$LD #7"M%U FSU M[?3:4&16SI&5P-; -T7A(VTZ[I8%L\,\GZ8O=?BE05SJKP:RP'Q'!!7/83 D M"TW;DA%/P M&T5XKTV5](==]M=D0O(ESZ'8N*[:%UM#WV* MCLQ\2> U+A( 9F$EH##I W4*W.JQ=B4FT4'%H@NTEF_*D<7COY#G:!*9R4<7 M56Z/%R\F:6G0D^H1'* N-]$+Z,L:_$9#<30>.8Z!DF&/X%R"X3"':DP3:"$( M.^/,:79A[$:A7LGX*WB,4DD.B(.#4@FP3YV9$ALE'55*B(F0'ED#1,@R7?0* MH>I%FY+29?&K93/[\>\%"')=UM%#]N-6^(F#GXP7O.RO0.0FR(8,"7!#, E= M5:1F@Q4*4 .HJ,;,)K,G;6X M,1OW>;DYGW+'SFG+$QF:_I;UB_+DN^-.B&$ZJ@[%+*03D\1*^,\@X;CCBY>_ M\O*!S?^#(41@8>DB;=J_M"VTCV%1L.7!&&'@"XHLB8D!94TF@%,5(G62,%\Z\+R#<0+ZI.\D3DV5KF_]MYAX MCV,[0DOW,$+DA^5,EKD;E ,175-P,/ O9NZ&=YT.00*[A.C,3?4=VH30]%P? MJH,H'$JN#APB\!YX9%H[""@%$\-0 _@/Q%_OCYV\B6O'7!S4?& !=<+!289/ M; +]+>Y59R-+7 M"C 5BFQ3$XS.I N6'V,23)0G@N<[R$W_)!SCI &_?4T9JP Z%JA"6 "+3XL]T)A)/!T0"8U#*70QIA"S-)6#M$VZ""! M?A8Z)("K.G@J9TLZP;5]T)ZOD73LB$+PJS^3\*QHC%L?T04CCDE@L37HSP"1 MQ8\9)N ZD*GT_"SH#F[8.DQ'8@/QG[-$.-PV^&4VC?WZ\_XJH_K,@HTYY>O7 MMNV99OB>*=\S?7O/-%1J(9VF6!^MJ*[.CEQ2QZ%.=!:4.F2ZGV F185Y::CU M='?++U<_\;G8NT[PKH\;#$>F7PW_&)GSM1CBF7W+!I9TS$^M72>#N['R>@U(;[@5^$;, FV/Y- FXKK$SH7 MG;1]XK&Q(*D KH.X(=B4%F%[X#K0G%9@@RE!SS".A&_,8)5-MQQCLEIE G)* M1N&5*BS%Z(8I+*AB,LSJWO'-?CDAL'_]I44"Q/_9HU6'_,^92DQ_QI[=E-OH M#V)FE0,RAQ&2)@&*$[J7#M^Z$[^%1KSIU@_JEO^T*P_)S-ICSO5)3<\ZW&] M(M 6%B,$-4;)EUF\<;+XPBZ)#,K!'+:->=RSC)R?BT^_I;?8 D>3!HFH[C+ M\J-9= $%(D]P%\LUZ9HS6'0O$:/P(.:$[].41;<8AF<0U\;P&"NTU.OIU#$- M[\/Y089)M#ET>&$22S:)1K79/\R'ZS58&ECV](87 IJMCG?C$FP[;CP4O\?0 M3F&3C#<+?3<5&M%!9$V&J$#)D$QC,,,S3'4!I1U358S =G:?S^Z)X@'HZO##OT0&D)M$G= "&-W&"'>&"(;$%MJLU[\ 4UZ\T^) M?;1%G*U_>F%J<.B R3VT[P+;DD*5IP%4>2@$7OGFHC@W%/(Q*$6/-%$6C0%= MGCW:X8.WCVQLI\* QSM@51#YV!>)M\]_!+@7"-QRZ$L@>Y;3/#$.1"^4W3&( M+1?1L?WQE_S,##D3^Y#:TJIQ[**JF!)YQ:OER\P-EHC+9SA?XL<7"0;&^1(_ MOA1YY;Y8\D5*Y27.E_CQA=N7>/*%VY=X\J68XFR)(5O O'"VK(PMG\UZ]-YB MY_\L3>8VDSY)),72\0X:EA!!3Q=(N@05+R/DI@SQ(SIFR@CMB%0B!<9=A@" M-C.O52" E,@5HD6 V+%\;=5$-Q]9.)ZYT[ 32Z' 18T(D+92%%=VJBF^R)1) M9'+YJ'V3G9#CS:ODIIR)[S7G=TZ,Q%=UTXE\KABQ4Q$GS=V) ,G5TMN.N[H$ MBMB1B-GL-N5;[,A"*)T0,]D=#X5$[('$;'8\PK%)/V5'8" ;<3PT=N(1C2^S MR1G,9?@*IV+8B>55U([*AJO5Q@VMYDMGQJR"[Q>QJY20ZD=_W&\Z5'0=@LT#1CFP![G_,6[RY@= M&=N=F31\#%W]E?X;I,'K[<:I?7Y4Y5L>54DGTKD"#[S$4B7Y415^5.7M;=]\ MM*?,XJ6Y6QXX85V17I)!.DK/1(K:,XD955+0:'&$5[-JT>\2+3LFC0IJFTDLM)4K3;V;'3LFT.%;$]K9F?0946+4\3 H?!Z2+\.[TIJ>YDG5D,9&3(K]*_;VT@&O^#FM^'&:Y$L7/ M)(K973IZL^;KTC'SR,9EQ/G";J>W\7DJF+D3.NF$E-_UH U/!L-!@">#68H! M62F1ST9[3"]V3/\6Z6#"!X[#M7CY FW[=O,CVVC8X@,V8BKRP\.;9.F?T\DW MN6)^=\76DHW"$[HN.E5+3G\6/'];=\E?_24O)3=0:_/H[49"3!SAW]!/X, MCM*FTB5B+"AU.%V_,%SU<$Q+K'!OV3^##A$H]B<&F(C#, M)&."";+G6H(HB-AON"8A)61Y[L^6-B1JF%#^='PYFO8ZOSHN=OIYP2'GY7A?G)-I>E%K6HUFA#ZLE[]% M0O8G-@2CL@U9GRIYXG_TX]\+RTPJLM,1B-'3K1$ATW?5V/4U^,7M$*$OZQX1 MK!8^8E@X3$OI"IKC>/!,S[,=3S9=/%>.#TMBNB1<&J;6]!SAV,3Z"E@TXDJ7 MS=085>:TCOH(VC!=6U;M_/_YSS .3:P>]AOR^'Q^-LV7! M+2]^S]+="RTB>["W@1+JZ526,R(.C!!3I3:8L(([C7%AA'<:XH%([B-B DCN-<4$T;D4P6N$7%@1#J5>_/"$6?$YQCQ MR9L([^Z0KOADR)MT*'Z"#BN%Y4T38>Y8P">IHE@Z?OB_'^G\CR^2*)=-2<6- M%D8J?H"$S:E.PA3S#TR\?^;AG_\VHQ&IMW%M'>3XS5M*L<>&WU4+#A9O@D7V MJUB1SJ?$[<8*/# 5$1"\%Q;:=G%938QFVZG"E8@J4>:;*!'7F<\3(0(5R;$[ MA]NK(L>F FM5QS_'^]<^87_^S9W0K7%"N<\9I;F4OHH%16HMXTLA+B8;\S7? MV_W8N!7P+^I:+?;O!7$1_R.LO1)OYXFO0#BD^ M('M3;\J&Y9FN$-GZDX/GY\\>;(@J04<5>*EI:]#P$='[!&>&G9.=D6:[(VR?@=IWN+I:'. MBJ9LQXY0S(6!^]H%,CN%;+Q(-(N2$0FE8[ZE,NFY>'/N)]@F1IMQ7)H?95HXSX[ MKH"^<=E<0#<.1/#7%ALFP@H6&F(BD\EOT8FL. C#QO>'5R,,Q4+T*XP=6$[L MN#!S>-]A>)?R"2D?84UU#N_;*PS%8K1UJCF\;X,PXWZB* MB-?IZ(-'VQ4IBD'%=%;^$]H_ETVO)2NN9T.? GN,'R3:]@V,C:T[=B"X+8F) M4B;#MSOX!EAHNX-O6/,-:X[W.XGWZ7PB4RAPO.=X'UJA1!Y?VK0\<+SG>,^U M&[4[F\CE(M\G_HX"L2NGF:1"*M+0(S_-]-G1E@T+!O0J8R$B/-6DF:YLMK6F M3@39<8B[I2><(C2V;Y<4W E >:_(<4S1(YTH1!\MVDXQ77E^S!5Q,,K]"+Z; MO!UHPR$UQ@H)D+K=F\$<4B4.J1Q2=W"2&U?(CZK@7[F_.83&XIC,ASDFIC*1 M\HR?C/GL!*YLJZ6Y@M.1\3A,0FA:IN= <[*I"BII$=LFF&?,Z!'3H=&*G0D@ M1ARKV/1T^(;HUYVW3*(H1GC>8W3@_AN@K@H[MPA1@[B M"T \\N#UIKG,09R#.%=N5.Y":>?.)48D>_.;@=:<7-#3^< MP_=UQ]&9?";2]%D[)=^[L_63346X]=+-GU^+Q9N> SIL@*3(V8B!:R=TH^ENQ\[)P=B*L(+"7SKQENW^V)IW)\MPW&SQ<,W.- MZH*X08 +<]]@HF.;=(CI8.H;]L5VAI'C<73+E*)?E&RK>9F_<;T++):BK^*] XL+CL,/P3N-PFJ::=GQOZ_ 2J>\G%_2ME4;FIDE.5I M:3'?64/X^T_-!28JK.D!0>D!?NKJ+W;KIB[KQ$GY0V=:@1\[^+$P(#81_DCG MTPDI7Z)9:-P.@?]M0@0#VNLX H'1J<*Y;"L=]G8FG6"_2**4%62'7N:1;7C( MM:"MK)3(9W/LB<\WF$D(,$?-5&PB.T2P6M!B,9&7L@D!VDIG4ND_4\)-1W,F MSPQ@"#U; [H!"P35UOK$%)HCVK&LO'C 3ZS9A&V=U\OPGC\DS5:%%T^V76+C M=]@YO9L4-*Q"CVW9U!2?5GU+]Y"[ PW>A>8\&V9N.J[M*;3]_R<;O5_0HT(< MAS;4LX"\3L^R73II 4;8):Z3$(!:KB;K,%JKU7* &3!:QVJYQ 25$E1BL&'0 M+G32EI61(+=M3?%TUP-^3=JBW>!L;$O7D] 83D0!U9;A;0.%6+;A76C9]E_H MV5;;E@T8H$M?Q+;\R:>V1Z[/9=-KR0I0 PEV3EN>D?'I1UCG@;Q+8J*4R40C M[OE$IE#X0E,+!#V;R.7R5,ZE0JI(Y9Q\3,S?$=D$?0B%/Z0/">&\6A'V/$, MP#T8*30AMP., ^00__P*QQ.S+,<@S5=:FFF,NMSQ=%^29609PKH6H,S$;U,B%W_ 3V2-%+%!6W+5 @\6D"#FIM30J M6?/4HS4.%R!%2K@F+3"2,,H+RR6")* _E$[_$LK3YA7?K5@H+RBC\!O-%$#' M<*"9LDG!H^["!P8,Q*&$13\2WX=O-!,^,-@T;*+3]WS*4,/]YNBW2.ZO;*NE M@6/6D1&W$L*>97J.C[+[2&F;4L] 1C)J5!E39_2!M9-T@G::K)T$;4@-&E+" M#?G2$6A*)E$4Q4@T)9,0Q:_HW (S6"@5F!',+\;'D!&)4ZV#SJ>P<$I/8,!DD0UDUP/B#8TNMO_!7_9"ZMN6_ ME\@A:\H)FFJ'FI*GFYH1OT*B$-&J@Y:ICT;\BF*&K366F&>PN:IE(/==$,%9 M8XWNN@YC]]5^-B"%W,K,QG$'+V^$"H=,'C F;''X/-8"R8& M.D8"3DX:!,^A:=FV-0#==&;$>>H[)B:HI3ZD L["$$9$MA'B-$L-];UX;9T0 M!AT-_"%%M^A:Q!1./- 1WSN*4I1^/QBM:OU__X$?P7N*#A/%.%C';WQ\Y0X[ M\:-@HOCG2D)^N%8A=C K*1M*G\*F*.5"HZ8__R\\^,EQGJ1BZ9;],[@<&)I5 MARF+1(-W;9)L@@QTDS0V\%/6!_+(\6=9+*:D;'#Q\.?X@B'20FLUWY]]1O,>CV+V$$^[&G,IGF (\'L;#;]%<2>05&Z MT"ME$!WG7%,?H\WWLQ\%2WK% Z_==,.X.[O^*H[77V'B?74!UO)LZK^I!):9 M^N;64?NA=;"LN)8-QH8X"GA7;\8[8+DSH6YB(6D3_KF]X%\_8)@09L[U^<[O M]&?LV5"$3671IM^4O<^*7(1P[Y&?P2 M[ASMB&\9$6 5!LR!"T!-ENRY5O !,UCTDRFS%MH2\Y^9]QI<.QB8WV&: >C' MSKWF,JGTFQO@(:L1:M^"-EM I\ 9"OZF^X0_F0\P #J]:WY];XAV'#PJ-P%? M/)>LV!(OMC+T0?CR4PZ?_W.EF]F<$6MC1/K-36G.B#4QHIC*G-,^^< M$1R:MI(1GTPV\&[0=7VS+GYBUEMP5V?IYO>[1)C;&/@D511+QP__]R/WXR,B M((FI_&IOUQ4_0([F5"?3^ZDW=!OIG&TC5>DVTC__;7)1^(0H9#\D"NG26FY! M;8X>'U&'=SR#]0+B:B?\+=6"6\COS?\O6\@-U@G\70NZZ-0%-Z$K-*%;+"O' MP;&OO_;]6SQ_?U)4N!W]#KK![>CF^5^3?KFDO [6UY;S/T_ MH^4^]XNW5 .^YN]N.@\U9D)2\"Y!#R\E8>B\.1+^\EB*C;\%JT?PYK*?ZJ2O MN9I_ZV%+4ZU_9BVT)E%/QR ;>12)_MA!PUW(-Y\6$WEI%PH+<&G_5M+^4?G^ M*Y\0LYF_N8"O1, W4_1JP_/VO?A8J<.7JS#F\Y$F#N6ZL44RV1HN7C/= M$!QN@?!/7BU],O"_!5L#V]MQM9%;3ZBE9K68 MR*2C=P&YDL2(]UQ)(HVY%Q-2*<**AKNG,(OCYC&6@WAM,&P1H99:%=R72DL[ M9U9B)"5Q@DV^#;7MVU K6B>N3SG'"?CSDP6B7X'!I$O%;5BMQP%P?(=WR@9E MP :IEH>YFM=EA%9U!&K3\XK"N&9R6[Z_Q*6:2_6\R\AE^DLKK4WS?A4R'8=Y M18/4!2[56[AGE0B.UZ;_0@'*\=VJ\GA/;;H 5&5V0V[1 M=2R_)A2]LQ))?>?)<<%E/6+!)WJ'X.O%H_Y@YZRG2O%-^J)#:-'J-@L+GK*% MJ(,O8>VC@65WV6NL0 \M%IV X3BN8%HHFJ/$;$U 65$L#TM ]>21S*KH^M6C M6'E3+(2CF1YT OV!(&"=>'@4RT8)6$W>8<4G-6C!\7H]72,V=*D3!V0)";2L M.RS@I/6#'F>+LOJ]T_)6A5] :;-MT9E9NDY8L7&!M(#J0-1>+\U'0 MC;PDW=O2-2.GDR)U98/Q"'7H&M2.5CNLL+&6V\!*I,&F=.@22^":1)"*K 9N M0A@0@=[(H'H - <5DT,SL(,9^-26@QD(?U'NS,SK;V;A%/"V0=[ _D)#-K.- M=T37'>$ AF8)>[+930@7E-$ 766_A#0M%8W-EMO0%A/FV1X"#6+%(F4 Y9R8 M@.7R7^7.:EN .B]WW$$%P;ND.J3%7?](M) K187KM#IP<>D:W2*JC0(QB1E%#6 M=7^NCJ_:\*:''&6 ,"L1!GV/E5F>R%AQ8T['W@2.)J.>XU(3\6=H%(R9V?[IT M^M\)-I1T"B4$I$A*%> 7E5#O 8],Y IL;BA SD+!G+-!H(^"#BGYJ3NZ9S: MIX0&I7 P,D6S%<\ Z "WP:$@@_, YY_.Q:]-#_9@0O@QE9"<*>$811N8T0%Z M$I,U,=! ()OCZ:IS;/T>VCP8.PGJ?VML+>%X!JK,7_+?S&+B9WY!7/Q8 M"WU\!4L$" M/$#; Y!$AS5,V22FWO2;W7&U@P4&+X0&>9).FK-#$MFUK85@M6 M(4@TQX-IJD +G_>B^.=;H 28HWL(2KV@]C'#)Y7@,D4SJ4^"%EN7F=O'1'W0 M(8P_2%'3$G18#^&2A"&:3C:FZ67W#3?,I<610T7ID6"6YZ)T4HUH+L*)Z[$Y M.;- K=&%*J3R12#K'4B-K,[A^!]I6/2GBYE0&TM-$DHJ';"08<7HLZFMK *? MYU7@&5=X%?AX58$''34 1JEYD'&-8FAT_0O.#9VJF))$:AW%5 :L8P]1S#31 M/IB^D\8LH"ICF,LSZ3JQ9]ET9>*[71.'T/\^I.[C#M]R/2B4T&$R3Q'&"L.C MX1RG1Q2MI4TL[@&,^XSYKQ^QQ]2@4+<74*^'1H*Z]B/?!W9"3K#F.-Z47SCSS#J@0O!;"5P-2$T/1K %'0-N$O]CP1=(-F:'PNDAL4.A0$3N,9X]ND? M.$>X,.[1%Q+(!.JH0"_P(HX#V&&@P<)%,U%-6$+_FGXJ$3P#3SL>N VBXEJ M#HX,G*5?X&QUR;B[4/3G%TB:;@WH(&%@CJ9J&%^DJPV#V&W:9L@U]5=.)@L] M0@LPJYG682S$%53-"50?.D%)#KX'V(#E#SH]T#1K!QX&D@$Q*84JCP'7!1&TE/"&^^0[H"A?=/@@3TYK,F5_@8 M!R(6$B/ (_2P# "; ML5>"SX5\N_068N:PG=EFRJ6)@T]>%98<"(X MJ\ XF:QA(^?U,BP_RK3!MXGT_C1PD.E4J3@FUX9WL18R:^R\3S -9N$#%Q@& MV=/=*=B"-3RN^ZCN ;"!GYL8;TN,GP]$=?()NF+ .&@4%@*XU 1Q8$2W@5 V MJ!A&39JRV;6]GJN,$,PLQTF.&S P.%( T_U-$@0Q MW%VQ<-VN^' \T5(F:0K1Z288$[4@&()!U.7V,B&P190<=A;F8E(TV@3#"G9U M&,;U\$W7]<.IA(XR"/W[@0C6DF6ORBPO\#=_;U^53G ?K-F&E>DN !#$ <\P MIO@#*!(&EL34YB.SMQ@=/+" ;:HGG,D*? O",**,#']8M0U-@RGVB6SV# M15EL\![]P#8N[ $PB?!7^#VZWK^ C_]F(+WP.UQX!X(PD0JZHIR(7["%JHTM M'/A"P!]][-[\D0-XI:&"<.Q$PK !G8_&9!QMF:?CZS 9A1A-8"2-Z-$!-F4= MPSM32VEY L/CI6VP#5?(Y!(3%*?[HTE*"^P10PGLKW&S_C#QVS_2B6(AEPB< M6?#>< O9)ABR9%XP4Z,@J#6U.0KOLV\G?82_#UQH"\4(;=-41&S/'TV]0XCK MQ&6/H>)[+->AP!^=:!WLG,)VD4R(K%*>E@(CK>)T5ARN0+,_NIP:$"=7:'U"5* MQ[1TJSV:V0I-"95% PIB^U1;Z(86FPH,$Y]3)H#>).Z 0.]_I'/C6/X?$HWK M;VR=10-:?8R%@C]AXRDI<,M@ 8_+3Z]G^?O4XRC?>-=@VJ9IA-I/ 8,HP08> M.SB"CIU_F(0:6?B"N]3M.\8 %Z30#<%NC MFS;+PG7!;+#I-P)VIKI5NS>^?X*3FO=/0FM29@^#A? [L0J;M#U=MD$Z8'3H M@P@]"R-&6F@1Y3 $"KM2R$^?A'0G>+R!X@N,Z9^A8:M0PKC< ]S%",=" * 6 M(\"W*8%)"9?P*$%_VV%[(QC4 -Q@N[[#("[49.=(_/85,N[ M6=C%6.[&<$W'8N$2@5" 8.3?))XU$;WZA.TA(2$6'&9CT#Y&M86[ /.LH6+5 MPJ-:]%070)F'#L:DBV O94R=)AF!;Y$2CJP!KC83@72&3M6Q5L=**0NF1YTM M$#M/C'H]0,N0%THLOFB0/_+X;U".DN8#5=\D)G2[X>[[.J8#"ML9I^2+ 3 MPK,%S!&0ONP$&0OL86 -_K PS$B;"([SP"A]7/>7(/3P4A#B,XB,$G9'Q0N# M0^-UNT\WA*(%LAR([X3T%C5NI.HD1N8-!J3!"9&KQ@7]EJ4B%C#AE& M'N$)DQ!UV3XT13[BSL@0':>_^]Z2^[!Z\Q_WZ "#X8:T$6L- E: XQ9+%?! MK=ST*_!-/[[I]_:FGP'4\9F<3E-K'1E5/K%(AB=M&0_RZ,)E$X2;*=VZO!(_ M?-NR<,>%+H0IR?U(JL.@8#(LMDL5VC>D]K(;.%/"^/ DPW#%GUSP'KJB;;;W M-6E"7KY"^DG)P(84:"Z[D(9GV^6>0WX&OX1GC;+N,Q:%0&'",ZU7H>LROE;- MPY9K![T&8L)DY&.7[[.%5/;-2TXD\&0K 85=_5 M?Q^.:>2]8!!6)*S+T5D:7O?>+>T 3*5WQMBO-E4WP1,YPO\>-+ M(95[\RXHYPO',.8W'D"_AC>!-J$F 2]5& *35N#5H_P]"M."WN0 M323'72A+%TO'#__U(IW]\D3Z94BHWEZ]ZK15. MBI\'JN94G].WMZ[\8R?LY,B^Y]_B:([8OUJ^O9FJEH/5D?9^@)WQ'YQ_&F1T3[ M*-";)YBS>'SI!L/?>#T)^YBA"7P,W;)J5%XO.NG:;&'+SR[EUQAQC9G 15'! MBD5&XU7*5,B\R?!E):S262F1+DG;7=UT6[1A<0'U;=<&=OIY)[0A)XI<$[@F M_-ZYLYW0A#0FZ^&ZP'6!ZP+X2&(BSWTDK@V_>9)O)Y2!QO>DR#2V0\?:5N"%I--;=)ID6[3ES7L/ M:]:6-=5??_NN.A=_+OX[+/[O70V,J_BOR.WF*A K%8BIO\0U9B,:,T>(;Z,P M7R="/#6(*]#.F9R=.'US8-E$D6F]W7$E',OTC^*L]@!.AA_ ^9X'<+8 KG?F M=(]42N1*)1ZK_YX;5['7M!TZ.51(2")7-*YH:PUC[83FI*5$,- MVB%- VHEAP@W'7 MCCCQ,TMO(&$QF]^V[8-UR7"$Y M+L-Q1(5 MEYQ;V3295K FRR?2N]#17<.]( M+":*T5\\^G9*,)?6?P>5P ^[;'J:*[G8D"OLU-D1K@.K,P3Y&$QS!88@F\CF MN1W@.O"-=0 6,@E)Y(: *\%'HQB;GN6VQ"RV4@5H).._K@P,_?O__DA3 MD[$&0D,_@3^#TRBI=(D8OWJ6H^$QEI\VT657ZY. FGA8YS MY;P9IA,"3%[I"&38TVP8G68* M6$]0D$V5OG]@P2^J)YS)BG"#%<0N+)<$+VD.?$7PG9:GZ_CO/E&(T82^L9'4 M6"WG5)(+X-<%4(J; !XL2F!.;S*RE%>6 /_U/%OIX$$_Z-AKR8KKV?@&"=*@ MIX2*9]N8"PM%3Q]7K.M9-CL4*-M$4'39<;261ML5+!!06U#\UW1-IM9!@REB M$^S;24.A[Q,"B'J/* BG^BB!V;B8KH#:F XT#K_1#0P9DW;MR3J]AECO$.(Z M7*A7(M29V GU&UG;PF=542R;,@J-+T7TB2:3F<3D75M&W$3!]$P/'V\1(EBM MA2!MD[ZE]U$]% ;7H"_4\4E,M4Y;F^I@68,^BI-I&!^#?+A19[Y59UFS9*:& M 0D#@$Q?.Y=![=D^4R:=&!>LS7(U6HD:9>.F1G60CK&Q?P;NHN?,!DJV79 LX+55!&QZ.%_>%?;\B5+&CJ_WX\*7(F MI[:D_%.6%-)/636;>6H2L?@D%Y2LDI:4?#:=07=9#MXXAEXS-4\V7F0Z72?EQXLD')^O82DA/$ZJR:&1 M"N.APE#*31!M5,\N<85KS>FFZ.HIPK6MAOQT?X*NY^:7><$\8/QWA((H>* 6 MP,7AW GT0/7 ,!D#JHST+ES'%MSX>W ML8O1LRV9/H^NC=RF(BJX1.F8VHM'G"CI&E(ZX*FN*;-DS2]>.L])TX]_*P$= M T/GA!?1&Q"#&P #)#<25@$$\(P>*C0:$]_]_>E3:WC2/M[_LK4)[9 MK:3*8L1#ES-)E>+8&MK6__NT&P$.')=F1+,I! M32:1*!Z-/I_N!D#(;7V4-W % (^^=3%N]3TXEO!XY; Q\]'M85#FSCI7 M%Q0Q?&0H,*Y<_.Z2&Z@70X;+468NLH&90@N)$U+T->"E04'X';XG- 0-A.A1 MD1\E!:@)R5@"@QQS2@4'MS>D\?3S<6RWKL/R,;I^236HDUK=)2(/="$[T2!C MB2.9!D?$A4 M:T"/@)HA!5E?G9]>5@1"['N!6/+$R0$4$09W\'4J7W\X/P\P:B8\5M[24&8S M$_2)V3"S @!B/3BOX#>%!O;A/*!^%N ]L^\WIHR>CH($[$2P@SD%9CR(@Y

40IWV")V P\^"7V..:&8IYO>$DT%(%^ \Q),[ MAR2/ZP:_ 2(E\=V: D_B&&;9<.3&IPG<7:"HM?$4Q_=NA& !O1?XM4N&B3=: M"\0'289>K7SET&L$;I&@,X-4W'X^Y0%]:9/A9(QAE_M? F@<3(RP2CB:>2.Q0*PI \M>J9HFQIJH#G,EN!#:(#,W3/?0! MPA0A8>$ZQ=T&C9JZ[9PE#J6]X M#)*1J&ZRI1@T3^O#6EI/NQA+J)]*FGC4$FX#\.H=1G[4* :C =4#G $D42^2 MJ"B%0 )V4)!8?!>$W_#4*!F//9!>1"5J''2 VPJ ;);V_46.PTA<"',O0 M& ;#-(C9N0W23-N(.X+<-D[M21BGB)]@!G@"WI-&\!P,SV(0=C9$\;34\+G! MY& *DX#;P'60YC[X7"$EPL(@0O)%I0,-;()JCN$UAOCR/X8 - XIPB\>.^(A M!-_I^X[ 9PS0\M#KID/H%P@K\GX!3\ :N=^=:EWQYDRA061#Y FQ3S><*5F8 MJ%S3?:4M;T9G6'.J;30+5/.__[%6=ZLP*MGH,G@E8\ J/9#BMPKMPX./J'=' M)U$Z@:VI&59>>4FI0CZ0FM:$*)Y_S+M=!6I&]+Y28)@LBU0\UH^/Q%7I(=Z- M38_-==\.9NZ:E8T,7:MO22@S^,DL>!=*AH#JWAW\_39HLUN[5:J]JU;*?7[359KVOIINW4==KH->ISI28+ MY1 &7@3>Z2(, *QCO:9;KQFMEK'[&I.ED91 [C]S$DN:II[<0IRC:2DA+X$] M-(S=)[$CC+V8H#HYL7:1V'%&K*@@8 !V6 1.6^2H:0T!0R+@6K1OB)])R!-7 M?D6A8@IG03(3BBM[+'VH@,R5H@LX;BBR!>@B=IV M,N( VTD1V"CQ 1'%@ET(6/*B'Q8B;2\1=2?XY7CHLCZ,%'C#@3(F?SODD,4#M,W'!4C<@0%%O,00 F *^4*HI&.+W4 SUBM.80Z8#L^&AF$,7U8("MIP0%Y3@[\09\-,11DG+@N"GZX#4L 5!J@#(3V1FZ9V Z(&UF#8125(,SC(W-,J4IL'H @P\]=*Z$1 ME[D_TDU:T6NOV.O,/2+WN3!NHZX M^4QQ!VD?4JP'<$?&A&L\G'\6=Y;B88=/Y_GNDZDFJ>'I'Y-Z[@C)@GA#WTWC.*TTX(J MB(!=.&".U--4.RM>H=O#-G%8T*F)L MDM!2E01525A>22C.M-:Y?SO($^VJWJB"%^G6JTZ_:S&]V>U9#;U+&;,89;I> M;1A3B?9%^_*ZTSF__OWDLG-V>G[YI7W=.3_K&O6:V=QHCCUO!8]RU+_UEF2V M. C9+>K(;2_YB$AA2+^]Z;TOE"0PC]<_0R+A\827H9I&W8;5K#?,9ZDMS.?O M>6E!UP@GC11HVQG>/,4*.\\ML;,&__+BT(A., F@/+G@8<03=>"TG%RH@]L> M=4<80&R73P20';H =-*3)6(8T]D>[QR?P@P#:^6R+F0#(99 M*S.O^^.DW0#["]FO5NU>N %C*;=[34:S:YI&%:MV6$ MML:;6432M<,Y.:&%SCAF=6W?3S(0/=>:_C=7$R!%')E 9"&BX)0N2L@JOH@=S;0I MA;4.K&LY::N'%X;P]H4R<9U?8TVI6X,V6S430XVI.UVK:O6[K1:K=AW3KEJ4 MU>HMRN;4S;CQ0S9P(SXY_HJ"I0?]D^\)X+F\A+9S]3,T4B23<#K10PA*B]4^ M-/8;X6FDUW[6^0!8*1+SA7L,BV81$^XBGB[E<Q@&MHCCECWM6*/F'0M*$.$ M*N$80C=;0+XTN>!@&%>?I0<$%.9'I@!S-9_#+,_)\Y&F0+YQF-)56!9WL/8F M11:'WP^O8BS T<+],^&T3) M94=RJ6I62PFFA()1CJR<8!Z[2_2J M LS.WZ*>WZFYJ&#Z3%NO+7?RBDEKE"84DY0F;29I5TQ:)X-67%+VMIG<\H>9 MU'P\CY9-K>'OE1#MO+,D[QUGLVF4RCQ"9>S PX/O#HR#IS+,U QCG_3G(W9, MI=+\AWH)2R>Y+M(C!:B56U: NK1,4IJD +4"U,K>RL6D/0/4*?*YXI/L%)I6 M:/H1RE-4&ESQI4"T03&>SG:$X1IRA ,0CJ*.)NB9#R/ MD.J+$)+G^BS;3AI7XZ=O?E_P!O94-J_TUX">DK'2SNTZ.H$EE:IN5E6?"&*S MK?>/?L'7VO3[6T^+EO'Y#^HGN'-5_:A[&,#(%UID=*B']Z8 M[B5Z6;&SVW[IP$,&8M0.(8W!_^:!>8FE^D)G!NQ7,%#Z ML9.9L\\$II6:*S7?T7P%I1_[K1_/XC^>">V66+K/!FU+ELM\P;=^J1IT:6K0 M.VP5[5>D4%JF:M2JNJCL8RLU:N6%E9:I&K:J8>]?#;O.'\'WQ=J;I'R9[-*I M65N9KFR"8W>"!%\7K#S[2Q1ZZ;=?>$G[*Y1LT"](BQ?,=U:NZZ4+O>Q[HCR/ M%3][X7A.M1\0\:R@.4A\$U.PR*E7Z#V=+BW7M=3J^1'XFDZAUO06&RUXB]_T MJ_F*+_3+L'K%#KP@/$J=1^'M@?.WX[.TM3I+$:Y1TZJI0P)Y^2SC%Z%)') J MJ>)SBZ_;XXS)J!"NS,8WBXPC=I1^>+L!LYQBE3B23C+G-%0\.@F2^*COWC.G MR"@Y'*E7TW#_J70U-%";19/;'U;XYIR.\PGPTU8T8P1S.>Y362B^XHV JG!$ MO:DI_/+0P?MSGYS;<=!C(3'JA]@], ])/&3D0T!#AP1]\M$-&9P11H2.QV%P MRQQ"B0]T1+@LBH1L+%?;D;%828 7)6,"RO.K42- O0<:B ?Y!1'<';1VP#L5 M=8UTS&H+FL,E DRFQ'7>'71UH]^P&_U: MUZE;9M>J5QO=GFY6NP[M.=46K3?JU$+=I^D5G9B-:N= 1]CQ^\A!M"UYAK"- MK42E>NZUERWH0.I(32.<0%*@,%L-LT$/Z_H0)N(CP^)F,4.P;F04?TQ"T&XN M.Y [8V0$-QM&A,'U#A$M*U/GBF<=DM_<>W1"9\D(GFP3&\Z%AUVR_KL#N!$? M3%>'__#L[G70-;NF_.*W[3$XP8ONR7^[IGOF5&[TK_V[ R*8\.[ O4<^!1ZC M?I]Z$3L@/AT!)YCM')T%_F7B,;W:J^GM,&P[P3AFSJE'!P=<[&S-%\OO9[\21%D_@SQ5\0O/5ZV#!?=<&S0)+1G$>!R,PO@FAXO%X)?G]YJX,TEM([DVG^<=-XZ^;R;=/ M@_L3[(JC917R[9 M(/$X-\E5Y=_:!IU1 4X^$=1ROUV(%S:(+$0T.YR!(28^9!MO2GX0N1M6"EHS M?VI69U]__(^U0&%A5!(?&AR=#%A%O$2:]N'!1]2[HY,HK;,U-XE ]/;;B3=:%@&[H6GU+0ID) M:68N @ #$,G 0_QR?7Z\< >4E:CKFD-H,(QC=#A^'&4:2=?1RFFN+F*71#AU MG1GU1LL!EU5O=*UJM=:E5JW?-8TZ;?59C3&C-8=PZB?W0["<..I:9JW6,N4) MFV'K'&YY&#H@+2(U YB8TK1)WU$$,OJ"S4D*M"!*99($XKE1+'P[)SWF!7<$\6S?]1 O1V1,PUA$3O"27Q/XQD)O HYQ'. //CD%W1#WT*N5 MKYL3/SEEC\@!!2%HIM+QH/[:0N]3#\L] M N:;Z0'A#_B1*:]1*!O(<^:R07[1M$>(PY340FY\L&X32*\NJUH4;+1P'YW/ >V7K6JZ7>;&)5,4)&Q2C;37U_N6/>[ER9S"KW6%L_LL@.W?%4 ML6Q-HQT! SVV%E0H2\:[5*Q3X]GNYHG//ISGGLQ(QNP(""JD='\E$=:H%]Z_O21"_7?DX<=K; UGAB$>]"E8[JZ:IW[-[ M4W=T;1B/-M"G6EDB.49&]X'5L>P>782N;[MCZD'&S>P$T1DYER7IBR2,$NK' MV'3"TJ7<+U4W:46W7M'7\N5EOD/TFE,\E."&JSR-OX)[AH#H@/B3>WN(E4[2 MMGG.KK=,ZQ"3>%EIGWJ<+)"+VYE5(RV/7]&P1WT65<[O/39);V54JX96*/:0 M.9.?A:]5S:RMR%95"-J?X>PV!!5.-!Z1J>UM1#*4MKWXB&24("*=NCZ%C_#I M!4:D,IF\BCQ[Y M^WLBCXLY+CSMEB#KS>1#&DW6CDMXD-]J5=JQ-!PS=K%77 M"RVM:EV%%A5:5&AYSM"B5W6M'R\^DXTS[P_GIPJ\RZQ M>7_$92:NLFYEW4^Q[L_M#\JZ2VS=GVF/>RB621;?@2&M__E/?[JX$CUDBGY.VF[T)BA-T,-J& M['OBAGR?EBB;H+-J+JFX<.!&N*0Q)D,:$2?Q)L2F2<3WWG(CW(D+-RN Q_08 MB8 WN.N/3W!+A!X;4J]/>A-^(SZ'59Z FU&QQ(>+^/UH$@^#$(;I:!O=2. ' M=@EHM32S\;1] J80F=746DOW>=SRXN3Y%U4] MK,!/KU>M6MX TGZYPUZZG>7+';95>X&*_LB,>(6Q;Z+L(.X!/A C\+L#XV C M3F@+Q.]$;S_@PZHPU@T)&V-7#+' MF3RF%KRVZB\SR!>JC>L->5I=^$ZY9=,5I2*E4)$=:P$VD%S,BCX$9IX,9/:% [1 "+Y+PO(. Z76!4WW[G>*R2B M]%3I:4G@D( _<\M\?^[.^G0'NR1$[1<9^]9Z-C;9>I8#+/2"Y9%B*[C0ZC6% M]<_VJV\#-WTGT6R[.B\_]P)G O\,XY'W_O\!4$L#!!0 ( -)CJ%BR0UM@ M40D $XS 7 =&UB+3(P,C0P,S,Q>&5X,S%D,2YH=&WM6VUOVS@2_BL\ M%]OZ>WVZVNZ3Y2]#9 M"UI-[_^[,_3]H_&1J^@VFBTR M5C35W'"94N'[HY,:J<7&9('O+Q:+QJ+3D&KFC\_]V"2BZPLI-6M$)JH='F ) MO#(:'1XDS% 2QE1I9C[4+L:?O'V0,-P(=GC@E^].=B*CY>%!Q.=$FZ5@'VH) M53.>>D9F0:>9F3ZT]*'ZFLR5M^"1B6&NS7_V,QI%/)UY@DU-T&OL[Z^+%)_% MJS+IIA8H)JCA%3P&72.NO;=_ .H(_C?:KL/ M..)D8\0%LW.;2!%!Y>@JYA-N2*?5:!WX$UBT[!E4# &O3%5T_)Y:P]'Y^/C3 M\7 P/CX] ?"=?[L8G(S)^'2+=#R_^#+Z1EH=ZK6Z.W27#$Z.2*L7%4\7)T>C M'@_./@9/3-._W]R^B/R;'=?(O M.J,18SHF@P8Y9U&TK).0*<.G2V)B:@*KB*$3P0RJ*);:K#4ZGOXBY81XV9$$J%XI"D?4$[6ZC!RH60Y3 M>LKU\,#W&)D$N!S]BA]T0[4:=MZ^B:K3^&'J').8SAE1;,[9 @*1B;DFO^54 M 5+%$O8MD\I >"*?I$H@?GF_$3DE7^ER#G&-D5$*W3$8/9V1H4P@YL$N'Z=A MH[^>I8\[YMN-_C_<[_9V[?='JBW=(,F27,)""0;$I.ZV7;G-CB2,FDI@-- ] MY2F!325Y:E3.0$V@*Y;N HH2>!)<2K(E(90I(A,('@9Z>1N"*0L9%I3M421 MA%XR&+?2IX:R")2!(05Z/AP#!4*N@&.!&+ N#9H = CL=Q@3G>/+NOV"*59T M@A-(N 8R@ OM6)EB.F.A51#[S4 U&<$T 52P*)-E=1E> 5P,U7DA &9DRE. M"*)M#8DZH!?$H5I5ZGDZ!7=&D0S"YU#D$?0)L*OL?QT@R]$%9H :!#P: E#Y M%:(+,.EK0X/11)9EUE$B%R ,): -3N2Y PA+GW@[;M4TM<<8G]\B1N*8.W=@_09=9 M ;T#(>KRX(&F&P--82"<*HX3X([1V#B58D^Y1I9A M[5];2F*]N-0,%#(0-;!11A%HN: 8?&!:5HDU6X$6COM4*1M\FC 4A/@ [5GT M7/'@IS:8R38;S(-=\ V[>;CS?K#Y@,G->8160;5,+::H!HM"AHZF0E54PA8, MB=,)%]PLD>O<-BP:L46X!:^SOPW1"L.WP?"JF%"6JPR,1UMN%H: :JN Y?HS ME@+E$F!#4,,R-$X4@3S&V0D8,<\@'KU:RE^PE'"[+&4TIR*W_A=AQ*93X.5\ M#@#0M_#K@H0]()JXQ]L)MS4+: B10#M:/Y&YN7O\A\0[NI)FF+-,OY^DDDF9 M#5E+9VX=0)\^=OZ*[,&JHD$ M/H6U$0?=;!<[8 (0&31&'GC'O*6T6?9GSD%U:Z%Y&MI#I]W7!/KE)] # 4P8 MEHX#G/%P!(]90LX ?P57626R"T8OD7PX9FSIA^7T]H2^/(E\%*J+G-,=3=WB M=FD$#35;>=T[+*#( Z ! !E 5W?\1P/YT7D",X8%L5,IHMRM)[:OW.;GR&\' M0&&F"IQ@'=#%K-<&?-KO;0H@UQT/X.EQ M=-Z=;I@)P/H).%+C#L#9.RT.=<6Z.?!YH12"9IH%Y8?J$NW! L3NVWV\HX*# MPZ3*);(78&AN9%G@KK_8DHU+,LTUG H9+*G<>*D1"\X/-7?UP,*]U+,8O]MH M]=S.WPEMMXM%OSWHMG(I8X6>QB\]_/:_>%M?::CV@RP03F#B/ M5\ZQ=OCVS7Z[V>D?^"CJ[F*X>U'%Z_T^1I:^I+MMFW!SY4M#_ZEV8,,4NKW& M^_?;MA$_G358=WMOWO2W_-,S+,(1A*\ [\B0_3K!&YVWA=VG,NUGT/_C,GB MQK>90A'[RK"?71'[U0AYT[1_/V!BW[E1Z&O_[9O67K-_\[;:M8#_HA!(-NSP MH99W[W8GT%*PK<'HO5,,5586>9$WN,0&,?B\ _Z^P?]06__ 9;BWL MMP[99XII'F&J^)8F69\,8\ZF9'3%PAQ9$SEUIX)WI'6.?SPW0?H+E"A>Y6\3 M&E[.E,S3"'--J8+2R51^ +%943!.3,8%3YE7/#'_P502P,$% @ MTF.H6(2S6-4W"0 %#, !< !T;6(M,C R-# S,S%X97@S,60R+FAT;>U; M_5/;.!/^5W3I7 LS<9P/Z'$.92:$\):9%GHTS-W]J-ARK$&V?)**1U-&2*?=>M_J='=;;<\[V(>^AF4CF05DUW_O M=]O='=+^)>B]#SIM\N4SV;H8#[>M\-'93(6EXOO][;^C[ M1^,C5['3:G?(6-%,<\-E1H7OCTX;I)$8DP>^/Y_/6_->2ZJI/S[W$Y.*'5]( MJ5DK,E'C8!]+X)71Z& _98:2,*%*,_.A<3$^]O9 PG CV,&^7[T[V8F,%@?[ M$9\1;1:"?6BD5$UYYAF9![UV;OK0TH?J:S)7WIQ')H&YMG_NYS2*>#;U!(M- ML-O:VUL5*3Y-EF7232U03%##9PS[KO4:"D95,)$FZ5\?X+:6>=4NEIGQ8IIR ML0C>C7G*-#EE-=,\?A=WTIK_C>#KF%ZAET9CPH^A"5J9J. M]ZDU')V/3XY/AH/QR=DI@._\Z\7@=$S&9QNDX_G%I]%7TNE1K[.S1;?)X/2( M=':C\NGB]&AT3L8?1^3K:'AQ?C(^ >'1'\./@]/_C,A@."9GQZ3S:V^G^3^< MTJ.@,?A*!D=G7\:CH_H&X'3LIO3:79R"G>'@_'!P.OKJG?WQ:?1G-;ENN_W4 MD+I[)B=-<(%11#ZWR&%A_FZ2D"G#XP4Q"36!5<'0B6!D(E7$U(=&NP$B0I0& MOWS6.0W+9VBAX#^J-)]ACR$5Y>+:=09WTY\GW# /&[(@DW-%H4 M*X>H(/64*^&!US$R#7 A^C4/Z(;JM.R\?1/5I_'=U#DA"9TQHMB,LSF$()-P M37XKJ *,B@4Y9[E4!@(3.98JAC_P_WN;M9^'U)MB09)%^02%DHPH"1-M^W*;78D8=1, M I>![BG/"&PJ*3*C"@9J E&Q1 =00$D*3XI306(:0I$B,H6P9:23NR&0L9!I M3=4"15)ZR6#<6I\:RB)0!H84Z/-P#!0(N0)V!6+ MS1H M AL-]A0G2!+ZOV M 5P.53OA0"8 MD9AG !%$VPH234 OB$.UJM7S+ 9W1I$&PN=0%!'T";"K[7\3(,O1!>: &@0\ M&@*0^"6B2S#I:T.#T4267S91HA @ #"6@#4[G+;ZA%0G)!9RKBN,*S;EV@!C M-X1BH=,;M&S6H*HK96YH^XK6&UKW[[I_=K7)1I++H3.2<8QAT>[ MY2>$*F;!!6#AN'L L(T[B37"8JC6 J.&9TS/D=%X(D+"4>7>+;=NFEC+CDWOD2%DSAV[L MGZ#+K('>@1!U>?! \=I ,0R$\[QN"B"!_"1X)GA_"[/7(/3B+ 'RG8TRA2.F M8>$ %C9HWX_9)O*)D!;ZX4TPL$\8X*\%=SA "ZY HK4#;+B(&5'+P[Z**EX)$]P='%1/.(4\5Q MPQ&ANG,NRI MT,@RK/UK2TFL%Y>:@4(&H@8VRBD"K1 4@P],RRJQ8BO0PG&?.F6#3Q.&@A ? MH#V+GBL>_- &,]ED@WFP"[YA-P]WW@\V'S"Y&8_0*JB6F<44U6!1R-#15*B* M*MB"(7$ZX8*;!7*=VX9%([8(M^!U]KE1/*"Y6#\6C+S<(04&T5 ML%Q_RC*@7 )L"&I8CL:)(I#'.#L!(^8YQ*-72_D'EA)NEJ6,9E04UO\BC%@< M R_G,P" OH5?ER3L ='$/=Y.N*U90$.(!-K1^HDLS-WC/R3>T:4TPYPEOC]) M)9,J&[*6SMPZ@#Y][/P5V8]'=K19R#YRL+D)/SR3*:FUK;D%X8_P^TB#9!@6 M"B%6XQPW^DRE-E"*9]C0DX:M)7^YPT*R=6N#&.P$O/$UV5)E2(.9/4C",Z:L M6.JT[31*J%Z2,_3CUJY89 .<78DR^"R(X)=,E*=*U^2;_W)QGM.27IQY[+[\ M[-H>=T>56357'A0=>AW>*V>*$'T$_;J1,92*4<@9C%1ZR7=L 728IMP8QNX, M51,)? IK(PZZV2ZVP 0@,FB,//".>4MEL^RO@H/JUD*+++2'3MNO"?3+3Z ' M I@P+!T'../A"!ZSA)P!_DJNLDQDYXQ>(OEPS-C2#\OI[0E]=1+Y*%27.:<[ MFKK%[=((&FJV]+IW6$"9!T # #* KNGXCP;RHXL49@P+8J=21KE;3VQ?N)=-Z=KID)P/H).%+K#L#9VRP.=>6Z.?!YH12"YIH%U8?Z$KV'!4C<]_IX M.P4'ATE52V2OOM#"R*K 77RQ)6O78]HK.)4R6%*[Z](@%IP?&N[2@85[I6.\EGQ)>5I5*E$ZT%(5A:\OP]%<=L$^L7.O6"4(E'I4X M7U?-L7'P]LU>M]WK[_LHZNY?N+M0Y>NWO8NLO,AF[<#-9:_L^X=:_C4CV&UO MU!;\<$9@_>LW$Z5_Y9.>81&.(%X%>"F&[#4)7MZ\+'E5,DBBS!OE"JH?$GM9PSK M%263Q,1:\(QYY7-[+8=T/Y582R+7BI:_R\@AK?8R#B?N]A?T!R\%]02P,$% @ TF.H6*!5,1N?BJ7$FCJ63U8(Z:>_E6P'!QK:SL$0.!A(L+3:EW[[D.WN'Y8U MB$,2!XS")__T,U 1S&F4 =1<>\^N MU5NV:UD'7>35SQ>)V(.6L^?4W7H3W'VOL>?57#@_A9U+O[]KB(^&??_K^2"3 M>GYY^/FD#Q7+=&=,$0A"(E.F/E8N_6.KC12* MJX@==)WB.Z,="[H\Z%)^!:E:1NQC94;DE,>6$HG7^_S&4OAC"W@0LQ(_+Z:C>!WRB2?O.\8ZI1_9\@: MS5/L6EDDXE-DKG7M9/9[. ?ZKU;/_M$2QVL2%\S8-A81QL+B F9$LI8&D+/1E,I1>51 M[KED*:L+BH;8<#A7WPVK;/$Q MC[&NJ<1H,MES0B,O7%4'O*%HFO=)F M!R3*P\U$'A:9SB+DBEE:!O-0.4EPZ!ZN#QDR%M8:)6:>CIA.J>YEHG9JN\9' MM^QX,GU\W.8\7B?S"(,W0'1%.EQ6(239/W,NF>YJ4KW_:1[YM<8.V06,REIK MA^ZN,',3<*M@RX%3^]!H=C3D;SS@Z)UW#&!><7,O;NK;AQL>8TZ>$0,&K B* M8%:G.&IP4("*<%T2$LR.&C]5/4VP!<9E*!N3&TXD"*BT:E9-5DD/&5+3GID< MB53S*(.?P )@9*:W$J*] 5:FS\RPE7LG@Y@5B"@B2EONDU8 L?=;NH+G7S?]1ZE5+HD3*&(2B847>G*-;4:(DU<\Q=8ZXFI9 MV%@YT$7>;72ZCB;-FJGLE))_WI]#1)$KMFL'[KJ]B.(7Y?ZU(&BY6[4%+RX( M3'Y=+[X/F9,>P0E'6&\\?02!=G96^%$U?:B(?@3]#Y?>+VA\)PCR2E>4\N0: M$'6M6>7]6\(.U(/S5L+MWKV>X,F); ]![ M;V2 N3EQ)P^5B1[$)YOPKRO>,P#_*^9_:W^?W,+MQ/S6P?KFUM@[,DLZFVZ. MW<'Z[99LWZZW'O,H]-B]UXL,@5> _X==?GY)_<4#^G_4:*\]>7@%Y1:#\K$- M?':=\BMR7Y&[M>W AN>W&QY/9+?5ML7UI3M]X:H!'Y/@VU2*>4SU,Q,AO2(O ME%ZN69_(6W;]Z"CB,;/RZR*3E%_J67N LC:T>ELH(5-F9?=;R03=[9$KP6D. M@7;;KC=7^2L;<\TCO^PM)/-:T\&_4$L! A0#% @ TF.H6'"$;^EX% M7MP ! ( ! '1M8BTR,#(T,#,S,2YX#$P<2YH=&U02P$"% ,4 " #28ZA8LD-;8%$) !.,P %P M @ 'QS ( =&UB+3(P,C0P,S,Q>&5X,S%D,2YH=&U02P$"% ,4 " #2 M8ZA8A+-8U3<) 4,P %P @ %WU@( =&UB+3(P,C0P,S,Q M>&5X,S%D,BYH=&U02P$"% ,4 " #28ZA8H%4Q%R4& "J)0 %0 M @ 'CWP( =&UB+3(P,C0P,S,Q>&5X,S(N:'1M4$L%!@ ) D *50( #OF @ $! end XML 93 tmb-20240331x10q_htm.xml IDEA: XBRL DOCUMENT 0001766368 mec:OmnibusIncentivesPlanMember 2024-03-31 0001766368 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0001766368 us-gaap:TreasuryStockCommonMember 2024-03-31 0001766368 us-gaap:RetainedEarningsMember 2024-03-31 0001766368 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001766368 us-gaap:TreasuryStockCommonMember 2023-12-31 0001766368 us-gaap:RetainedEarningsMember 2023-12-31 0001766368 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001766368 us-gaap:TreasuryStockCommonMember 2023-03-31 0001766368 us-gaap:RetainedEarningsMember 2023-03-31 0001766368 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001766368 us-gaap:TreasuryStockCommonMember 2022-12-31 0001766368 us-gaap:RetainedEarningsMember 2022-12-31 0001766368 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001766368 us-gaap:OtherCurrentLiabilitiesMember mec:MidStatesAluminumMember mec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember 2024-03-31 0001766368 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001766368 us-gaap:EmployeeStockOptionMember 2023-03-31 0001766368 mec:OmnibusIncentivesPlanMember 2021-04-20 0001766368 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-03-31 0001766368 mec:MidStatesAluminumMember 2024-01-01 2024-03-31 0001766368 us-gaap:OperatingSegmentsMember 2024-01-01 2024-03-31 0001766368 us-gaap:IntersegmentEliminationMember 2024-01-01 2024-03-31 0001766368 mec:TubesMember 2024-01-01 2024-03-31 0001766368 mec:TankMember 2024-01-01 2024-03-31 0001766368 mec:PowersportsMember 2024-01-01 2024-03-31 0001766368 mec:PerformanceStructuresMember 2024-01-01 2024-03-31 0001766368 mec:OutdoorSportsMember 2024-01-01 2024-03-31 0001766368 mec:OtherMarketMember 2024-01-01 2024-03-31 0001766368 mec:MilitaryMember 2024-01-01 2024-03-31 0001766368 mec:FabricationMember 2024-01-01 2024-03-31 0001766368 mec:ConstructionAndAccessMember 2024-01-01 2024-03-31 0001766368 mec:CommercialVehicleMember 2024-01-01 2024-03-31 0001766368 mec:AgricultureMember 2024-01-01 2024-03-31 0001766368 us-gaap:OperatingSegmentsMember 2023-01-01 2023-03-31 0001766368 us-gaap:IntersegmentEliminationMember 2023-01-01 2023-03-31 0001766368 mec:TubesMember 2023-01-01 2023-03-31 0001766368 mec:TankMember 2023-01-01 2023-03-31 0001766368 mec:PowersportsMember 2023-01-01 2023-03-31 0001766368 mec:PerformanceStructuresMember 2023-01-01 2023-03-31 0001766368 mec:OutdoorSportsMember 2023-01-01 2023-03-31 0001766368 mec:OtherMarketMember 2023-01-01 2023-03-31 0001766368 mec:MilitaryMember 2023-01-01 2023-03-31 0001766368 mec:FabricationMember 2023-01-01 2023-03-31 0001766368 mec:ConstructionAndAccessMember 2023-01-01 2023-03-31 0001766368 mec:CommercialVehicleMember 2023-01-01 2023-03-31 0001766368 mec:AgricultureMember 2023-01-01 2023-03-31 0001766368 srt:MinimumMember us-gaap:LandImprovementsMember 2024-03-31 0001766368 srt:MinimumMember us-gaap:FurnitureAndFixturesMember 2024-03-31 0001766368 srt:MinimumMember us-gaap:BuildingAndBuildingImprovementsMember 2024-03-31 0001766368 srt:MinimumMember mec:MachineryEquipmentAndToolingMember 2024-03-31 0001766368 srt:MaximumMember us-gaap:LandImprovementsMember 2024-03-31 0001766368 srt:MaximumMember us-gaap:FurnitureAndFixturesMember 2024-03-31 0001766368 srt:MaximumMember us-gaap:BuildingAndBuildingImprovementsMember 2024-03-31 0001766368 srt:MaximumMember mec:MachineryEquipmentAndToolingMember 2024-03-31 0001766368 us-gaap:VehiclesMember 2024-03-31 0001766368 us-gaap:LandMember 2024-03-31 0001766368 us-gaap:LandImprovementsMember 2024-03-31 0001766368 us-gaap:FurnitureAndFixturesMember 2024-03-31 0001766368 us-gaap:ConstructionInProgressMember 2024-03-31 0001766368 us-gaap:BuildingAndBuildingImprovementsMember 2024-03-31 0001766368 mec:MachineryEquipmentAndToolingMember 2024-03-31 0001766368 us-gaap:VehiclesMember 2023-12-31 0001766368 us-gaap:LandMember 2023-12-31 0001766368 us-gaap:LandImprovementsMember 2023-12-31 0001766368 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001766368 us-gaap:ConstructionInProgressMember 2023-12-31 0001766368 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001766368 mec:MachineryEquipmentAndToolingMember 2023-12-31 0001766368 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001766368 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001766368 us-gaap:RevolvingCreditFacilityMember 2024-03-31 0001766368 us-gaap:RevolvingCreditFacilityMember 2023-12-31 0001766368 us-gaap:OtherNoncurrentLiabilitiesMember mec:MidStatesAluminumMember mec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember 2024-03-31 0001766368 us-gaap:RevolvingCreditFacilityMember mec:AmendedAndRestatedCreditAgreementMember 2024-01-01 2024-03-31 0001766368 us-gaap:RevolvingCreditFacilityMember mec:AmendedAndRestatedCreditAgreementMember 2023-01-01 2023-12-31 0001766368 us-gaap:RevolvingCreditFacilityMember mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-28 0001766368 mec:SwinglineFacilityMember mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-28 0001766368 us-gaap:RevolvingCreditFacilityMember mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-27 0001766368 mec:SwinglineFacilityMember mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-27 0001766368 us-gaap:LetterOfCreditMember 2023-06-27 0001766368 mec:AmendedAndRestatedCreditAgreementMember 2023-12-31 0001766368 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:DeferredCompensationShareBasedPaymentsMember 2024-03-31 0001766368 us-gaap:FairValueMeasurementsRecurringMember us-gaap:DeferredCompensationShareBasedPaymentsMember 2024-03-31 0001766368 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001766368 us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001766368 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:DeferredCompensationShareBasedPaymentsMember 2023-12-31 0001766368 us-gaap:FairValueMeasurementsRecurringMember us-gaap:DeferredCompensationShareBasedPaymentsMember 2023-12-31 0001766368 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001766368 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001766368 mec:NonAmortizableBrandNameMember 2024-03-31 0001766368 mec:NonAmortizableBrandNameMember 2023-12-31 0001766368 mec:MidStatesAluminumMember 2023-01-01 2023-12-31 0001766368 srt:MinimumMember mec:CustomerRelationshipsAndContractsMember 2024-03-31 0001766368 srt:MaximumMember mec:CustomerRelationshipsAndContractsMember 2024-03-31 0001766368 srt:MinimumMember mec:CustomerRelationshipsAndContractsMember 2023-12-31 0001766368 srt:MaximumMember mec:CustomerRelationshipsAndContractsMember 2023-12-31 0001766368 us-gaap:DevelopedTechnologyRightsMember 2023-07-01 0001766368 us-gaap:CustomerRelationshipsMember 2023-07-01 0001766368 us-gaap:TradeNamesMember 2024-03-31 0001766368 us-gaap:PatentsMember 2024-03-31 0001766368 us-gaap:NoncompeteAgreementsMember 2024-03-31 0001766368 us-gaap:DevelopedTechnologyRightsMember 2024-03-31 0001766368 mec:CustomerRelationshipsAndContractsMember 2024-03-31 0001766368 us-gaap:TradeNamesMember 2023-12-31 0001766368 us-gaap:PatentsMember 2023-12-31 0001766368 us-gaap:NoncompeteAgreementsMember 2023-12-31 0001766368 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001766368 mec:CustomerRelationshipsAndContractsMember 2023-12-31 0001766368 us-gaap:RestrictedStockUnitsRSUMember 2024-03-31 0001766368 us-gaap:EmployeeStockOptionMember 2024-03-31 0001766368 mec:PerformanceStockUnitsPsusMember 2024-03-31 0001766368 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001766368 us-gaap:EmployeeStockOptionMember 2023-12-31 0001766368 mec:PerformanceStockUnitsPsusMember 2023-12-31 0001766368 mec:AmendedAndRestatedCreditAgreementMember 2024-03-31 0001766368 us-gaap:DeferredProfitSharingMember 2024-01-01 2024-03-31 0001766368 mec:EmployeesMember 2024-01-01 2024-03-31 0001766368 us-gaap:DeferredProfitSharingMember 2023-01-01 2023-03-31 0001766368 mec:EmployeesMember 2023-01-01 2023-03-31 0001766368 mec:MidStatesAluminumMember mec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember 2024-01-01 2024-03-31 0001766368 mec:MidStatesAluminumMember mec:FondDuLacCountyAndFondDuLacEconomicDevelopmentCorporationTermNoteMember 2024-03-31 0001766368 mec:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001766368 mec:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001766368 mec:CustomerCMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001766368 mec:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001766368 mec:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001766368 mec:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerCMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001766368 mec:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001766368 mec:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001766368 mec:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001766368 us-gaap:CommonStockMember 2024-03-31 0001766368 us-gaap:CommonStockMember 2023-12-31 0001766368 us-gaap:CommonStockMember 2023-03-31 0001766368 us-gaap:CommonStockMember 2022-12-31 0001766368 2023-03-31 0001766368 2022-12-31 0001766368 mec:MidStatesAluminumMember us-gaap:DevelopedTechnologyRightsMember 2023-07-01 0001766368 mec:MidStatesAluminumMember us-gaap:CustomerRelationshipsMember 2023-07-01 0001766368 mec:MidStatesAluminumMember 2023-06-19 2023-06-19 0001766368 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001766368 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001766368 mec:UnitAwardsMember 2024-01-01 2024-03-31 0001766368 mec:OptionAwardMember 2024-01-01 2024-03-31 0001766368 mec:UnitAwardsMember 2023-01-01 2023-03-31 0001766368 mec:OptionAwardMember 2023-01-01 2023-03-31 0001766368 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001766368 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001766368 mec:PerformanceStockUnitsPsusMember 2024-01-01 2024-03-31 0001766368 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001766368 srt:MinimumMember 2024-01-01 2024-03-31 0001766368 srt:MaximumMember 2024-01-01 2024-03-31 0001766368 mec:AmendedAndRestatedCreditAgreementMember 2024-01-01 2024-03-31 0001766368 mec:AmendedAndRestatedCreditAgreementMember 2023-06-30 2023-06-30 0001766368 mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-28 2023-06-28 0001766368 mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-28 0001766368 mec:AmendedAndRestatedCreditAgreementMember mec:LendersAndWellsFargoBankNationalAssociationAdministrativeAgentMember 2023-06-27 0001766368 mec:MidStatesAluminumMember 2023-07-01 2023-07-01 0001766368 2022-08-04 0001766368 2023-01-01 2023-01-01 0001766368 2022-01-01 2022-12-31 0001766368 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001766368 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001766368 2023-01-01 2023-03-31 0001766368 mec:SecondAmendmentCreditAgreementMember 2024-01-01 2024-03-31 0001766368 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001766368 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001766368 mec:MidStatesAluminumMember 2023-07-01 0001766368 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001766368 2024-03-31 0001766368 2023-12-31 0001766368 2024-05-03 0001766368 2024-01-01 2024-03-31 shares iso4217:USD pure mec:claim mec:facility mec:item iso4217:USD shares mec:segment 0001766368 --12-31 2024 Q1 false P3Y 10-Q true 2024-03-31 false 001-38894 Mayville Engineering Company, Inc. WI 39-0944729 135 S. 84th Street, Suite 300 Milwaukee WI 53214 414 381-2860 Common Stock, no par value MEC NYSE Yes Yes Accelerated Filer true true false false 20526787 314000 672000 669000 685000 70331000 57445000 66106000 67782000 5232000 5457000 3523000 3267000 145506000 134623000 172095000 175745000 92650000 92650000 56934000 58667000 31018000 32233000 1698000 2743000 499901000 496661000 54457000 46526000 5010000 5064000 6131000 6368000 1455000 3107000 12093000 10644000 79146000 71709000 139817000 147493000 27532000 28606000 4182000 3816000 12847000 12606000 2340000 2453000 265864000 266683000 0 0 75000000 75000000 22009409 21853477 206191000 205373000 37359000 34118000 1542893 1542893 9513000 9513000 234037000 229978000 499901000 496661000 161269000 142645000 140336000 126268000 1733000 1738000 3800000 3003000 7769000 6966000 7631000 4670000 3356000 1658000 4275000 3012000 1034000 441000 3241000 2571000 0.16 0.13 0.16 0.12 20485933 20315338 20700046 20749948 3241000 2571000 7521000 6142000 1733000 1738000 -16000 27000 -247000 11000 1157000 1066000 -2000 138000 316000 -163000 1215000 1286000 -69000 -83000 12870000 16265000 -1923000 -2749000 -225000 100000 199000 -110000 6727000 -2290000 -1159000 -441000 -1128000 -1206000 -203000 -2105000 10625000 -6043000 2775000 2408000 107000 153000 -2668000 -2255000 119351000 119700000 127026000 110360000 195000 286000 683000 661000 107000 96000 345000 -8315000 8297000 -358000 -1000 672000 127000 314000 126000 2094000 112000 2000 1650000 1534000 2500000 205373000 -9513000 34118000 229978000 3241000 3241000 1157000 1157000 185000 185000 524000 524000 206191000 -9513000 37359000 234037000 200945000 -9352000 26274000 217867000 2571000 2571000 2500000 2500000 661000 661000 1066000 1066000 202011000 -7513000 28845000 223343000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Mayville Engineering Company, Inc. and Subsidiaries</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Notes to Unaudited Condensed Consolidated Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">(in thousands except share amounts, per share data, years and ratios)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">(unaudited)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 1. Basis of presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The interim unaudited Condensed Consolidated Financial Statements of Mayville Engineering Company, Inc. and subsidiaries (MEC, the Company, we, our, us or similar terms) presented here have been prepared in accordance with the accounting principles generally accepted in the United States of America (GAAP) and with instructions to Form 10-Q and Article 10 of Regulation S-X. They reflect all adjustments which are, in the opinion of management, necessary for a fair presentation of the results of operations and financial position for the interim unaudited periods presented. All intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Certain information and footnote disclosures normally included in financial statements prepared in accordance with GAAP have been condensed or omitted. These interim unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Company’s consolidated financial statements and notes thereto for the year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K. A summary of the Company’s significant accounting policies is included in the Company’s 2023 financial statements in the Annual Report on Form 10-K. The Company followed these policies in preparation of the interim unaudited Condensed Consolidated Financial Statements except for new accounting pronouncements adopted as described below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">Nature of Operations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;"> MEC is a leading U.S.-based, vertically-integrated, value-added manufacturing partner providing a full suite of manufacturing solutions from concept to production, including design, prototyping and tooling, fabrication, aluminum extrusion, coating, assembly and aftermarket components. Our customers operate in diverse end markets, including heavy- and medium-duty commercial vehicles, construction &amp; access equipment, powersports, agriculture, military and other end markets. Founded in 1945 and headquartered in Milwaukee, Wisconsin, we are a leading Tier I U.S. supplier of highly engineered components to original equipment manufacturer (OEM) customers with leading positions in their respective markets. The Company operates </span>23 facilities located in Arkansas, Michigan, Mississippi, Ohio, Pennsylvania, Virginia, and Wisconsin. Our engineering expertise and technical know-how allow us to add value through every product redevelopment cycle (generally every <span style="-sec-ix-hidden:Hidden_hMeiEuuJQ02JhVFtC75mQA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to five years for our customers).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Our one operating segment focuses on producing metal components that are used in a broad range of heavy- and medium-duty commercial vehicles, construction &amp; access equipment, powersports, agricultural, military and other products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">In December 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2023-09,</span><i style="font-style:italic;background:#ffffff;"> Improvements to Income Tax Disclosures</i><span style="background:#ffffff;">, amending Accounting Standards Codification (ASC) 740, </span><i style="font-style:italic;background:#ffffff;">Income Taxes. </i><span style="background:#ffffff;">The amendment is intended to enhance the transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. The amendments require that on an annual basis, entities disclose specific categories in the rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. In addition, the amendments require that entities disclose additional information about income taxes paid as well as additional disclosures of pretax income and income tax expense and remove the requirement to disclose certain items that are no longer considered cost beneficial or relevant. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, may be applied prospectively or retrospectively and allows for early adoption. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="background:#ffffff;">In November 2023, the FASB issued ASU 2023-07, </span><i style="font-style:italic;background:#ffffff;">Improvements to Reportable Segment Disclosures</i><span style="background:#ffffff;">, amending ASC 280, </span><i style="font-style:italic;background:#ffffff;">Segment Reporting</i><span style="background:#ffffff;">. The amendment is intended to improve reportable segment disclosures, primarily through enhanced disclosures about significant segment expenses. In addition, the amendments enhance interim disclosure requirements, clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure requirements. </span><span style="background:#ffffff;">ASU 2023-07 is effective for fiscal years beginning after </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">December 15, 2023 and for interim periods after December 15, 2024. Early adoption is permitted and may be applied prospectively or retrospectively. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">Nature of Operations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;"> MEC is a leading U.S.-based, vertically-integrated, value-added manufacturing partner providing a full suite of manufacturing solutions from concept to production, including design, prototyping and tooling, fabrication, aluminum extrusion, coating, assembly and aftermarket components. Our customers operate in diverse end markets, including heavy- and medium-duty commercial vehicles, construction &amp; access equipment, powersports, agriculture, military and other end markets. Founded in 1945 and headquartered in Milwaukee, Wisconsin, we are a leading Tier I U.S. supplier of highly engineered components to original equipment manufacturer (OEM) customers with leading positions in their respective markets. The Company operates </span>23 facilities located in Arkansas, Michigan, Mississippi, Ohio, Pennsylvania, Virginia, and Wisconsin. Our engineering expertise and technical know-how allow us to add value through every product redevelopment cycle (generally every <span style="-sec-ix-hidden:Hidden_hMeiEuuJQ02JhVFtC75mQA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to five years for our customers).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Our one operating segment focuses on producing metal components that are used in a broad range of heavy- and medium-duty commercial vehicles, construction &amp; access equipment, powersports, agricultural, military and other products.</p> 23 P5Y 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">In December 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2023-09,</span><i style="font-style:italic;background:#ffffff;"> Improvements to Income Tax Disclosures</i><span style="background:#ffffff;">, amending Accounting Standards Codification (ASC) 740, </span><i style="font-style:italic;background:#ffffff;">Income Taxes. </i><span style="background:#ffffff;">The amendment is intended to enhance the transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. The amendments require that on an annual basis, entities disclose specific categories in the rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. In addition, the amendments require that entities disclose additional information about income taxes paid as well as additional disclosures of pretax income and income tax expense and remove the requirement to disclose certain items that are no longer considered cost beneficial or relevant. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, may be applied prospectively or retrospectively and allows for early adoption. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="background:#ffffff;">In November 2023, the FASB issued ASU 2023-07, </span><i style="font-style:italic;background:#ffffff;">Improvements to Reportable Segment Disclosures</i><span style="background:#ffffff;">, amending ASC 280, </span><i style="font-style:italic;background:#ffffff;">Segment Reporting</i><span style="background:#ffffff;">. The amendment is intended to improve reportable segment disclosures, primarily through enhanced disclosures about significant segment expenses. In addition, the amendments enhance interim disclosure requirements, clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure requirements. </span><span style="background:#ffffff;">ASU 2023-07 is effective for fiscal years beginning after </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">December 15, 2023 and for interim periods after December 15, 2024. Early adoption is permitted and may be applied prospectively or retrospectively. The Company is evaluating the potential impact of this guidance on the consolidated financial statements.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 2. Acquisition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">On July 1, 2023, the Company completed its acquisition of Mid-States Aluminum (MSA). The acquisition was consummated in accordance with terms and conditions of the certain Unit Purchase Agreement, dated as of June 19, 2023, among the Company and shareholders of MSA. The purchase price of the acquisition was $95,945, subject to adjustments for the amount of cash, indebtedness, net working capital and certain expenses of MSA as of the closing. At the closing of the acquisition, the Company applied an estimate of the adjustments and paid total net consideration of $90,002. The Company financed the acquisition by borrowing under its amended and restated credit agreement, as described in Note 4 – Debt in the Notes to Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Located in Fond du Lac, WI, MSA is an industry leading, vertically-integrated manufacturer of custom aluminum extrusions and fabrications that also offers related services including design, engineering, anodizing and finishing, assembly and packaging. The acquisition enables MEC to secure an attractive entry point within light-weight materials fabrication, while providing significant new cross-selling opportunities with both new and existing customers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;">The aggregate purchase price has been allocated to the assets acquired and liabilities assumed based on their preliminary estimated fair values at the acquisition date. The estimate of the excess purchase price over the preliminary estimated fair value of net tangible assets acquired was allocated to identifiable intangible assets and goodwill. The Company engaged an independent third party to assist with the identification and valuation of these intangible assets. Management makes significant estimates and assumptions when determining the fair value of assets acquired and liabilities assumed. These estimates include, but are not limited to, discount rates, projected future net sales, projected future expected cash flows, useful lives, attrition rates, royalty rates and growth rates. These measures are based on significant Level 3 inputs (see Note 13) not observable in the market</span><span style="font-family:'Segoe UI';">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The following table is a summary of the assets acquired, liabilities assumed and net cash consideration paid for MSA during 2023:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Preliminary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Opening Balance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Sheet Allocation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,698</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7 Years</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">17 Years</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,386)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,509)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,984)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,884)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total consideration</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">Inventory was valued at its estimated fair value, which is defined as expected sales price, less costs to sell, plus a reasonable margin for selling effort. The valuation resulted in an inventory fair value step-up of $891 and was fully expensed and reflected in cost of sales on the Condensed Consolidated Statements of Comprehensive Income during the three months ended September 30, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">Property, plant and equipment was valued at its estimated fair value using the cost, market and sales comparison approaches. The valuation resulted in a property, plant and equipment fair value step-up of $21,157. Depreciation on property, plant and equipment is computed on a straight-line basis over the estimated useful life of the respective assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Company also recorded $17,700 of customer relationships intangible assets with an estimated useful life of 17 years and $4,900 of developed technology intangible assets with an estimated useful life of 7 years. <span style="background:#ffffff;">The purchase price allocated to these assets was based on management’s forecasted cash inflows and outflows and using a relief from royalty method for developed technologies and the multi-period excess earnings method for customer relationships.</span> <span style="background:#ffffff;">Amortization expense related to these intangible assets is recorded on a straight-line basis and reflected in amortization of intangible expenses on the Condensed Consolidated Statements of Comprehensive Income.</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">The purchase price of MSA exceeded the preliminary estimated fair value of identifiable net assets and accordingly, the difference was allocated to goodwill, which is not tax deductible.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">The Company believes that the information gathered to date provides a reasonable basis for estimating the fair values of assets acquired and liabilities assumed; however, the purchase price allocations are preliminary as we continue to gather the necessary information to finalize our fair value estimates and provisional amounts. Provisional amounts include items related to working capital adjustments, intangibles, indemnification of assets and liabilities and deferred taxes. As of December 31, 2023, the Company finalized the net working capital adjustment in conjunction with the fair value estimates for assets acquired, liabilities assumed, identifiable assets and the net income tax provision. Since its preliminary estimates, the Company adjusted the purchase price by ($1,084) related to working capital adjustments. The offsetting adjustment was primarily related to goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">The Company has recorded preliminary estimates for the items noted in the preceding paragraph and will record adjustments, if an, to the preliminary amounts upon finalization of the respective valuations. Such changes are not expected to be significant. The Company expects to complete the purchase price allocation as soon as possible but no later than one year from the acquisition date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:12pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Pro Forma</span><b style="font-weight:bold;"> </b><span style="font-style:italic;font-weight:bold;">Financial Information (Unaudited)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 0pt 0pt;">In accordance with ASC 805, the following unaudited pro forma combined results of operations have been prepared and presented to give effect to the MSA acquisition as if it had occurred on January 1, 2023, the beginning of the comparable period, applying certain assumptions and pro forma adjustments. These pro forma adjustments primarily relate to the estimated depreciation expense associated with the fair value of the acquired property, plant and equipment, amortization of identifiable intangible assets, interest expense related to additional debt needed to fund the acquisition, and the tax impact of these adjustments. Additionally, the pro forma adjustments include non-recurring expenses related to transaction costs and the sale of stepped-up inventory. The unaudited pro forma consolidated results are provided for illustrative purposes only, are not indicative of the Company’s actual consolidated results of operations or consolidated financial position and do not reflect any revenue and operating synergies or cost savings that may result from the acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:20.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:20.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 158,720</p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,384</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 95945000 90002000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The following table is a summary of the assets acquired, liabilities assumed and net cash consideration paid for MSA during 2023:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Preliminary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Opening Balance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Sheet Allocation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,698</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7 Years</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">17 Years</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,386)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,509)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,984)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,884)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total consideration</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> 324000 7381000 9698000 41271000 291000 4900000 P7Y 17700000 P17Y 21115000 102680000 2386000 1509000 1984000 7884000 88917000 891000 21157000 17700000 P17Y 4900000 P7Y -1084000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:20.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:20.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 158,720</p></td></tr><tr><td style="vertical-align:bottom;width:77.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,384</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 158720000 1384000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 3. Select balance sheet data</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Inventory</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Inventories are stated at the lower of cost, determined on the first-in, first-out method, or net realizable value. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Work-in-process and finished goods are valued at production costs consisting of material, labor, and overhead.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">Inventories as of March 31, 2024 and December 31, 2023 consist of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finished goods and purchased parts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,489</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,929</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,363</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,782</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:12pt 0pt 12pt 0pt;">Property, plant and equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Property, plant and equipment as of March 31, 2024 and December 31, 2023 consist of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Indefinite</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,640</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">15-39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,378</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and building improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">15-39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,682</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery, equipment and tooling</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> 3-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,960</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,571</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> 3-7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,089</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,325</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">N/A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,779</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total property, plant and equipment, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 422,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 418,335</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 249,952</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,590</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,095</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 175,745</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Depreciation expense was $7,521 and $6,142 for the three months ended March 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Goodwill</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">There were no changes to the goodwill balance of $92,650 between December 31, 2023 and March 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:12pt 0pt 12pt 0pt;">Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The following is a listing of definite-lived intangible assets, the useful lives in years (amortization period) and accumulated amortization as of March 31, 2024 and December 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:41.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Lives</b> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortizable intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships and contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> 9-17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 96,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,774</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,964</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,375</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 71,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 53,123</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 6pt 0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:41.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Lives</b> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortizable intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships and contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> 9-17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 96,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 53,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 42,962</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,334</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,550</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 69,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,856</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">Additionally, the Company reported an indefinite lived non-amortizable brand name asset with a balance of $3,811 as of March 31, 2024 and December 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">Changes in intangible assets between December 31, 2023 and March 31, 2024 consist of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,667</p></td></tr><tr><td style="vertical-align:bottom;width:85.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,733)</p></td></tr><tr><td style="vertical-align:bottom;width:85.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,934</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">For the three months ended March 31, 2024 and 2023, amortization expense was $1,733 and $1,738, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">Future amortization expense is expected to be as followed:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024 (remainder)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,200</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,933</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,933</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,933</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,877</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,247</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finished goods and purchased parts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,489</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,929</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,363</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,782</p></td></tr></table> 29862000 31489000 25238000 25929000 11006000 10363000 66106000 67782000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Indefinite</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,640</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">15-39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,378</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and building improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">15-39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,682</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery, equipment and tooling</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> 3-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,960</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,571</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> 3-7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,089</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,325</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">N/A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,779</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total property, plant and equipment, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 422,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 418,335</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 249,952</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,590</p></td></tr><tr><td style="vertical-align:bottom;width:60.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,095</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 175,745</p></td></tr></table> 2640000 2640000 P15Y P39Y 4378000 4378000 P15Y P39Y 81558000 79682000 P3Y P10Y 300627000 295960000 P5Y 4452000 4571000 P3Y P7Y 22089000 21325000 6303000 9779000 422047000 418335000 249952000 242590000 172095000 175745000 7521000 6142000 0 92650000 92650000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:41.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Lives</b> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortizable intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships and contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> 9-17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 96,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,774</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,964</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,375</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 71,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 53,123</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 6pt 0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:41.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Lives</b> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortizable intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships and contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> 9-17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 96,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 53,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 42,962</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,334</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,550</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:41.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 69,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,856</p></td></tr></table> P9Y P17Y 96040000 54266000 41774000 P10Y 14780000 7816000 6964000 P5Y 8800000 8800000 P7Y 4900000 525000 4375000 P19Y 24000 14000 10000 124544000 71421000 53123000 P9Y P17Y 96040000 53078000 42962000 P10Y 14780000 7446000 7334000 P5Y 8800000 8800000 P7Y 4900000 350000 4550000 P19Y 24000 14000 10000 124544000 69688000 54856000 3811000 3811000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,667</p></td></tr><tr><td style="vertical-align:bottom;width:85.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,733)</p></td></tr><tr><td style="vertical-align:bottom;width:85.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,934</p></td></tr></table> 58667000 1733000 56934000 1733000 1738000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024 (remainder)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,200</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,933</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,933</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,933</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,877</p></td></tr><tr><td style="vertical-align:bottom;width:85.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,247</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 5200000 6933000 6933000 6933000 6877000 20247000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 4. Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt;">Bank Revolving Credit Notes</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 12pt 0pt;">On June 28, 2023, we entered into an amended and restated credit agreement (the Credit Agreement) with certain lenders and Wells Fargo Bank, National Association, as administrative agent (the Agent). The Credit Agreement provides for a $250,000 revolving credit facility, with a letter of credit sub-facility, and a swingline facility in an aggregate amount of $25,000. The Credit Agreement also provides the availability of incremental facilities to the greater of $100,000 and 125% of the Company’s twelve month trailing Consolidated EBITDA through an accordion feature. All amounts borrowed under the credit agreement mature on June 28, 2028.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Credit Agreement contains usual and customary negative covenants for agreements of this type, including, but not limited to, restrictions on our ability to, subject to certain exceptions, create, incur or assume indebtedness; create, incur, assume or suffer to exist liens; make certain investments; allow our subsidiaries to merge or consolidate with another entity; make certain asset dispositions; pay certain dividends or other distributions to shareholders; enter into transactions with affiliates; enter into sale leaseback transactions; and exceed the limits on annual capital expenditures. The Credit Agreement also requires us to satisfy certain financial covenants, including a minimum consolidated interest coverage ratio of 3.00 to 1.00 as well as a consolidated total leverage ratio not to exceed 4.00 to 1.00 (which was increased as of July 1, 2023 from 3.50 to 1.00 in connection with the acquisition of MSA).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Company incurred deferred financing costs of $1,248 associated with executing the Credit Agreement, which has been recorded as an other long-term asset in the Condensed Consolidated Balance Sheets and will be amortized over the duration of the agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">At March 31, 2024, our consolidated total leverage ratio was 1.98 to 1.00 as compared to a covenant maximum of 4.00 to 1.00 under the Credit Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">At March 31, 2024, our consolidated interest coverage ratio was 4.87 to 1.00 as compared to a covenant minimum of 3.00 to 1.00 under the Credit Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Under the Credit Agreement, interest is payable quarterly at the adjusted secured overnight financing rate (SOFR) plus an applicable margin based on the current consolidated total leverage ratio. The interest rate was 7.68% and 7.71% as of March 31, 2024 and December 31, 2023, respectively. Additionally, the agreement has a fee on the average daily unused portion of the aggregate unused revolving commitments. This fee was 0.30% as of March 31, 2024 and December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Prior to June 28, 2023, the Company maintained a credit agreement (Former Credit Agreement) with certain lenders and the Agent. The Former Credit Agreement provided for a $200,000 revolving credit facility, with a letter of credit sub-facility in an aggregate amount not to exceed $5,000, and a swingline facility in an aggregate amount of $20,000. The Former Credit Agreement also provided for an additional $100,000 of debt capacity through an accordion feature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Company was in compliance with all financial covenants of its credit agreements as of March 31, 2024 and December 31, 2023. The amount borrowed on the revolving credit notes was $139,817 and $147,493 as of March 31, 2024 and December 31, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other Debt</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;"><span style="white-space:pre-wrap;">With the consummation of the MSA acquisition, the Company assumed a Fond du Lac County and Fond du Lac Economic Development Corporation term note (Fond du Lac Term Note). The Fond du Lac Term Note is secured by a security agreement, payable in annual installments of </span>$500 plus interest at 2.00% and is due in full in December 2028. The balance outstanding as of March 31, 2024 and December 31, 2023 was $2,375. The short-term and long-term balance of $500 and $1,875, respectively, are recorded in other current liabilities and other long-term liabilities in the Condensed Consolidated Balance Sheets.</p> 250000000 25000000 100000000 1.25 P12M 2028-06-28 0.0300 0.0400 0.0350 1248000 0.0198 0.0400 0.0487 0.0300 0.0768 0.0771 0.0030 0.0030 200000000 5000000 20000000 100000000 139817000 147493000 500000 0.0200 2375000 500000 1875000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 5. Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 0pt 0pt;">The Company has real property operating leases for office and light manufacturing space. Operating leases for the Company’s personal property consist of leases for office equipment, vehicles, forklifts and storage tanks for bulk gases. The Company recognizes a right-of-use (ROU) asset and a lease liability for operating leases based on the net present value of future minimum lease payments. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term, including renewal periods that are considered reasonably certain.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 0pt 0pt;">The Company has finance leases for two laser cutting systems, four vehicles and a number of copiers. The Company recognizes an ROU asset and a lease liability for finance leases based on the net present value of future minimum lease payments. Lease expense for the Company’s finance leases is comprised of the amortization of the ROU asset and interest expense recognized based on the effective interest method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 0pt 0pt;">Variable lease expense is related to certain of the Company’s real property leases and personal property leases, and it generally consists of property tax and insurance components that are for the benefit of the lessor (real property leases) and variable overage fees (personal property leases) that are remitted as part of the Company’s lease payments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The components of lease expense were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Amortization of finance lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest on finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total finance lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,286</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 152</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Variable lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 69</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease income <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (532)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (631)</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 968</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company subleased a portion of its Hazel Park, MI facility starting in June 2022. Lease income for the three months ended March 31, 2024 and 2023 was </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$532</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$631</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, respectively.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">Lease related supplemental cash flow information:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:23.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash paid for amounts included in the measurement of lease liabilities for finance leases:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Financing cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash paid for amounts included in the measurement of lease liabilities for operating leases:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,425</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Right-of-use assets obtained in exchange for recorded lease obligations:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2 4 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Amortization of finance lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest on finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total finance lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,286</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 152</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Variable lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 69</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease income <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (532)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (631)</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 968</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company subleased a portion of its Hazel Park, MI facility starting in June 2022. Lease income for the three months ended March 31, 2024 and 2023 was </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$532</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$631</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, respectively.</span></td></tr></table> 104000 94000 8000 11000 112000 105000 1340000 1286000 152000 139000 52000 69000 532000 631000 1124000 968000 532000 631000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:23.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash paid for amounts included in the measurement of lease liabilities for finance leases:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Financing cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash paid for amounts included in the measurement of lease liabilities for operating leases:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,425</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Right-of-use assets obtained in exchange for recorded lease obligations:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 8000 11000 107000 96000 1481000 1425000 134000 1000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 6. Employee stock ownership plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Under the Mayville Engineering Company, Inc. Employee Stock Ownership Plan (ESOP), the Company can make annual discretionary contributions to the trust for the benefit of eligible employees in the form of cash or shares of common stock of the Company subject to the Board of Directors’ approval. For the three months ended March 31, 2024 and 2023, the Company recorded no ESOP expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">As of January 1, 2023, the Company amended the plan reducing the distribution period from five years to three years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">At various times following death, disability, retirement, termination of employment or the exercise of diversification rights, an ESOP participant is entitled to receive their ESOP account balance in accordance with various distribution methods as permitted under the policies adopted by the ESOP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">As of March 31, 2024 and December 31, 2023, the ESOP shares consisted of 3,732,076 and 4,062,583 in allocated shares, respectively.</p> 0 0 P5Y P3Y 3732076 4062583 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 7. Retirement plans</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The Mayville Engineering Company, Inc. 401(k) Plan (the 401(k) Plan) covers substantially all employees meeting certain eligibility requirements. The 401(k) Plan is a defined contribution plan and is intended for eligible employees to defer tax-free </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;">contributions to save for retirement. Employees may contribute up to 50% of their eligible compensation to the 401(k) Plan, subject to the limits of Section 401(k) of the Internal Revenue Code.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;">The Company provides a 50% match for employee contributions, up to 6%. For the three months ended March 31, 2024 and 2023, the Company’s employer match expense was $1,053 and $874, respectively. Additionally, the 401(k) Plan provides for employer discretionary profit-sharing contributions and the Board of Directors may authorize discretionary profit-sharing contributions (which are usually approved at the end of each calendar year). For the three months ended March 31, 2024 and 2023, the Company’s estimated discretionary profit-sharing expense was $0.</p> 0.50 0.50 0.06 1053000 874000 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 8. Income taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">On a quarterly basis, the Company estimates its effective tax rate for the full fiscal year and records a quarterly income tax provision based on the anticipated rate and adjusted for discrete taxable events that may occur in the quarter. As the year progresses, the Company will refine its estimate based on facts and circumstances by each tax jurisdiction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Income tax expense was $1,034 and $441, and the effective tax rate (ETR) was 24.19% and 14.65% for the three months ended March 31, 2024 and 2023, respectively. Our ETR is different from the expected tax rate due to state taxes, non-deductible items, research and development credits and excess tax benefit associated with stock-based compensation items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 6pt 0pt;"><span style="font-weight:bold;">Uncertain Tax Positions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Based on the Company’s evaluation, it has been concluded that there is one unrecognized tax benefit requiring recognition in its financial statements as of March 31, 2024. The Company does not anticipate that there will be a material change in the balance of the unrecognized tax benefits in the next twelve months. Any interest and penalties related to uncertain tax positions are recorded in income tax expense. At March 31, 2024 and December 31, 2023, a total of $805 and $771 of unrecognized tax benefits would, if recognized, impact the Company’s ETR.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;">The Company files income tax returns in the United States federal jurisdiction and in various state and local jurisdictions. Federal tax returns for tax years beginning January 1, 2020, and state tax returns beginning January 1, 2019, are open for examination.</p> 1034000 441000 0.2419 0.1465 805000 771000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 9. Commitments and contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Litigation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">On August 4, 2022, the Company filed a lawsuit against Peloton Interactive, Inc. (“Peloton”) in the Supreme Court of the State of New York, New York County. The lawsuit arises from a March 2021 Supply Agreement between the parties, pursuant to which MEC was to manufacture and supply custom component parts for Peloton’s exercise bikes (the “Manufacturing Project”). In the lawsuit, the Company originally asserted two claims (1) breach and anticipatory repudiation of contract and (2) breach of the duty of good faith and fair dealing (pleaded in the alternative). In January 2023, in response to Peloton’s motion to dismiss, the court allowed the first claim to proceed and dismissed the alternative claim. In the remaining claim, MEC asserts that Peloton breached and anticipatorily repudiated the Supply Agreement by unilaterally cancelling the Manufacturing Project, and refusing to pay MEC certain monthly fixed revenue payments owed under the terms of the Supply Agreement. The parties cross-appealed the court’s order on the motion to dismiss – Peloton appealed the portion of the order that denied the motion to dismiss the claim for breach and anticipatory repudiation of contract and MEC appealed the portion of the order that dismissed the claim for breach of duty of good faith and fair dealing. On April 11, 2024, the First Department, Appellate Division issued a decision and order affirming the court’s order on the motion to dismiss and affirming the court’s dismissal of the alternate claim of good faith and fair dealing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">On November 3, 2023, Peloton filed a counterclaim alleging that Peloton was induced by fraud to enter into the Supply Agreement and seeking recission of the Supply Agreement and damages, among other forms of relief. On November 22, 2023, the Company answered Peloton’s counterclaim, denying the allegations in the counterclaim. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The total amount for damages claimed by MEC is substantial but the amount and timing of the ultimate recovery is uncertain. As a result, any recovery from this litigation or settlement of this claim is a contingent gain and will be recognized if, and when, realized or realizable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;">From time to time, the Company may be involved in various claims and lawsuits, both for and against the Company, arising in the normal course of business. Although the results of litigation and claims cannot be predicted with certainty, in management’s opinion, either the likelihood of loss is remote, or any reasonably possible loss associated with the resolution of such proceedings is not expected to have a material adverse impact on the consolidated financial statements.</p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 10. Deferred compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Mayville Engineering Company Deferred Compensation Plan is available for certain employees designated to be eligible to participate by the Company and approved by the Board of Directors. Eligible employees may elect to defer a portion of their compensation for any plan year and the deferral cannot exceed 50% of the participant’s base salary and may include the participant’s annual short-term cash incentive up to 100%. The participant’s election must be made prior to the first day of the plan year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">An employer contribution will be made for each participant to reflect the amount of any reduced allocations to the ESOP and/or 401(k) employer contributions due solely to the participant’s deferral amounts, as applicable. In addition, a discretionary amount may be awarded to a participant by the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Deferrals are assumed to be invested in an investment vehicle based on the options made available to the participant (which does not include Company stock).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The deferred compensation plan provides benefits payable upon separation of service or death. Payments are to be made 30 or 180 days after date of separation from service, either in a lump-sum payment or up to five annual installments as elected by the participant when the participant first elects to defer compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;">The deferred compensation plan is non-funded, and all future contributions are unsecured in that the employees have the status of a general unsecured creditor of the Company and the agreements constitute a promise by the Company to make benefit payments in the future. During the three months ended March 31, 2024 and 2023, eligible employees elected to defer compensation of $365 and $236, respectively. As of March 31, 2024 and December 31, 2023, the short-term portion accrued for all benefit years less than twelve months under this plan was $239 and $289, respectively. As of March 31, 2024 and December 31, 2023, the long-term portion accrued for all benefit years greater than twelve months under this plan was $4,182 and $3,816. These amounts include the initial deferral of compensation and were adjusted for changes in the value of investment options chosen by the participants. Total expense for the deferred compensation plan for the three months ended March 31, 2024 and 2023 was $237 and $560, respectively. These expenses are included in profit-sharing, bonuses and deferred compensation on the Condensed Consolidated Statements of Comprehensive Income. Additionally, the Company made cash distributions of $286 and $958 for the three months ended March 31, 2024 and 2023, respectively.</p> The Mayville Engineering Company Deferred Compensation Plan is available for certain employees designated to be eligible to participate by the Company and approved by the Board of Directors. 0.50 1 365000 236000 239000 289000 4182000 3816000 237000 560000 286000 958000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 11. Self-Funded insurance</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Company is self-funded for the medical benefits provided to its employees and their dependents. Healthcare costs are expensed as incurred and are based upon actual claims paid, reinsurance premiums, administration fees, and estimated unpaid claims. The Company has an aggregate stop loss limit to mitigate risk. Expenses related to this were $6,169 and $4,634 for the three months ended March 31, 2024 and 2023. An estimated accrued liability of $1,384 and $1,018 was recorded as of March 31, 2024 and December 31, 2023, respectively, for estimated unpaid claims and is included within other current liabilities on the Condensed Consolidated Balance Sheets.</p> 6169000 4634000 1384000 1018000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 12. Segments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;">The Company applies the provisions of ASC 280, <i style="font-style:italic;">Segment Reporting</i>. An operating segment is defined as a component that engages in business activities whose operating results are reviewed by the chief operating decision maker and for which discrete financial information is available. Based on the provisions of ASC 280, the Company has determined it has one operating segment. The Company does not earn revenues or have long-lived assets located in foreign countries.</p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 13. Fair value of financial instruments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Fair value provides information on what the Company may realize if certain assets were sold or might pay to transfer certain liabilities based upon an exit price. Financial assets and liabilities that are measured and reported at fair value are classified into a three-level hierarchy that prioritizes the inputs used in the valuation process. A financial instrument’s categorization within the valuation hierarchy is based on the lowest level of any input that is significant to the fair value measurement. The hierarchy is based on the observability and objectivity of the pricing inputs as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 1 – Quoted prices in active markets for identical assets or liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 2 – Significant directly observable data (other than Level 1 quoted prices) or significant indirectly observable data through corroboration with observable market data. Inputs would normally be (i) quoted prices in active markets for similar assets or liabilities, (ii) quoted prices in inactive markets for identical or similar assets or liabilities or (iii) information derived from or corroborated by observable market data. Long-term debt is classified as a Level 2 fair value input.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 3 – Prices or valuation techniques that require significant unobservable data inputs. These inputs would normally be the Company’s own data and judgements about assumptions that market participants would use in pricing the asset or liability.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The following table lists the Company’s financial assets and liabilities accounted for at fair value by the fair value hierarchy:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance at</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value Measurements at</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Report Date Using</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred compensation liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance at</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Report Date Using</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred compensation liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Fair value measurements for the Company’s cash and cash equivalents are classified based upon Level 1 measurements because such measurements are based upon quoted market prices in active markets for identical assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, accounts payable, long-term debt and accrued liabilities are recorded in the Condensed Consolidated Balance Sheets at cost and approximate fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Deferred compensation liabilities are recorded at amounts due to participants at the time of deferral. Deferrals are invested in an investment vehicle based on the options made available to the participant, considered to be Level 1 and Level 2 on the fair value hierarchy, with the current balance all as Level 1. The change in fair value is recorded in the profit-sharing, bonuses, and deferred compensation line item on the Condensed Consolidated Statements of Comprehensive Income. The short-term and long-term balances due to participants are reflected on the other current liabilities and deferred compensation, less current portion, line items, respectively, on the Condensed Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 18pt 0pt;">The Company’s non-financial assets such as goodwill, intangible assets and property, plant, and equipment are re-measured at fair value when there is an indication of impairment and adjusted only when an impairment charge is recognized. There was no impairment recognized as of the quarter end March 31, 2024.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance at</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value Measurements at</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Report Date Using</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred compensation liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance at</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Report Date Using</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred compensation liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:53.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 4421000 4421000 4421000 4421000 4105000 4105000 4105000 4105000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Note 14. Earnings Per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The Company computes earnings per share in accordance with ASC Topic 260, <i style="font-style:italic;">Earnings per Share</i>. In accordance with ASC 260, outstanding options will be considered to have been exercised and outstanding as of the beginning of the period if the average </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">market price of the common stock during the period exceeds the exercise price of the options (they are “in the money”), and the assumed exercise of the options do not have an anti-dilutive impact on earnings per share.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">A reconciliation of basic and diluted net income per share attributable to the Company were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to MEC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,571</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,485,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,315,338</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Basic income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.13</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,485,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,315,338</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 434,610</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total potential shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,700,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,749,948</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Diluted income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.12</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">There were no options in the money that were excluded in the computation of diluted earnings per share for the three months ended March 31, 2024 and 2023 because they would have had an anti-dilutive impact on earnings per share.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to MEC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,571</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,485,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,315,338</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Basic income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.13</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,485,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,315,338</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 434,610</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total potential shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,700,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,749,948</p></td></tr><tr><td style="vertical-align:bottom;width:68.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Diluted income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.12</p></td></tr></table> 3241000 2571000 20485933 20315338 0.16 0.13 20485933 20315338 214113 434610 20700046 20749948 0.16 0.12 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 15. Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 6pt 0pt;"><span style="font-weight:bold;">Contract Assets and Contract Liabilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Company has contract assets and contract liabilities, which are included in tooling in progress and other current liabilities on the Condensed Consolidated Balance Sheets, respectively. Contract assets include products where the Company has satisfied its performance obligation, but receipt of payment is contingent upon delivery. Contract liabilities include deferred tooling revenue, where the performance obligation was not met. The performance obligation is satisfied when the tooling is completed and the customer signs off through the Product Part Approval Process or other documented customer acceptance. Cost of goods sold is recognized and released from the balance sheet when control of the tooling promised under contract is transferred to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The Company’s contracts with customers are short-term in nature; therefore, revenue is typically recognized, billed and collected within a twelve-month period. The following table reflects the changes in our contract assets and liabilities during the three months ended March 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">As of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,457</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net activity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (225)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (538)</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">As of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,097</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;"> </b><span style="font-style:italic;font-weight:bold;">Disaggregated Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The following tables represent a disaggregation of revenue by product category and end market:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Product Category</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outdoor sports</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,305</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fabrication</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,001</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Performance structures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,675</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tube</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,074</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,352</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tank</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,119</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,452</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intercompany sales elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,724)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,807)</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total, net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 161,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,645</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">End Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial vehicle</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,155</p></td></tr><tr><td style="vertical-align:middle;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction &amp; access</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,507</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Powersports</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,098</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Agriculture</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,451</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Military</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,952</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,569</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,668</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,866</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total, net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 161,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,645</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">As of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,457</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net activity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (225)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (538)</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">As of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,097</p></td></tr></table> 5457000 3635000 225000 -538000 5232000 3097000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Product Category</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outdoor sports</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,305</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fabrication</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,001</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Performance structures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,675</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tube</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,074</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,352</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tank</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,119</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,452</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intercompany sales elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,724)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,807)</p></td></tr><tr><td style="vertical-align:bottom;width:69.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total, net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 161,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,645</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">End Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial vehicle</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,155</p></td></tr><tr><td style="vertical-align:middle;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction &amp; access</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,507</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Powersports</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,098</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Agriculture</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,451</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Military</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,952</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,569</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,668</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,866</p></td></tr><tr><td style="vertical-align:bottom;width:72.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total, net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 161,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,645</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2159000 2305000 90914000 87001000 45770000 26675000 19074000 20352000 11076000 11119000 168993000 147452000 -7724000 -4807000 161269000 142645000 58954000 59155000 28446000 26507000 30291000 24098000 14958000 14451000 7952000 8569000 20668000 9866000 161269000 142645000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:18pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Note 16. Concentration of major customers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The following customers accounted for 10% or greater of the Company’s recorded net sales or net trade receivables:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;width:22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;width:22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;width:22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;width:22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&lt;10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 0.166 0.153 0.118 <10 0.140 0.156 0.116 0.126 <10 0.121 <10 <10 <10 <10 0.130 0.127 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 17. Stock-based compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Mayville Engineering Company, Inc. 2019 Omnibus Incentive Plan provided the Company the ability to grant monetary payments based on the value of its common stock, up to 2,000,000 shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">On April 20, 2021, shareholders of the Company approved an amendment to the 2019 Omnibus Incentive Plan increasing the number of shares of common stock authorized for issuance by 2,500,000 shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 11pt 0pt;">The Company recognizes stock-based compensation using the fair value provisions prescribed by ASC 718, <i style="font-style:italic;">Compensation – Stock Compensation</i>. Accordingly, compensation costs for awards of stock-based compensation settled in shares are determined based on the fair value of the stock-based instrument at the time of grant and are recognized as expense over the vesting period of the stock-based instrument. Our stock-based compensation consists of stock options, restricted stock units (RSUs) and performance stock units (PSUs). For all types of units, fair value is equivalent to the adjusted closing stock price at the date of the grant. The Black-Scholes option pricing model is utilized to determine fair value for options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 11pt 0pt;">The actual number of PSUs, if any, to be earned by the award recipients is determined after the end of a performance measurement period. The performance measures include Adjusted EBITDA, which represents net income before interest expense, provision for income taxes, depreciation, amortization, stock-based compensation, legal costs due to the former fitness customer and adjusted for items to be determined unusual in nature or infrequent in occurrence, for the year ended December 31, 2026, and the average annual return on invested capital (ROIC), for the three-years ended December 31, 2024, 2025 and 2026, respectively. ROIC represents net operating profit after taxes divided by invested capital for an annual period. These performance targets are subject to adjustments or exclusions as deemed appropriate to account for extraordinary or unanticipated events that do not reflect the core business of the Company, and have been set for each of the minimum, target and maximum levels with the actual performance amount received determined by the Compensation Committee of the Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">Cancellations and forfeitures are accounted for as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 11pt 0pt;">Stock awards were granted on March 15, 2024, November 3, 2023, September 18, 2023, June 26, 2023, April 18, 2023, March 13, 2023, February 28, 2023 and January 25, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">During the three months ended March 31, 2024, 154,372 RSUs vested. For the same period, 206,524 options vested with a weighted average strike price of $13.54. During the three months ended March 31, 2023, 132,433 RSUs vested. For the same period, 197,597 options vested with a strike price of $11.65.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">As of March 31, 2024, 1,222,302 options remained outstanding with a weighted average strike price of $11.36 and a weighted average contractual life of 7.40 years remaining.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">The Company’s stock-based compensation expense by award type is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">RSU awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">PSU awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Option awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation expense, net of tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:12pt 0pt 0pt 0pt;">A roll-forward of unrecognized stock-based compensation expense is displayed in the table below. Unrecognized stock-based compensation expense as of March 31, 2024 will be expensed over the remaining requisite service period from which individual award values relate, up to March 15, 2027.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,817</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,846</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeitures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32)</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (789)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (348)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,157)</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,474</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2000000 2500000 154372 206524 13.54 132433 197597 11.65 1222302 11.36 P7Y4M24D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:25.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">RSU awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">PSU awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Option awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation expense, net of tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 789000 715000 20000 348000 351000 1157000 1066000 2027-03-15 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,817</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,846</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeitures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32)</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (789)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (348)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,157)</p></td></tr><tr><td style="vertical-align:bottom;width:53.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,474</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2304000 0 1513000 3817000 4423000 1423000 5846000 32000 32000 789000 20000 348000 1157000 5906000 1403000 1165000 8474000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 18. Common Equity</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">At March 31, 2024 the authorized stock of the Company consisted of 75,000,000 shares of common stock without par value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;">Changes in outstanding common shares are summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:78.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shares as of December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,172,746</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Treasury stock purchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (41,148)</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Common stock issued (including stock-based compensation impact)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 290,432</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,422,030</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,310,584</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Treasury stock purchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Common stock issued (including stock-based compensation impact)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 155,932</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,466,516</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 75000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:78.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shares as of December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,172,746</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Treasury stock purchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (41,148)</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Common stock issued (including stock-based compensation impact)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 290,432</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,422,030</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,310,584</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Treasury stock purchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Common stock issued (including stock-based compensation impact)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 155,932</p></td></tr><tr><td style="vertical-align:bottom;width:78.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,466,516</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 20172746 41148 290432 20422030 20310584 155932 20466516 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:18pt 0pt 6pt 0pt;">Note 19. Subsequent events</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt 0pt 12pt 0pt;">The Company has evaluated subsequent events since March 31, 2024, the date of these financial statements. There were no material events or transactions discovered during this evaluation that requires recognition or disclosure in the financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> false false false false