0000352825-24-000108.txt : 20240507 0000352825-24-000108.hdr.sgml : 20240507 20240507130216 ACCESSION NUMBER: 0000352825-24-000108 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 81 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 FILER: COMPANY DATA: COMPANY CONFORMED NAME: FOSTER L B CO CENTRAL INDEX KEY: 0000352825 STANDARD INDUSTRIAL CLASSIFICATION: WHOLESALE-METALS SERVICE CENTERS & OFFICES [5051] ORGANIZATION NAME: 07 Trade & Services IRS NUMBER: 251324733 STATE OF INCORPORATION: PA FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-10436 FILM NUMBER: 24920884 BUSINESS ADDRESS: STREET 1: 415 HOLIDAY DR CITY: PITTSBURGH STATE: PA ZIP: 15220 BUSINESS PHONE: 4129283431 MAIL ADDRESS: STREET 1: 415 HOLIDAY DR CITY: PITTSBURGH STATE: PA ZIP: 15220 10-Q 1 fstr-20240331.htm 10-Q fstr-20240331
false2024Q10000352825--12-31twotwothree1http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent00003528252024-01-012024-03-3100003528252024-05-01xbrli:shares00003528252024-03-31iso4217:USD00003528252023-12-31iso4217:USDxbrli:shares0000352825us-gaap:ProductMember2024-01-012024-03-310000352825us-gaap:ProductMember2023-01-012023-03-310000352825us-gaap:ServiceMember2024-01-012024-03-310000352825us-gaap:ServiceMember2023-01-012023-03-3100003528252023-01-012023-03-3100003528252022-12-3100003528252023-03-310000352825us-gaap:CommonStockMember2023-12-310000352825us-gaap:AdditionalPaidInCapitalMember2023-12-310000352825us-gaap:RetainedEarningsMember2023-12-310000352825us-gaap:TreasuryStockCommonMember2023-12-310000352825us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310000352825us-gaap:NoncontrollingInterestMember2023-12-310000352825us-gaap:RetainedEarningsMember2024-01-012024-03-310000352825us-gaap:NoncontrollingInterestMember2024-01-012024-03-310000352825us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310000352825us-gaap:TreasuryStockCommonMember2024-01-012024-03-310000352825us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310000352825us-gaap:CommonStockMember2024-03-310000352825us-gaap:AdditionalPaidInCapitalMember2024-03-310000352825us-gaap:RetainedEarningsMember2024-03-310000352825us-gaap:TreasuryStockCommonMember2024-03-310000352825us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310000352825us-gaap:NoncontrollingInterestMember2024-03-310000352825us-gaap:CommonStockMember2022-12-310000352825us-gaap:AdditionalPaidInCapitalMember2022-12-310000352825us-gaap:RetainedEarningsMember2022-12-310000352825us-gaap:TreasuryStockCommonMember2022-12-310000352825us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310000352825us-gaap:NoncontrollingInterestMember2022-12-310000352825us-gaap:RetainedEarningsMember2023-01-012023-03-310000352825us-gaap:NoncontrollingInterestMember2023-01-012023-03-310000352825us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310000352825us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310000352825us-gaap:TreasuryStockCommonMember2023-01-012023-03-310000352825us-gaap:CommonStockMember2023-03-310000352825us-gaap:AdditionalPaidInCapitalMember2023-03-310000352825us-gaap:RetainedEarningsMember2023-03-310000352825us-gaap:TreasuryStockCommonMember2023-03-310000352825us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310000352825us-gaap:NoncontrollingInterestMember2023-03-310000352825us-gaap:OperatingSegmentsMemberfstr:RailTechnologiesAndServicesSegmentMember2024-01-012024-03-310000352825us-gaap:OperatingSegmentsMemberfstr:RailTechnologiesAndServicesSegmentMember2023-01-012023-03-310000352825us-gaap:OperatingSegmentsMemberfstr:InfrastructureSolutionsSegmentMember2024-01-012024-03-310000352825us-gaap:OperatingSegmentsMemberfstr:InfrastructureSolutionsSegmentMember2023-01-012023-03-310000352825us-gaap:OperatingSegmentsMember2024-01-012024-03-310000352825us-gaap:OperatingSegmentsMember2023-01-012023-03-310000352825us-gaap:OperatingSegmentsMemberfstr:RailTechnologiesAndServicesSegmentMember2024-03-310000352825us-gaap:OperatingSegmentsMemberfstr:RailTechnologiesAndServicesSegmentMember2023-12-310000352825us-gaap:OperatingSegmentsMemberfstr:InfrastructureSolutionsSegmentMember2024-03-310000352825us-gaap:OperatingSegmentsMemberfstr:InfrastructureSolutionsSegmentMember2023-12-310000352825us-gaap:CorporateNonSegmentMember2024-03-310000352825us-gaap:CorporateNonSegmentMember2023-12-310000352825fstr:CoatingsAndMeasurementMember2023-03-302023-03-300000352825fstr:RailProductsBusinessUnitMember2023-03-302023-03-300000352825fstr:RailProductsBusinessUnitMember2023-06-302023-06-300000352825us-gaap:SegmentDiscontinuedOperationsMemberfstr:BridgeGridDeckProductMember2024-01-012024-03-310000352825us-gaap:SegmentDiscontinuedOperationsMemberfstr:BridgeGridDeckProductMember2023-01-012023-03-310000352825us-gaap:SegmentDiscontinuedOperationsMemberfstr:BridgeGridDeckProductMember2023-08-302024-03-310000352825fstr:CougarMountainPrecastLLCMember2023-11-172023-11-17fstr:segment00003528252023-01-012023-12-310000352825fstr:RailProductsMemberfstr:RailTechnologiesAndServicesSegmentMember2024-01-012024-03-310000352825fstr:RailProductsMemberfstr:RailTechnologiesAndServicesSegmentMember2023-01-012023-03-310000352825fstr:RailTechnologiesAndServicesSegmentMemberfstr:GlobalFrictionManagementMember2024-01-012024-03-310000352825fstr:RailTechnologiesAndServicesSegmentMemberfstr:GlobalFrictionManagementMember2023-01-012023-03-310000352825fstr:RailTechnologiesAndServicesSegmentMemberfstr:RailTechnologiesProductsMember2024-01-012024-03-310000352825fstr:RailTechnologiesAndServicesSegmentMemberfstr:RailTechnologiesProductsMember2023-01-012023-03-310000352825fstr:RailTechnologiesAndServicesSegmentMember2024-01-012024-03-310000352825fstr:RailTechnologiesAndServicesSegmentMember2023-01-012023-03-310000352825fstr:PrecastConcreteProductsSegmentMember2024-01-012024-03-310000352825fstr:PrecastConcreteProductsSegmentMember2023-01-012023-03-310000352825fstr:SteelProductsSegmentMember2024-01-012024-03-310000352825fstr:SteelProductsSegmentMember2023-01-012023-03-310000352825fstr:InfrastructureSolutionsSegmentMember2024-01-012024-03-310000352825fstr:InfrastructureSolutionsSegmentMember2023-01-012023-03-310000352825us-gaap:TransferredAtPointInTimeMemberfstr:RailTechnologiesAndServicesSegmentMember2024-01-012024-03-310000352825us-gaap:TransferredAtPointInTimeMemberfstr:InfrastructureSolutionsSegmentMember2024-01-012024-03-310000352825us-gaap:TransferredAtPointInTimeMember2024-01-012024-03-310000352825fstr:RailTechnologiesAndServicesSegmentMemberus-gaap:TransferredOverTimeMember2024-01-012024-03-310000352825fstr:InfrastructureSolutionsSegmentMemberus-gaap:TransferredOverTimeMember2024-01-012024-03-310000352825us-gaap:TransferredOverTimeMember2024-01-012024-03-310000352825us-gaap:TransferredAtPointInTimeMemberfstr:RailTechnologiesAndServicesSegmentMember2023-01-012023-03-310000352825us-gaap:TransferredAtPointInTimeMemberfstr:InfrastructureSolutionsSegmentMember2023-01-012023-03-310000352825us-gaap:TransferredAtPointInTimeMember2023-01-012023-03-310000352825fstr:RailTechnologiesAndServicesSegmentMemberus-gaap:TransferredOverTimeMember2023-01-012023-03-310000352825fstr:InfrastructureSolutionsSegmentMemberus-gaap:TransferredOverTimeMember2023-01-012023-03-310000352825us-gaap:TransferredOverTimeMember2023-01-012023-03-310000352825fstr:OverTimeInputMethodMember2024-01-012024-03-310000352825fstr:OverTimeInputMethodMember2023-01-012023-03-31xbrli:pure0000352825fstr:OverTimeOutputMethodMember2024-01-012024-03-310000352825fstr:OverTimeOutputMethodMember2023-01-012023-03-3100003528252025-04-012024-03-310000352825fstr:RailTechnologiesAndServicesSegmentMember2023-12-310000352825fstr:InfrastructureSolutionsSegmentMember2023-12-310000352825fstr:CougarMountainPrecastLLCMemberfstr:RailTechnologiesAndServicesSegmentMember2024-01-012024-03-310000352825fstr:CougarMountainPrecastLLCMemberfstr:PrecastConcreteProductsSegmentMember2024-01-012024-03-310000352825fstr:CougarMountainPrecastLLCMember2024-01-012024-03-310000352825fstr:RailTechnologiesAndServicesSegmentMember2024-03-310000352825fstr:InfrastructureSolutionsSegmentMember2024-03-310000352825us-gaap:CustomerRelationshipsMember2023-01-012023-03-310000352825us-gaap:CustomerRelationshipsMembersrt:WeightedAverageMember2024-01-012024-03-310000352825us-gaap:PatentsMembersrt:WeightedAverageMember2024-03-310000352825us-gaap:PatentsMember2024-03-310000352825us-gaap:CustomerRelationshipsMembersrt:WeightedAverageMember2024-03-310000352825us-gaap:CustomerRelationshipsMember2024-03-310000352825us-gaap:TrademarksAndTradeNamesMembersrt:WeightedAverageMember2024-03-310000352825us-gaap:TrademarksAndTradeNamesMember2024-03-310000352825us-gaap:TechnologyBasedIntangibleAssetsMembersrt:WeightedAverageMember2024-03-310000352825us-gaap:TechnologyBasedIntangibleAssetsMember2024-03-310000352825us-gaap:OffMarketFavorableLeaseMembersrt:WeightedAverageMember2024-03-310000352825us-gaap:OffMarketFavorableLeaseMember2024-03-310000352825us-gaap:PatentsMembersrt:WeightedAverageMember2023-12-310000352825us-gaap:PatentsMember2023-12-310000352825us-gaap:CustomerRelationshipsMembersrt:WeightedAverageMember2023-12-310000352825us-gaap:CustomerRelationshipsMember2023-12-310000352825us-gaap:TrademarksAndTradeNamesMembersrt:WeightedAverageMember2023-12-310000352825us-gaap:TrademarksAndTradeNamesMember2023-12-310000352825us-gaap:TechnologyBasedIntangibleAssetsMembersrt:WeightedAverageMember2023-12-310000352825us-gaap:TechnologyBasedIntangibleAssetsMember2023-12-310000352825us-gaap:OffMarketFavorableLeaseMembersrt:WeightedAverageMember2023-12-310000352825us-gaap:OffMarketFavorableLeaseMember2023-12-310000352825us-gaap:SellingGeneralAndAdministrativeExpensesMember2024-01-012024-03-310000352825us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-03-310000352825fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberus-gaap:RevolvingCreditFacilityMemberfstr:FourthAmendedAndRestatedCreditAgreementMember2021-08-132021-08-130000352825fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberus-gaap:RevolvingCreditFacilityMemberfstr:FourthAmendedAndRestatedCreditAgreementMember2021-08-130000352825us-gaap:DebtInstrumentRedemptionPeriodOneMemberfstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberfstr:FourthAmendedAndRestatedCreditAgreementMember2024-03-31fstr:covenant0000352825us-gaap:DebtInstrumentRedemptionPeriodOneMemberfstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberfstr:FourthAmendedAndRestatedCreditAgreementMember2021-08-130000352825fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberfstr:FourthAmendedAndRestatedCreditAgreementMemberus-gaap:DebtInstrumentRedemptionPeriodTwoMember2021-08-130000352825fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberfstr:FourthAmendedAndRestatedCreditAgreementMember2021-08-130000352825fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMemberus-gaap:RevolvingCreditFacilityMember2024-03-310000352825fstr:OmnibusPlanAndEquityAndIncentivePlanMember2023-01-012023-03-310000352825fstr:OmnibusPlanAndEquityAndIncentivePlanMember2024-01-012024-03-310000352825srt:DirectorMember2024-01-012024-03-310000352825us-gaap:RestrictedStockMember2024-01-012024-03-310000352825us-gaap:PerformanceSharesMember2024-01-012024-03-310000352825us-gaap:RestrictedStockMember2023-12-310000352825fstr:DeferredStockUnitsMember2023-12-310000352825us-gaap:PerformanceSharesMember2023-12-310000352825fstr:DeferredStockUnitsMember2024-01-012024-03-310000352825us-gaap:RestrictedStockMember2024-03-310000352825fstr:DeferredStockUnitsMember2024-03-310000352825us-gaap:PerformanceSharesMember2024-03-310000352825us-gaap:SwapMember2022-08-310000352825fstr:Swap2Member2022-08-310000352825us-gaap:FairValueInputsLevel1Member2024-03-310000352825us-gaap:FairValueInputsLevel2Member2024-03-310000352825us-gaap:FairValueInputsLevel3Member2024-03-310000352825us-gaap:FairValueInputsLevel1Member2023-12-310000352825us-gaap:FairValueInputsLevel2Member2023-12-310000352825us-gaap:FairValueInputsLevel3Member2023-12-310000352825us-gaap:SwapMember2024-01-012024-03-310000352825us-gaap:SwapMember2023-01-012023-03-310000352825country:US2024-01-012024-03-31fstr:plan0000352825country:CA2024-01-012024-03-310000352825country:GB2024-01-012024-03-310000352825country:US2023-01-012023-03-310000352825country:US2024-03-310000352825country:GB2023-01-012023-03-310000352825country:GB2024-03-310000352825country:CA2023-01-012023-03-310000352825fstr:UPRRMember2019-03-132019-03-130000352825fstr:UPRRMember2019-03-130000352825fstr:UprrMember2019-03-130000352825fstr:UprrMember2021-09-3000003528252017-06-05fstr:companyfstr:party00003528252020-03-26

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: 000-10436
LBF-corporate-logo_linear-colour_crop.gif
L.B. Foster Company
(Exact name of registrant as specified in its charter)
Pennsylvania
25-1324733
(State of Incorporation)
(I. R. S. Employer Identification No.)
415 Holiday Drive, Suite 100, Pittsburgh, Pennsylvania
15220
(Address of principal executive offices)(Zip Code)
(412) 928-3400
(Registrant’s telephone number, including area code)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, par value $0.01FSTRNASDAQ Global Select Market

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 (section 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, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filer ☐
Accelerated filer
Non-accelerated filer ☐
Smaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.  ☐

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 1, 2024, there were 10,963,711 shares of the registrant’s common stock, par value $0.01 per share, outstanding.




L.B. FOSTER COMPANY AND SUBSIDIARIES
INDEX
 
Page

2

Part I. FINANCIAL INFORMATION
Item 1. Financial Statements
L.B. FOSTER COMPANY AND SUBSIDIARIES
CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except share data)
March 31,
2024
December 31,
2023
(Unaudited)
ASSETS
Current assets:
Cash and cash equivalents$3,148 $2,560 
Accounts receivable - net (Note 5)57,871 53,484 
Contract assets - net (Note 3)24,141 29,489 
Inventories - net (Note 6)85,761 73,496 
Other current assets12,063 8,961 
Total current assets182,984 167,990 
Property, plant, and equipment - net76,133 75,999 
Operating lease right-of-use assets - net14,098 14,905 
Other assets:
Goodwill (Note 4)31,995 32,587 
Other intangibles - net (Note 4)18,198 19,010 
Other assets2,993 2,715 
TOTAL ASSETS$326,401 $313,206 
LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
Accounts payable $43,368 $40,305 
Deferred revenue (Note 3)11,458 12,479 
Accrued payroll and employee benefits5,340 16,978 
Current portion of accrued settlement (Note 13)8,000 8,000 
Current maturities of long-term debt (Note 7)159 102 
Other accrued liabilities15,856 17,442 
Total current liabilities84,181 95,306 
Long-term debt (Note 7)77,926 55,171 
Deferred tax liabilities (Note 9)1,191 1,232 
Long-term operating lease liabilities11,178 11,865 
Other long-term liabilities6,648 6,797 
Stockholders’ equity:
Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at March 31, 2024 and December 31, 2023, 11,115,779; shares outstanding at March 31, 2024 and December 31, 2023, 10,789,231 and 10,733,935, respectively
111 111 
Paid-in capital41,866 43,111 
Retained earnings129,069 124,633 
Treasury stock - at cost, 326,548 and 381,844 common stock shares at March 31, 2024 and December 31, 2023, respectively
(5,829)(6,494)
Accumulated other comprehensive loss(20,616)(19,250)
Total L.B. Foster Company stockholders’ equity144,601 142,111 
Noncontrolling interest676 724 
Total stockholders’ equity145,277 142,835 
TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY$326,401 $313,206 
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
3

L.B. FOSTER COMPANY AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS
(Unaudited)
(In thousands, except per share data)
Three Months Ended
March 31,
20242023
Sales of goods$104,463 $98,538 
Sales of services19,857 16,950 
Total net sales124,320 115,488 
Cost of goods sold81,469 78,065 
Cost of services sold16,602 14,132 
Total cost of sales98,071 92,197 
Gross profit26,249 23,291 
Selling and administrative expenses22,749 21,423 
Amortization expense1,217 1,365 
Operating profit2,283 503 
Interest expense - net1,125 1,388 
Other (income) expense - net(3,536)1,827 
Income (loss) before income taxes4,694 (2,712)
Income tax expense (benefit)289 (541)
Net income (loss)4,405 (2,171)
Net loss attributable to noncontrolling interest(31)(19)
Net income (loss) attributable to L.B. Foster Company$4,436 $(2,152)
Per share data attributable to L.B. Foster shareholders:
Basic earnings (loss) per common share$0.41 $(0.20)
Diluted earnings (loss) per common share$0.40 $(0.20)
Basic weighted average shares outstanding10,762 10,792 
Diluted weighted average shares outstanding10,985 10,792 


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

L.B. FOSTER COMPANY AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)
(Unaudited)
(In thousands)
Three Months Ended
March 31,
20242023
Net income (loss)$4,405 $(2,171)
Other comprehensive (loss) income, net of tax:
Foreign currency translation adjustment(1,497)1,247 
Unrealized gain (loss) on cash flow hedges, net of tax expense of $0
106 (418)
Reclassification of pension liability adjustments to earnings, net of tax expense of $4 and $2, respectively*
25 40 
Total comprehensive income (loss)3,039 (1,302)
Less comprehensive (loss) income attributable to noncontrolling interest:
Net loss attributable to noncontrolling interest(31)(19)
Foreign currency translation adjustment(17)4 
Amounts attributable to noncontrolling interest(48)(15)
Comprehensive income (loss) attributable to L.B. Foster Company$3,087 $(1,287)

 
*
Reclassifications out of “Accumulated other comprehensive loss” for pension obligations are charged to “Selling and administrative expenses” within the Condensed Consolidated Statements of Operations.

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

L.B. FOSTER COMPANY AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(Unaudited)
(In thousands)
Three Months Ended
March 31,
20242023
(Unaudited)
CASH FLOWS FROM OPERATING ACTIVITIES:
Net income (loss)$4,405 $(2,171)
Adjustments to reconcile net income (loss) to cash used in operating activities:
Deferred income taxes(41)(1,233)
Depreciation2,374 2,505 
Amortization1,217 1,365 
Equity in income of nonconsolidated investments (17)
Gain on sales and disposals of property, plant, and equipment(3,574)(14)
Stock-based compensation1,033 884 
Loss on asset divestitures 2,033 
Change in operating assets and liabilities:
Accounts receivable(4,042)26,239 
Contract assets5,136 (860)
Inventories(12,371)(15,564)
Other current assets(3,012)(791)
Other noncurrent assets425 (1,439)
Accounts payable2,395 4,921 
Deferred revenue(1,008)(707)
Accrued payroll and employee benefits(11,599)(6,386)
Other current liabilities(1,807)(2,981)
Other long-term liabilities(1,395)1,148 
Net cash (used in) provided by operating activities(21,864)6,932 
CASH FLOWS FROM INVESTING ACTIVITIES:
Proceeds from the sale of property, plant, and equipment3,501 16 
Capital expenditures on property, plant, and equipment(2,292)(699)
Proceeds from business dispositions 5,344 
Net cash provided by investing activities1,209 4,661 
CASH FLOWS FROM FINANCING ACTIVITIES:
Repayments of debt(55,835)(55,133)
Proceeds from debt78,746 43,086 
Treasury stock acquisitions(1,613)(309)
Investment of noncontrolling interest 334 
Net cash provided by (used in) financing activities21,298 (12,022)
Effect of exchange rate changes on cash and cash equivalents(55)186 
Net increase (decrease) in cash and cash equivalents588 (243)
Cash and cash equivalents at beginning of period2,560 2,882 
Cash and cash equivalents at end of period$3,148 $2,639 
Supplemental disclosure of cash flow information:
Interest paid$992 $1,425 
Income taxes paid (received)$303 $(1,564)
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
6

L.B. FOSTER COMPANY AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(Unaudited)
(Dollars in thousands)
Three Months Ended March 31, 2024
Common
Stock
Paid-in
Capital
Retained
Earnings
Treasury
Stock
Accumulated Other
Comprehensive Loss
Noncontrolling
Interest
Total Stockholders’
Equity
Balance, December 31, 2023$111 $43,111 $124,633 $(6,494)$(19,250)$724 $142,835 
Net income (loss)— — 4,436 — — (31)4,405 
Other comprehensive income, net of tax:
Pension liability adjustment— — — — 25 — 25 
Foreign currency translation adjustment— — — — (1,497)(17)(1,514)
Unrealized derivative gain on cash flow hedges— — — — 106 — 106 
Purchase of 16,555 common shares for treasury
— — — (385)— — (385)
Issuance of 71,851 common shares, net of shares withheld for taxes
— (2,278)— 1,050 — — (1,228)
Stock-based compensation— 1,033 — — — — 1,033 
Balance, March 31, 2024$111 $41,866 $129,069 $(5,829)$(20,616)$676 $145,277 

Three Months Ended March 31, 2023
Common
Stock
Paid-in
Capital
Retained
Earnings
Treasury
Stock
Accumulated Other
Comprehensive Loss
Noncontrolling
Interest
Total Stockholders’
Equity
Balance, December 31, 2022$111 $41,303 $123,169 $(6,240)$(21,165)$420 $137,598 
Net loss— — (2,152)— — (19)(2,171)
Other comprehensive loss, net of tax:
Pension liability adjustment— — — — 40 — 40 
Foreign currency translation adjustment— — — — 1,247 4 1,251 
Unrealized derivative loss on cash flow hedges— — — — (418)— (418)
Issuance of 32,884 common shares, net of shares withheld for taxes
— (1,236)— 1,066 — — (170)
Stock-based compensation— 884 — — — — 884 
Balance, March 31, 2023$111 $40,951 $121,017 $(5,174)$(20,296)$405 $137,014 

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

L.B. FOSTER COMPANY AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)
(Dollars in thousands, except share data)
Note 1. Basis of Presentation
The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company’s Annual Report on Form 10-K for the year ended December 31, 2023. In this Quarterly Report on Form 10-Q, references to “we,” “us,” “our,” and the “Company” refer collectively to L.B. Foster Company and its consolidated subsidiaries.
Note 2. Business Segments
The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company’s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company’s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company’s segment accounting policies are described in Note 2 Business Segments of the Notes to the Company’s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December 31, 2023.

The Company is organized and operates in two reporting segments: Rail, Technologies, and Services (“Rail”), and Infrastructure Solutions (“Infrastructure”). Effective for the quarter and year ended December 31, 2023, the Company made certain organizational changes that led to the conclusion that it will operate under two reporting segments as opposed to the three reporting segments it has operated under historically. As such, the Company has restated segment information for the historical periods presented herein to conform to the current presentation. The Infrastructure Solutions business comprises both the historic Precast Concrete Products and Steel Products and Measurement (since renamed “Steel Products”) reporting segments.

The operating results of the Company’s reportable segments were as follows for the periods presented:
Three Months Ended
March 31, 2024
Three Months Ended
March 31, 2023
Net SalesSegment Operating Profit (Loss)Net SalesSegment Operating Profit (Loss)
Rail, Technologies, and Services$82,623 $6,778 $64,384 $2,388 
Infrastructure Solutions41,697 (1,393)51,104 (356)
Total$124,320 $5,385 $115,488 $2,032 

Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments.

The following table demonstrates a reconciliation of reportable segment net profit to the Company’s consolidated total for the periods presented:
8

Three Months Ended
March 31,
20242023
Operating profit for reportable segments$5,385 $2,032 
Interest expense - net(1,125)(1,388)
Other income (expense) - net3,536 (1,827)
Unallocated corporate expenses and other unallocated charges(3,102)(1,529)
Income (loss) before income taxes$4,694 $(2,712)

The following table illustrates assets of the Company by reportable segment for the periods presented:
March 31,
2024
December 31,
2023
Rail, Technologies, and Services$167,565 $157,023 
Infrastructure Solutions129,852 130,667 
Unallocated corporate assets28,984 25,516 
Total$326,401 $313,206 

On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC (“Chemtec”) business for $5,344 in proceeds generating a $2,065 loss on sale, recorded in “Other (income) expense - net” for the three months ended March 31, 2023. The Chemtec business was reported in the Steel Products business unit in the Infrastructure segment.

On June 30, 2023, the Company sold substantially all the operating assets of the prestressed concrete railroad tie business operated by its wholly-owned subsidiary, CXT Incorporated (“Ties”), located in Spokane, WA, for $2,362 in proceeds, generating a $1,009 loss on the sale, which was recorded in “Other expense (income) - net” for the three months ended June 30, 2023. The Ties business was reported in the Rail Products business unit within the Rail segment.

On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (“Bridge Exit”) which was reported in the Steel Products business unit within the Infrastructure segment. The decision to exit the bridge grid deck product line was a result of a weak bridge grid deck market condition and outlook due to customer adoption of newer technologies replacing the grid deck solution. The Bedford, PA based operations supporting the product line expects to complete any remaining customer obligations during 2024. For the three months ended March 31, 2024 and 2023, the product line had $810 and $1,491 in sales, respectively. During the three months ended March 31, 2024, the Company incurred $73 of exit costs recorded in “Other (income) expense - net,” all of which were personnel expenses. The Company expects to incur an additional $111 of personnel expenses associated with the exit through 2024. Cumulatively, the Company has incurred a total of $1,476 in exit costs for the Bridge Exit, which included $474 in inventory write-downs, $740 in personnel expenses, and $262 in other exit costs.

On November 17, 2023, the Company acquired the operating assets of Cougar Mountain Precast, LLC (“Cougar”), located in Caldwell, Idaho, which is a licensed manufacturer of Redi-Rock and natural concrete products for $1,644, subject to hold back payments, to be paid over the next twelve months or utilized to satisfy post-close working capital adjustments or indemnity claims. Cougar has been included in the Precast Concrete Products business unit within the Infrastructure segment.

9

Note 3. Revenue
The following table summarizes the Company’s sales by major product and service line for the periods presented:
Three Months Ended
March 31,
20242023
Rail Products$53,038 $40,228 
Global Friction Management14,022 15,820 
Technology Services and Solutions15,563 8,336 
Rail, Technologies, and Services82,623 64,384 
Precast Concrete Products21,091 24,288 
Steel Products20,606 26,816 
Infrastructure Solutions41,697 51,104 
Total net sales$124,320 $115,488 

The majority of the Company’s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.

Net sales by the timing of the transfer of goods and services was as follows for the periods presented:
Three Months Ended March 31, 2024
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Point in time$65,539 $29,657 $95,196 
Over time17,084 12,040 29,124 
Total net sales$82,623 $41,697 $124,320 
Three Months Ended March 31, 2023
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Point in time$53,834 $29,128 $82,962 
Over time10,550 21,976 32,526 
Total net sales$64,384 $51,104 $115,488 

The Company’s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects and custom precision metering systems within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts the Company’s performance to date under the terms of the contract, or an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement.

Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract. As a result of management's reviews of contract-related estimates the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. During the three months ended March 31, 2024, reductions to net sales stemming from changes in actual and expected values of certain commercial contracts and settlements of such contracts were immaterial. Such adjustments were $393 during the three months ended March 31, 2023. The Company’s estimates related to these long-term agreements are further described in Note 4 Revenue of the Notes to the Company’s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December 31, 2023.


10

Revenue recognized over time was as follows for the periods presented:
Three Months Ended
March 31,
Percentage of Total Net Sales
Three Months Ended March 31,
2024202320242023
Over time input method$13,143 $16,211 10.6 %14.0 %
Over time output method15,981 16,315 12.9 14.1 
Total over time sales$29,124 $32,526 23.4 %28.2 %

The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in “Contract assets - net”), and billings in excess of costs (contract liabilities), included in “Deferred revenue” within the Condensed Consolidated Balance Sheets.

The following table sets forth the Company’s contract assets:
Contract Assets
Balance as of December 31, 2023$29,489 
Net additions to contract assets4,212 
Transfers from contract asset balance to accounts receivable (9,560)
Balance as of March 31, 2024
$24,141 

The following table sets forth the Company’s contract liabilities:
Contract Liabilities
Balance as of December 31, 2023$2,189 
Revenue recognized from contract liabilities(1,467)
Increase in billings in excess of cost, excluding revenue recognized 1,850 
Other adjustments317 
Balance as of March 31, 2024
$2,889 

The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets.

As of March 31, 2024, the Company had approximately $222,261 of remaining performance obligations, which is also referred to as backlog. Approximately 10.5% of the March 31, 2024 backlog was related to projects that are anticipated to extend beyond March 31, 2025.
Note 4. Goodwill and Other Intangible Assets
The following table presents the changes in goodwill balance by reportable segment for the period presented:
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Balance as of December 31, 2023$20,466 $12,121 $32,587 
Cougar purchase accounting adjustment (445)(445)
Foreign currency translation impact(147) (147)
Balance as of March 31, 2024$20,319 $11,676 $31,995 

On November 17, 2023, the Company acquired Cougar Mountain Precast, LLC., for which all purchase accounting adjustments were finalized as of March 31, 2024. Purchase accounting finalization during the three months ended March 31, 2024 included adjustments to record $429 of gross intangible assets for customer relationships with a weighted average amortization period of 5 years.

The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and
11

other inflationary costs. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of March 31, 2024. However, future impairment charges could result if future projections diverge unfavorably from current expectations.

The following table sets forth the components of the Company’s intangible assets for the periods presented:
March 31, 2024
Weighted Average
Amortization
Period In Years
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Amount
Patents10$328 $(203)$125 
Customer relationships1628,048 (17,903)10,145 
Trademarks and trade names157,979 (4,755)3,224 
Technology932,632 (28,164)4,468 
Favorable lease6327 (91)236 
$69,314 $(51,116)$18,198 

December 31, 2023
Weighted Average
Amortization
Period In Years
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Amount
Patents10$335 $(199)$136 
Customer relationships1627,712 (17,236)10,476 
Trademarks and trade names167,989 (4,593)3,396 
Technology932,658 (27,906)4,752 
Favorable lease6327 (77)250 
$69,021 $(50,011)$19,010 

Note 5. Accounts Receivable
Changes in reserves for uncollectible accounts are recorded as part of “Selling and administrative expenses” in the Condensed Consolidated Statements of Operations, and an expense of $396 and $155 for the three months ended March 31, 2024 and 2023, respectively.

The Company established the allowance for credit losses by calculating the amount to reserve based on the age of a given trade receivable and considering historical collection patterns, bad debt expense experience, expected future trends of collections, current and expected market conditions, and any other relevant subjective adjustments as needed. Management maintains high-quality credit review practices and positive customer relationships that mitigate credit risks. The Company’s reserves are regularly reviewed and revised as necessary.

The following table sets forth the Company’s allowance for credit losses:
Allowance for Credit Losses
Balance as of December 31, 2023$809 
Current period provision396 
Write-off against allowance(35)
Balance as of March 31, 2024$1,170 
12

Note 6. Inventory
Inventory is valued at average cost or net realizable value, whichever is lower. The Company’s components of inventory are summarized in the following table for the periods presented:
March 31,
2024
December 31,
2023
Finished goods$57,550 $44,903 
Work-in-process1,432 4,675 
Raw materials26,779 23,918 
Inventories - net$85,761 $73,496 
Note 7. Long-Term Debt and Related Matters
Long-term debt consisted of the following:
March 31,
2024
December 31,
2023
Revolving credit facility$77,497 $55,060 
Finance leases and financing agreements588 213 
Total78,085 55,273 
Less current maturities(159)(102)
Long-term portion$77,926 $55,171 

On August 13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the “Borrowers”), entered into the Fourth Amended and Restated Credit Agreement (the “Credit Agreement”) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August 13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement’s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the Company’s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions. On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (the “Second Amendment”) which added an additional tier to the pricing grid and provided for the conversion from LIBOR-based to SOFR-based borrowings.

Borrowings under the Credit Agreement, as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company’s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company’s consolidated EBITDA, which must not exceed (i) 3.25 to 1.00 for all testing periods other than during an Acquisition Period (as defined in the Credit Agreement), and (ii) 3.50 to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company’s consolidated EBITDA divided by the Company’s Fixed Charges (as defined in the Credit Agreement), which must be more than 1.05 to 1.00. As of March 31, 2024, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $2,432.
13

Note 8. Earnings Per Common Share
(Share amounts in thousands)

The following table sets forth the computation of basic and diluted earnings (loss) per common share for the periods indicated:
Three Months Ended
March 31,
20242023
Numerator for basic and diluted earnings (loss) per common share:
Net income (loss) attributable to L.B. Foster Company$4,436 $(2,152)
Denominator:
Weighted average shares outstanding10,762 10,792 
Denominator for basic earnings (loss) per common share10,762 10,792 
Effect of dilutive securities:
Stock compensation plans223  
Dilutive potential common shares223  
Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding10,985 10,792 
Basic earnings (loss) per common share$0.41 $(0.20)
Diluted earnings (loss) per common share$0.40 $(0.20)

There were 0 and 101 anti-dilutive shares for the three months ended March 31, 2024 and March 31, 2023, respectively.
Note 9. Income Taxes
For the three months ended March 31, 2024 and 2023, the Company recorded an income tax expense of $289 on pre-tax income of $4,694 and an income tax benefit of $541 on pre-tax losses of $2,712, respectively, for an effective income tax rate of 6.2% and 19.9%, respectively. The Company's effective income tax rate for the three months ended March 31, 2024 differed from the federal statutory rate of 21% primarily due to the realization of a portion of its U.S. deferred tax assets previously offset by a valuation allowance. The Company continues to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.
Note 10. Stock-Based Compensation
The Company recorded stock-based compensation expense of $1,033 and $884 for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, unrecognized compensation expense for awards that the Company expects to vest approximated $4,711. The Company will recognize this unrecognized compensation expense over the upcoming 1.9 years through March 1, 2026.

As of March 31, 2024, the Company had stock awards issued pursuant to the 2022 Equity and Incentive Compensation Plan (the "Equity and Incentive Plan") and its predecessor, the 2006 Omnibus Incentive Compensation Plan (the "Omnibus Plan"). No stock options are outstanding under either the Omnibus Plan or Equity and Incentive Plan and, as such, there was no stock-based compensation expense related to stock options recorded for the March 31, 2024 and 2023.

Non-Employee Director Fully-Vested and Restricted Stock Awards
Since May 2018, non-employee directors have been awarded shares of the Company’s common stock on each date the non-employee directors were elected at the annual shareholders’ meeting to serve as directors, subject to a one-year vesting requirement. The Deferred Compensation Plan for Non-Employee Directors under the Omnibus Plan and, by amendment, under the Equity and Incentive Compensation Plan, which permits non-employee directors of the Company to defer receipt of earned cash and/or stock compensation for service on the Board into deferred stock units.

Restricted Stock and Performance-Based Stock and Share Units
Under the Equity and Incentive Compensation Plan and Omnibus Plan, the Company grants certain employees restricted stock and performance-based stock and share units. The forfeitable restricted stock awards granted generally time-vest ratably over a three-year period, unless indicated otherwise by the underlying restricted stock award agreement. Performance unit awards are offered annually under separate three-year long-term incentive programs, unless indicated otherwise by the underlying performance unit award agreement. Performance units are subject to forfeiture and will be converted into common stock based upon the Company’s performance relative to performance measures and conversion multiples as defined in the underlying program.

14

The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:
Restricted
Stock
Deferred
Stock Units
Performance-Based Stock
and Share Units
Weighted Average
Grant Date Fair Value
Outstanding as of December 31, 2023264,970 12,404 560,338 $14.10 
Granted13,064   23.03 
Vested(103,286) (19,782)13.92 
Adjustment for incentive awards expected to vest  110 11.63 
Cancelled and forfeited(1,000) (437)11.62 
Outstanding as of March 31, 2024173,748 12,404 540,229 $13.81 
Note 11. Fair Value Measurements
The Company determines the fair value of assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants. The fair values are based on assumptions that market participants would use when pricing an asset or liability, including assumptions about risk and the risks inherent in valuation techniques and the inputs to valuations. The fair value hierarchy is based on whether the inputs to valuation techniques are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company’s own assumptions of what market participants would use. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below.

Level 1: Quoted market prices in active markets for identical assets or liabilities.
Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.
Level 3: Unobservable inputs that are not corroborated by market data.

The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.

SOFR-based interest rate swaps - To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into forward-starting SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000 effective August 12, 2022 and August 31, 2022, respectively. The fair value of the interest rate swaps are based on market-observable forward interest rates and represents the estimated amount that the Company would pay to terminate the agreements. As such, the swap agreements are classified as Level 2 within the fair value hierarchy. As of March 31, 2024 and December 31, 2023, the interest rate swaps were recorded in “Other current assets” when the interest rate swaps’ fair market value are in an asset position, and “Other accrued liabilities” when in a liability position within our Condensed Consolidated Balance Sheets.

Fair Value Measurements at Reporting DateFair Value Measurements at Reporting Date
March 31,
2024
Level 1Level 2Level 3December 31,
2023
Level 1Level 2Level 3
Interest rate swaps$1,331 $ $1,331 $ $1,225 $ $1,225 $ 
Total assets$1,331 $ $1,331 $ $1,225 $ $1,225 $ 

The $20,000 interest rate swap agreements that became effective August 2022 are accounted for as cash flow hedges and the objective of the hedges is to offset the expected interest variability on payments associated with the interest rate on our debt. The gains and losses related to the interest rate swaps are reclassified from “Accumulated other comprehensive loss” in our Condensed Consolidated Balance Sheets and included in “Interest expense - net” in our Condensed Consolidated Statements of Operations as the interest expense from our debt is recognized.

For the three months ended March 31, 2024 and 2023, the Company recognized interest income of $337 and $245, respectively, from interest rate swaps.
Note 12. Retirement Plans
The Company has three retirement plans that cover its hourly and salaried employees in the United States: one defined benefit plan, which is frozen, and two defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company’s contributions to the defined benefit and defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (“ERISA”) and the Company’s policy and investment guidelines
15

applicable to each respective plan. The Company’s policy is to contribute at least the minimum in accordance with the funding standards of ERISA.

The Company maintains one defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains two defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.

United States Defined Benefit Plan
Net periodic pension costs were as follows for the periods presented:
Three Months Ended
March 31,
20242023
Interest cost$66 $71 
Expected return on plan assets(68)(64)
Recognized net actuarial loss15 16 
Net periodic pension cost$13 $23 

The Company has made contributions to its United States defined benefit plan of $100 during the three months ended March 31, 2024 and expects to make total contributions of approximately $370 during 2024.

United Kingdom Defined Benefit Plan
Net periodic pension costs were as follows for the periods presented:
Three Months Ended
March 31,
20242023
Interest cost$56 $55 
Expected return on plan assets(94)(83)
Amortization of prior service costs and transition amount6 6 
Recognized net actuarial loss8 3 
Net periodic pension income$(24)$(19)

United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2024, the Company contributed approximately $79 to the plan. The Company anticipates total contributions of approximately $315 to the United Kingdom pension plan during 2024.

Defined Contribution Plans
The Company sponsors five defined contribution plans for hourly and salaried employees across its domestic and international facilities. The following table summarizes the expense associated with the contributions made to these plans for the periods presented:
Three Months Ended
March 31,
20242023
United States$551 $614 
Canada76 62 
United Kingdom281 261 
$908 $937 
Note 13. Commitments and Contingent Liabilities
Product Liability Claims
The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual, which is adjusted on a monthly basis as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.


16

Union Pacific Railroad (“UPRR”) Concrete Tie Matter
On March 13, 2019, the Company and its subsidiary, CXT Incorporated (“CXT”), entered into a Settlement Agreement (the “Settlement Agreement”) with UPRR to resolve the then-pending litigation in the matter of Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.

Under the Settlement Agreement, the Company and CXT will pay UPRR the aggregate amount of $50,000 without pre-judgment interest, which began with a $2,000 immediate payment, and with the remaining $48,000 paid in installments over a six-year period commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $48,000 of products and services, targeting $8,000 of annual purchases per year beginning March 13, 2019, per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company’s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $6,000 for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.

The expected payment under the UPRR Settlement Agreement for the remainder of the year ending December 31, 2024 is $8,000, upon which the obligation for the Settlement Agreement will be satisfied.

Environmental and Legal Proceedings
The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company’s efforts to comply with environmental regulations may have an adverse effect on its future earnings.

On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (“EPA”) indicating that the Company may be a potentially responsible party (“PRP”) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than 140 other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $1.1 billion and $1.7 billion, respectively, and the remedial work is expected to take as long as 13 years to complete. These costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost 100 PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994. On March 26, 2020, the EPA issued a Unilateral Administrative Order to two parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. The Company cannot predict the ultimate impact of these proceedings because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company’s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of March 31, 2024 and December 31, 2023, the Company maintained environmental reserves approximating $2,398 and $2,417, respectively.

The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management’s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company’s financial position or liquidity as of March 31, 2024.

If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company’s assessment as of March 31, 2024, no such disclosures were considered necessary.
17

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations
(Dollars in thousands, except share data)
Forward-Looking Statements
This Quarterly Report on Form 10-Q contains “forward-looking” statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, and Section 27A of the Securities Act of 1933, as amended. Many of the forward-looking statements provide management's current expectations of future events based on certain assumptions and include any statement that does not directly relate to any historical or current fact. Sentences containing words such as “believe,” “intend,” “plan,” “may,” “expect,” “should,” “could,” “anticipate,” “estimate,” “predict,” “project,” or their negatives, or other similar expressions of a future or forward-looking nature generally should be considered forward-looking statements. Forward-looking statements in this Quarterly Report on form 10-Q are based on management's current expectations and assumptions about future events that involve inherent risks and uncertainties and may concern, among other things, the Company’s expectations relating to our strategy, goals, projections, and plans regarding our financial position, liquidity, capital resources, and results of operations and decisions regarding our strategic growth initiatives, market position, and product development. While the Company considers these expectations and assumptions to be reasonable, they are inherently subject to significant business, economic, competitive, regulatory, and other risks and uncertainties, most of which are difficult to predict and many of which are beyond the Company’s control. The Company cautions readers that various factors could cause the actual results of the Company to differ materially from those indicated by forward-looking statements. Accordingly, investors should not place undue reliance on forward-looking statements as a prediction of actual results. Among the factors that could cause the actual results to differ materially from those indicated in the forward-looking statements are risks and uncertainties related to: any future global health crises, and the related social, regulatory, and economic impacts and the response thereto by the Company, our employees, our customers, and national, state, or local governments; a continuation or worsening of the adverse economic conditions in the markets we serve, including recession, the continued volatility in the prices for oil and gas, governmental travel restrictions, project delays, and budget shortfalls, or otherwise; volatility in the global capital markets, including interest rate fluctuations, which could adversely affect our ability to access the capital markets on terms that are favorable to us; restrictions on our ability to draw on our credit agreement, including as a result of any future inability to comply with restrictive covenants contained therein; a decrease in freight or transit rail traffic; environmental matters, including any costs associated with any remediation and monitoring of such matters; the risk of doing business in international markets, including compliance with anti-corruption and bribery laws, foreign currency fluctuations and inflation, global shipping disruptions, and trade restrictions or embargoes; our ability to effectuate our strategy, including cost reduction initiatives, and our ability to effectively integrate acquired businesses or to divest businesses, such as the recent dispositions of the Track Components, Chemtec, and Ties businesses, and acquisitions of the Skratch Enterprises Ltd., Intelligent Video Ltd., VanHooseCo Precast LLC, and Cougar Mountain Precast, LLC businesses and to realize anticipated benefits; costs of and impacts associated with shareholder activism; the timeliness and availability of materials from our major suppliers, as well as the impact on our access to supplies of customer preferences as to the origin of such supplies, such as customers’ concerns about conflict minerals; labor disputes; cybersecurity risks such as data security breaches, malware, ransomware, “hacking,” and identity theft, which could disrupt our business and may result in misuse or misappropriation of confidential or proprietary information, and could result in the disruption or damage to our systems, increased costs and losses, or an adverse effect to our reputation, business or financial condition; the continuing effectiveness of our ongoing implementation of an enterprise resource planning system; changes in current accounting estimates and their ultimate outcomes; the adequacy of internal and external sources of funds to meet financing needs, including our ability to negotiate any additional necessary amendments to our credit agreement or the terms of any new credit agreement, and reforms regarding the use of SOFR as a benchmark for establishing applicable interest rates; the Company’s ability to manage its working capital requirements and indebtedness; domestic and international taxes, including estimates that may impact taxes; domestic and foreign government regulations, including tariffs; economic conditions and regulatory changes caused by the United Kingdom’s exit from the European Union; geopolitical conditions, including the ongoing conflicts between Russia and Ukraine and Israel and Hamas; a lack of state or federal funding for new infrastructure projects; an increase in manufacturing or material costs; the loss of future revenues from current customers; and risks inherent in litigation and the outcome of litigation and product warranty claims. Should one or more of these risks or uncertainties materialize, or should the assumptions underlying the forward-looking statements prove incorrect, actual outcomes could vary materially from those indicated. Significant risks and uncertainties that may affect the operations, performance, and results of the Company’s business and forward-looking statements include, but are not limited to, those set forth under Item 1A, “Risk Factors,” and elsewhere in our Annual Report on Form 10-K for the year ended December 31, 2023, or as updated and/or amended by our other current or periodic filings with the Securities and Exchange Commission.
The forward-looking statements in this report are made as of the date of this report and we assume no obligation to update or revise any forward-looking statement, whether as a result of new information, future developments, or otherwise, except as required by the federal securities laws.
18

General Overview and Business Update
L.B. Foster Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company’s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers’ most challenging requirements. The Company maintains locations in North America, South America, Europe, and Asia.

The Company is organized and operates in two reporting segments: Rail, Technologies, and Services (“Rail”), and Infrastructure Solutions (“Infrastructure”). Effective for the quarter and year ended December 31, 2023, the Company made certain organizational changes that led to the conclusion that it will operate under two reporting segments as opposed to the three reporting segments it has operated under historically. As such, the Company has restated segment information for the historical periods presented herein to conform to the current presentation. The Infrastructure Solutions business comprises both the historic Precast Concrete Products and Steel Products and Measurement (since renamed “Steel Products”) reporting segments.
Acquisitions, Divestitures, and Product Line Exit
On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC (“Chemtec”) business for $5,344 in proceeds generating a $2,065 loss on sale, recorded in “Other (income) expense - net” for the three months ended March 31, 2023. The Chemtec business was reported in the Steel Products business unit in the Infrastructure segment.

On June 30, 2023, the Company sold substantially all the operating assets of the prestressed concrete railroad tie business operated by its wholly-owned subsidiary, CXT Incorporated (“Ties”), located in Spokane, WA, for $2,362 in proceeds, generating a $1,009 loss on the sale, which was recorded in “Other expense (income) - net” for the three months ended June 30, 2023. The Ties business was reported in the Rail Products business unit within the Rail segment.

On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (“Bridge Exit”) which was reported in the Steel Products business unit within the Infrastructure segment. The decision to exit the bridge grid deck product line was a result of a weak bridge grid deck market condition and outlook due to customer adoption of newer technologies replacing the grid deck solution.The Bedford, PA based operations supporting the product line expects to complete any remaining customer obligations during 2024. For the three months ended March 31, 2024 and 2023, the product line had $810 and $1,491 in sales, respectively.

On November 17, 2023, the Company acquired the operating assets of Cougar Mountain Precast, LLC (“Cougar”), located in Caldwell, Idaho, which is a licensed manufacturer of Redi-Rock and natural concrete products for $1,644, subject to hold back payments, to be paid over the next twelve months or utilized to satisfy post-close working capital adjustments or indemnity claims. Cougar has been included in the Precast Concrete Products business unit within the Infrastructure segment.
19

Results of Operations
First Quarter 2024 Compared to First Quarter 2023
Three Months Ended
March 31,
Change
202420232024 vs. 2023
Net sales$124,320 $115,488 $8,832 
Gross profit26,249 23,291 2,958 
Gross profit margin21.1 %20.2 %90 bps
Expenses:
Selling and administrative expenses$22,749 $21,423 $1,326 
Selling and administrative expenses as a percent of sales
18.3 %18.5 %(20) bps
Amortization expense1,217 1,365 (148)
Operating profit$2,283 $503 $1,780 
Operating profit margin1.8 %0.4 %140 bps
Interest expense - net$1,125 $1,388 $(263)
Other (income) expense - net(3,536)1,827 (5,363)
Income (loss) before income taxes$4,694 $(2,712)$7,406 
Income tax expense (benefit)289 (541)830 
Net income (loss)$4,405 $(2,171)$6,576 
Net loss attributable to noncontrolling interest(31)(19)(12)
Net income (loss) attributable to L.B. Foster Company$4,436 $(2,152)$6,588 
Diluted earnings (loss) per common share$0.40 $(0.20)$0.60 

Results Summary
Net sales of $124,320 for the three months ended March 31, 2024, increased by $8,832, or 7.6%, over the prior year quarter. The increase in sales is due to organic sales growth of $19,474 or 16.9%, partially offset by the divestiture of the Ties and Chemtec businesses as well as the Bridge Exit which reduced sales by $10,642 or 9.2%.

Gross profit for the three months ended March 31, 2024 increased $2,958 or 12.7%, over the prior year quarter and gross profit margins expanded by 90 basis points to 21.1%. The improvement in gross profit is due primarily to the portfolio changes that are a part of the Company’s strategic transformation, as well as uplift from increased sales volumes and product mix.

Selling and administrative expenses for the three months ended March 31, 2024 increased by $1,326, or 6.2%, over the prior year quarter, due primarily to increased personnel costs and professional services expenditures. Selling and administrative expenses as a percent of net sales decreased to 18.3% from 18.5% in the prior year quarter.

Net interest expense decreased $263 due to lower outstanding debt, on average, for the three months ended March 31, 2024 compared to the prior year quarter. The Company's outstanding debt balance was $78,085 as of March 31, 2024, compared to $80,096 as of March 31, 2023.

Other income for the three months ended March 31, 2024 was $3,536 and was primarily attributable to a gain of $3,477 on the sale of the Company’s former joint venture facility and land in Magnolia, Texas. Other expense - net for the three months ended March 31, 2023 was $1,827 and was primarily due to the $2,033 loss on the sale of Chemtec during the prior year quarter.

The Company’s effective income tax rate for the three months ended March 31, 2024 was 6.2%, compared to 19.9% in the prior year quarter. The Company’s effective income tax rate for the three months ended March 31, 2024 differed from the federal statutory rate of 21% primarily due to the realization of a portion of its U.S. deferred tax assets previously offset by a valuation allowance. The Company continues to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year.

Net income attributable to the Company for the three months ended March 31, 2024 was $4,436, or $0.40 per diluted share, compared to a net loss in the prior year quarter of $2,152, or $0.20 per diluted share. Net income for the three months ended March 31, 2024 was
20

primarily driven by increased sales volumes, gross profit expansion and the gain on the sale of the Company’s former joint venture facility and land in Magnolia, Texas, partially offset by an increase in selling and administrative expenses.

Results of Operations - Segment Analysis

Rail, Technologies, and Services
Three Months Ended
March 31,
ChangePercent
Change
202420232024 vs. 20232024 vs. 2023
Net sales$82,623 $64,384 $18,239 28.3 %
Gross profit$18,571 $14,284 $4,287 30.0 
Gross profit margin22.5 %22.2 %30 bps1.3 
Segment operating profit$6,778 $2,388 $4,390 183.8 
Segment operating profit margin8.2 %3.7 %450 bps121.2 

The Rail segment sales for the three months ended March 31, 2024 increased by $18,239, or 28.3%, compared to the prior year quarter. The increase was due to higher organic sales of $18,940 or 29.4%, partially offset by a $701 or 1.1% decrease from the divestiture of Ties. Rail Products sales increased $12,810 driven by strength in domestic markets served. Technology Services and Solutions sales increased by $7,227 due to strength in domestic rail safety markets served, as well as improvement in United Kingdom markets. Global Friction management sales declined $1,798 driven by the timing of orders which have increased from the 2023 fourth quarter by 29.6%.

The Rail segment gross profit increased by $4,287, or 30.0% compared to the prior year quarter, and gross profit margins expanded 30 basis points to 22.5%. Technology Services and Solutions business unit gross profit improved by $4,086 due to higher volume and improved mix. Higher volumes in Rail Products resulted in gross profit increasing by $1,369. Lower volumes and unfavorable product mix in the Global Friction Management business result in a decline in gross profit of $1,168.

Segment operating profit increased $4,390 compared to the prior year, and operating profit margins expanded 450 basis points to 8.2%. The increase was driven by improvement in gross profit levels as a result of increased sales volume and favorable business mix, particularly in the Technology Services and Solutions business unit.

During the current quarter, new orders within the Rail segment increased by $10,019, or 13.6%, compared to the prior year quarter. The increase in new orders was attributable to the Rail Products and Global Friction Management businesses, which was offset in part by the Ties divestiture which reduced orders by $2,729 as well as lower overall order rates in the Technology Services and Solutions business unit. Segment backlog as of March 31, 2024 was $86,038, a decrease of $27,555, or 24.3%, versus the prior year quarter. The decrease is attributed to the Rail Products business, including a reduction of $3,549 related to the divestiture of Ties, partially offset by a 27.7% increase in Global Friction Management backlog.

Infrastructure Solutions
Three Months Ended
March 31,
ChangePercent
Change
202420232024 vs. 20232024 vs. 2023
Net sales$41,697 $51,104 $(9,407)(18.4)%
Gross profit$7,678 $9,007 $(1,329)(14.8)
Gross profit margin18.4 %17.6 %80 bps4.5 
Segment operating loss$(1,393)$(356)$(1,037)(291.3)
Segment operating loss margin(3.3)%(0.7)%(260) bps(373.2)

The Infrastructure segment sales for the three months ended March 31, 2024 decreased by $9,407, or 18.4%, compared to the prior year quarter. The decrease in sales for the first quarter of 2024 was attributable to the divestiture of Chemtec and the Bridge Exit, which decreased sales by $9,260 and $681, respectively. Organic sales increased by $534, or 1.0%, while being adversely affected by weather conditions that impacted customer project execution in our Precast Concrete Products business.

The Infrastructure segment gross profit for the three months ended March 31, 2024, decreased by $1,329, or 14.8%, due primarily to the divestiture of Chemtec which reduced gross profit by $888 and softness in margins in our Precast Concrete Products business. Gross profit margins of 18.4% increased by 80 basis points over the prior year, driven by the favorable impact of portfolio changes.

21

Segment operating loss for the first quarter of 2024 was $1,393 compared to an operating loss in the prior year of $356. The segment operating loss was due to lower gross profit levels, which was partially offset by a decrease in amortization expense and selling and administrative expenses.

During the quarter, the Infrastructure segment had a decrease in new orders of $17,149, or 26.1%, compared to the prior year quarter. The decrease is due to an $8,538 impact associated with the divestiture of Chemtec and the Bridge Exit as well as decreases in orders in the Precast Concrete Products and Protective Coatings businesses. Backlog as of March 31, 2024 was $136,223, a decrease of $10,065, or 6.9%, versus the prior year quarter, driven primarily by a reduction of $8,509 related to the Bridge Exit.

Corporate
Three Months Ended March 31,ChangePercent
Change
202420232024 vs. 20232024 vs. 2023
Corporate expense and other unallocated charges$3,102 $1,529 $1,573 102.9 %

Unallocated corporate expenses increased in 2024 compared with 2023 primarily due to personnel costs and professional services expenditures.
Liquidity and Capital Resources
The Company’s principal sources of liquidity are its existing cash and cash equivalents, cash generated by operations, and the available capacity under the revolving credit facility, which provides for a total commitment of up to $130,000, of which $50,071 was available for borrowing as of March 31, 2024, subject to covenant restrictions. The Company’s primary needs for liquidity relate to working capital requirements for operations, capital expenditures, debt service obligations, payments related to the Union Pacific Railroad Settlement, tax obligations, outstanding purchase obligations, acquisitions and to support the share repurchase program. The Company’s total debt, including finance leases, was $78,085 and $55,273 as of March 31, 2024 and December 31, 2023, respectively, and was primarily comprised of borrowings under its revolving credit facility.

The following table reflects available funding capacity as of March 31, 2024:
March 31, 2024
Cash and cash equivalents$3,148 
Credit agreement:
Total availability under the credit agreement130,000 
Outstanding borrowings on revolving credit facility(77,497)
Letters of credit outstanding(2,432)
Net availability under the revolving credit facility50,071 
Total available funding capacity$53,219 

As of March 31, 2024 we were in compliance with all covenants of the Credit Agreement and have $53,219 available funding capacity.

The Company’s operating cash flows are impacted from period to period by fluctuations in working capital needs, as well as its overall profitability. While the Company places an emphasis on working capital management in its operations, factors such as its contract mix, commercial terms, days sales outstanding (“DSO”), and market conditions as well as seasonality may impact its working capital. The Company regularly assesses its receivables and contract assets for collectability and realization, and provides allowances for credit losses where appropriate. The Company believes that its reserves for credit losses are appropriate as of March 31, 2024, but adverse changes in the economic environment and adverse financial conditions of its customers may impact certain of its customers’ ability to access capital and pay the Company for its products and services, as well as impact demand for its products and services.


22

The changes in cash and cash equivalents for the three months ended March 31, 2024 and 2023 were as follows:
Three Months Ended March 31,
20242023
Net cash (used in) provided by operating activities$(21,864)$6,932 
Net cash provided by investing activities1,209 4,661 
Net cash provided by (used in) financing activities21,298 (12,022)
Effect of exchange rate changes on cash and cash equivalents(55)186 
Net increase (decrease) in cash and cash equivalents$588 $(243)
Cash Flow from Operating Activities
During the three months ended March 31, 2024, net cash used in operating activities was $21,864, compared to cash provided operating activities of $6,932 during the prior year quarter. For the three months ended March 31, 2024, net income and adjustments to reconcile net income from operating activities provided $5,414, compared to $3,352 in the prior year quarter. Working capital and other assets and liabilities were a use of $27,278 in the current period, compared to a source of $3,580 in the prior year quarter. The change in operating cash flow for the three months ended March 31, 2024 versus the three months ended March 31, 2023 was largely driven by accounts receivable, which was a use of $4,042 during the current quarter compared to the $26,239 provided in the prior year quarter. Order execution and collection timing can impact accounts receivables in any given quarter.

Cash Flow from Investing Activities
Capital expenditures for the three months ended March 31, 2024 and 2023 were $2,292 and $699, respectively. Capital expenditures in both periods primarily relate to general plant and operational improvements throughout the Company, as well as organic growth initiatives. During the three months ended March 31, 2024, the Company divested the facility and land of its former joint venture in Magnolia, Texas generating a cash inflow of $3,501. During the three months ended March 31, 2023 the Company received cash proceeds from the Chemtec divestiture totaling $5,344.

Cash Flow from Financing Activities
During the three months ended March 31, 2024 the Company had an increase in outstanding debt of $22,911 compared to March 31, 2023 in which the Company has a decrease in debt of $12,047. The increase in debt for the three months ended March 31, 2024 was primarily due to cash used in operating activities due to organic growth initiatives and higher seasonal working capital needs. The decrease in debt for the 2023 period was due to lower working capital as well as proceeds received from the Chemtec divestiture during the quarter.

During the first quarter of 2023, the Company’s Board of Directors authorized the repurchase of up to $15,000 of the Company’s common stock in open market transactions through February 2026. For the three months ended March 31, 2024 the Company repurchased 16,555 shares of its stock for $385 under this program. Repurchases of shares of the Company’s common stock may be made from time to time in the open market or in such other manner as determined by the Company. The timing of the repurchases and the actual amount repurchased will depend on a variety of factors, including the market price of the Company’s shares, general market and economic conditions, and other factors. The stock repurchase program does not obligate the Company to acquire any particular amount of common stock and may be suspended or discontinued at any time.

Financial Condition
As of March 31, 2024, the Company had $3,148 in cash and cash equivalents and $50,071 of availability under its revolving credit facility, subject to covenant restrictions. As of March 31, 2024, approximately $2,729 of the Company’s cash and cash equivalents were held in non-domestic bank accounts.

The Company’s principal uses of cash in recent years have been to fund its operations, including capital expenditures, repurchase of shares, acquisitions, funding the UPRR Settlement Agreement, and service indebtedness. The Company views its short and long-term liquidity as being dependent on its results of operations, changes in working capital needs, and its borrowing capacity.

On August 13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the “Borrowers”), entered into the Fourth Amended and Restated Credit Agreement (the “Credit Agreement”) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August 13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement’s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the
23

Company’s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions. On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (the “Second Amendment”) which added an additional tier to the pricing grid and provided for the conversion from LIBOR-based to SOFR-based borrowings. For a discussion of the terms and availability of the credit facilities, please refer to Note 7 of the Notes to Condensed Consolidated Financial Statements contained in this Quarterly Report on Form 10-Q.

To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000, effective August 12, 2022 and August 31, 2022, respectively, at which point the agreements effectively converted a portion of the debt from variable to fixed-rate borrowings during the term of the swap contract.

Backlog
Although backlog is not necessarily indicative of future operating results, the following table provides the backlog by segment:
Backlog
March 31,
2024
December 31,
2023
March 31,
2023
Rail, Technologies, and Services$86,038 $84,418 $113,593 
Infrastructure Solutions136,223 129,362 146,288 
Total backlog $222,261 $213,780 $259,881 
While a considerable portion of the Company’s business is backlog driven, certain businesses, including the Global Friction Management business unit, are not driven by backlog and therefore have insignificant levels of backlog throughout the year. Backlog decreased $37,620 compared to the prior year quarter due to $12,058 from businesses that were divested and a discontinued product line. The remaining decline is associated with the timing of large orders for the Rail Products business.
Critical Accounting Estimates
The Condensed Consolidated Financial Statements have been prepared in conformity with US GAAP. The preparation of the Condensed Consolidated Financial Statements requires management to make estimates and judgments that affect the reported amount of assets, liabilities, revenues, and expenses, and the related disclosure of contingent assets and liabilities. As a result, actual results could differ from these estimates. The Company has concluded that there have been no significant changes to its critical accounting policies or estimates as described in its Annual Report on Form 10-K for the year ended December 31, 2023.
Non-GAAP Financial Measures
In accordance with SEC rules, the Company provides descriptions of the non-GAAP financial measures included in this filing and reconciliations to the most closely related GAAP financial measures. The Company believes that these measures provide useful perspective on underlying business trends and results and a supplemental measure of year-over-year results. The non-GAAP financial measures described below are used by management in making operating decisions, allocating financial resources and for business strategy purposes and may, therefore, also be useful to investors as they are a view of our business results through the eyes of management. These non-GAAP financial measures are not intended to be considered by the user in place of the related GAAP financial measure, but rather as supplemental information to our business results. These non-GAAP financial measures may not be the same as similar measures used by other companies due to possible differences in method and in the items or events being adjusted.

References in this Management’s Discussion and Analysis of Financial Condition and Results of Operations to “organic sales” refer to sales calculated in accordance with GAAP, adjusted to exclude divestiture, exit, and acquisition-related sales. Management evaluates the Company’s sales performance based on organic sales growth. Organic sales growth is a non-GAAP financial measure of sales growth (which is the most directly comparable GAAP measure), adjusted to exclude the effects of divestiture, exit, and acquisition-related sales from year-over-year comparisons. The Company believes this measure provides investors with a supplemental understanding of underlying sales trends by providing sales growth on a consistent basis. The Company reports organic sales growth at the consolidated and segment levels.

The Company defines new orders as a contractual agreement between the Company and a third-party in which the Company will, or has the ability to, satisfy the performance obligations of the promised products or services under the terms of the agreement. The Company defines backlog as contractual commitments to customers for which the Company’s performance obligations have not been met, including with respect to new orders and contracts for which the Company has not begun any performance. Management utilizes new orders and backlog to evaluate the health of the industries in which the Company operates, the Company’s current and future results of operations and financial prospects, and strategies for business development. The Company believes that new orders and backlog are useful to investors as supplemental metrics by which to measure the Company’s current performance and prospective results of operations and financial performance.

24

Non-GAAP financial measures are not a substitute for GAAP financial results and should only be considered in conjunction with the Company’s financial information that is presented in accordance with GAAP.

A reconciliation of organic sales growth to its most directly comparable respective US GAAP financial measure is presented below.
Change in Consolidated SalesThree Months Ended
March 31,
Percent
Change
2023 net sales, as reported$115,488 
Decrease due to divestitures and exit(10,642)(9.2)%
Change due to organic sales19,474 16.9 %
2024 net sales, as reported$124,320 
Total sales change, 2023 vs 2024$8,832 7.6 %

Change in Rail, Technologies, and Services SalesThree Months Ended
March 31,
Percent
Change
2023 net sales, as reported$64,384 
Decrease due to divestiture(701)(1.1)%
Change due to organic sales18,940 29.4 %
2024 net sales, as reported$82,623 
Total sales change, 2023 vs 2024$18,239 28.3 %

Change in Infrastructure Solutions SalesThree Months Ended
March 31,
Percent
Change
2023 net sales, as reported$51,104 
Decrease due to divestiture and exit(9,941)(19.5)%
Change due to organic sales534 1.0 %
2024 net sales, as reported$41,697 
Total sales change, 2023 vs 2024$(9,407)(18.4)%

Note percentages may not foot due to rounding.
Item 3. Quantitative and Qualitative Disclosures about Market Risk
This item is not applicable to a smaller reporting company.
Item 4. Controls and Procedures
Evaluation of Disclosure Controls and Procedures
L.B. Foster Company carried out an evaluation, under the supervision and with the participation of the Company’s management, including the Chief Executive Officer and the Chief Financial Officer, of the effectiveness of the design and operation of the Company’s disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended) as of March 31, 2024. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that the Company’s disclosure controls and procedures were effective as of such date such that the information required to be disclosed by the Company in reports filed under the Exchange Act is (i) recorded, processed, summarized, and reported within the time periods specified in the SEC’s rules and forms and (ii) accumulated and communicated to management, including the chief executive officer, chief financial officer, or person performing such functions, as appropriate to allow timely decisions regarding disclosure.


25

Changes in Internal Control Over Financial Reporting
There were no changes to our “internal control over financial reporting” (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the three months ended March 31, 2024, and that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Limitations on Effectiveness of Controls and Procedures
In designing and evaluating disclosure controls and procedures and internal control over financial reporting, management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives. In addition, the design of disclosure controls and procedures and internal control over financial reporting must reflect the fact that there are resource constraints and that management is required to apply judgment in evaluating the benefits of possible controls and procedures relative to their costs.
PART II. OTHER INFORMATION
(Dollars in thousands, except share data)
Item 1. Legal Proceedings
See Note 13 of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, which is incorporated herein by reference.
Item 1A. Risk Factors
This item is not applicable to a smaller reporting company.
Item 2. Unregistered Sales of Equity Securities and Use of Proceeds
The Company’s purchases of equity securities for the three months ended March 31, 2024 were as follows:
Total number of shares purchased (1)Average price paid per shareTotal number of shares purchased as part of publicly announced plans or programs (2)Approximate dollar value of shares that may yet be purchased under the plans or programs
January 1, 2024 - January 31, 20241,127 $21.73 4,100$12,599 
February 1, 2024 - February 29, 202444,310 23.86 — 12,599 
March 1, 2024 - March 31, 20245,780 23.77 12,45512,303 
Total51,217 $23.80 16,555$12,303 

1.Reflects shares withheld by the Company to pay taxes upon vesting of restricted stock.
2.On March 3, 2023, the Board of Directors authorized the repurchase of up to $15,000 of the Company’s common shares until February 2026.
Item 3. Defaults Upon Senior Securities
Not applicable.
Item 4. Mine Safety Disclosures
This item is not applicable to the Company.
Item 5. Other Information
Trading Arrangements
None of the Company’s directors or “officers,” as defined in Rule 16a-1(f) of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), adopted, modified, or terminated a “Rule 10b5-1 trading arrangement” or a “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408 of Regulation S-K, during the Company’s fiscal quarter ended March 31, 2024.
26

Item 6. Exhibits
See Exhibit Index below.

Exhibit Index
Exhibit NumberDescription
*31.1
*31.2
*32.0
*101.INS
XBRL Instance Document-the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.
*101.SCHXBRL Taxonomy Extension Schema Document.
*101.CALXBRL Taxonomy Extension Calculation Linkbase Document.
*101.DEFXBRL Taxonomy Extension Definition Linkbase Document.
*101.LABXBRL Taxonomy Extension Label Linkbase Document.
*101.PREXBRL Taxonomy Extension Presentation Linkbase Document.
*104Cover Page Interactive Data File (formatted as inline XBRL and contained in Exhibit 101)
 
*
Exhibits marked with an asterisk are filed herewith.
**Exhibit represents a management contract or compensatory plan, contract, or arrangement.

27

SIGNATURE
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.
 
L.B. FOSTER COMPANY
(Registrant)
Date:May 7, 2024By: /s/ William M. Thalman
William M. Thalman
Executive Vice President
and Chief Financial Officer
(Duly Authorized Officer of Registrant)

28
EX-31.1 2 ex-311q12024.htm EX-31.1 Document
Exhibit 31.1
Certification under Section 302 of the
Sarbanes-Oxley Act of 2002
I, John F. Kasel, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of L.B. Foster Company;
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(s) 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(s) 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 7, 2024 /s/ John F. Kasel
Name: John F. Kasel
Title: President and Chief Executive Officer


EX-31.2 3 ex-312q12024.htm EX-31.2 Document
Exhibit 31.2
Certification under Section 302 of the
Sarbanes-Oxley Act of 2002
I, William M. Thalman, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of L.B. Foster Company;
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(s) 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(s) 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 7, 2024 /s/ William M. Thalman
Name: William M. Thalman
Title: Executive Vice President
and Chief Financial Officer


EX-32.0 4 ex-320q12024.htm EX-32.0 Document
Exhibit 32.0
CERTIFICATE 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 of L.B. Foster Company (the “Company”) on Form 10-Q for the period ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), the undersigned certify pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 that:
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 this Report fairly presents, in all material respects, the financial condition and results of operations of the Company.


Date:May 7, 2024 /s/ John F. Kasel
Name: John F. Kasel
Title: President and Chief Executive Officer
 
Date:May 7, 2024 /s/ William M. Thalman
Name: William M. Thalman
Title: Executive Vice President
and Chief Financial Officer


EX-101.SCH 5 fstr-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY link:presentationLink link:calculationLink link:definitionLink 0000009 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Business Segments link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Goodwill and Other Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Accounts Receivable link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Long-Term Debt and Related Matters link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Earnings Per Common Share link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Retirement Plans link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Commitments and Contingent Liabilities link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Basis of Presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Business Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Goodwill and Other Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Accounts Receivable (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Long-Term Debt and Related Matters (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Earnings Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Retirement Plans (Tables) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Business Segments - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Business Segments - Reconciliation of Assets from Segment to Consolidated (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Revenue - Sales by Major Product Line (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Revenue - Timing of Transfer (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Revenue - Over Time Sales (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Revenue - Contract with Customer (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Revenue - Remaining Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Revenue - Remaining Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Revenue - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Accounts Receivable - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Accounts Receivable - Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Long-Term Debt and Related Matters - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Stock-Based Compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Fair Value Measurements - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Retirement Plans - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Retirement Plans - Schedule of Net Benefit Costs (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Commitments and Contingent Liabilities - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 fstr-20240331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 fstr-20240331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 fstr-20240331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Net loss attributable to noncontrolling interest Net Income (Loss) Attributable to Noncontrolling Interest Pay vs Performance Disclosure [Line Items] Other accrued liabilities Accrued Liabilities, Current Range [Domain] Statistical Measurement [Domain] Line of credit facility, maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Change in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Revenue, remaining performance obligation, expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Outstanding, beginning balance (in shares) Outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Long-Term Debt and Related Matters Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Revolving credit facility Revolving Credit Facility [Member] Contract With Customer Liability [Roll Forward] Contract With Customer Liability [Roll Forward] Contract With Customer Liability Deferred tax liabilities (Note 9) Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance-Based Stock and Share Units Performance Shares [Member] Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Restatement Determination Date: Restatement Determination Date [Axis] Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Number of potentially responsible parties included in agreement Number of Potentially Responsible Parties Included in Agreement Number of Potentially Responsible Parties Included in Agreement Line of credit, accordion feature, lower borrowing capacity Line of Credit, Accordion Feature, Lower Borrowing Capacity Option Line of Credit, Accordion Feature, Lower Borrowing Capacity Option Disaggregation of Revenue Disaggregation of Revenue [Line Items] Purchase commitment Long-Term Purchase Commitment, Amount Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Infrastructure Solutions Infrastructure Solutions Segment [Member] Infrastructure Solutions Segment Other noncurrent assets Increase (Decrease) in Other Noncurrent Assets Schedule of Goodwill [Table] Schedule of Goodwill [Table] Line of Credit Facility Line of Credit Facility [Line Items] Inventory write-down Inventory Write-down Foreign Plan Foreign Plan [Member] Income Taxes Income Tax Disclosure [Text Block] Deferred revenue Increase (Decrease) in Contract with Customer, Liability Reporting Unit [Domain] Reporting Unit [Domain] Director Director [Member] Swap 2 Swap 2 [Member] Swap 2 Customer [Axis] Customer [Axis] Current liabilities: Liabilities, Current [Abstract] Payment period Litigation Settlement Installment Payment Term Litigation Settlement Installment Payment Term Weighted Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Proceeds from business dispositions Proceeds from Divestiture of Businesses Diluted earnings (loss) per common share (in USD per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Goodwill Goodwill [Roll Forward] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Level 3 Fair Value, Inputs, Level 3 [Member] Treasury stock shares - at cost, common stock (in shares) Treasury Stock, Common, Shares Schedule of Net Benefit Costs Schedule of Net Benefit Costs [Table Text Block] Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Swap Swap [Member] Net income (loss) attributable to L.B. Foster Company Net income (loss) attributable to L.B. Foster Company Net Income (Loss) Total current liabilities Liabilities, Current Derivative Contract [Domain] Derivative Contract [Domain] PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association [Member] PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Property, plant, and equipment - net Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization Total Debt and Lease Obligation LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Finite-Lived Intangible Assets Finite-Lived Intangible Assets [Line Items] Purchase of common shares for treasury Stock Repurchased During Period, Value Debt Instrument, Redemption, Period [Axis] Debt Instrument, Redemption, Period [Axis] Stockholders’ equity: Equity, Attributable to Parent [Abstract] Balance as of December 31, 2023 Balance as of March 31, 2024 Contract with Customer, Liability Schedule of Earnings Per Share, Basic and Diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Derivative Liability, Statement of Financial Position [Extensible Enumeration] Derivative Liability, Statement of Financial Position [Extensible Enumeration] Vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Other adjustments Contract With Customer, Liability, Other Adjustments Contract With Customer, Liability, Other Adjustments Executive Category: Executive Category [Axis] Acquired finite-lived intangible assets, weighted average amortization period Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Restricted Stock, Deferred Stock Units and Performance Share Units Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Level 1 Fair Value, Inputs, Level 1 [Member] Pension liability adjustment Other Comprehensive (Income) Loss, Defined Benefit Plan, after Tax and Reclassification Adjustment, Attributable to Parent Name Measure Name Patents Patents [Member] Name Forgone Recovery, Individual Name Goodwill (Note 4) Goodwill, beginning balance Goodwill, ending balance Goodwill Equity Components [Axis] Equity Components [Axis] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Asset Acquisition [Domain] Asset Acquisition [Domain] Shares granted in period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Schedule of Reconciliation of Revenue from Segments to Consolidated Reconciliation of Revenue from Segments to Consolidated [Table Text Block] Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Denominator: Weighted Average Number of Shares Outstanding, Basic [Abstract] Local Phone Number Local Phone Number Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Derivative, notional amount Derivative, Notional Amount Selling, General and Administrative Expenses Selling, General and Administrative Expenses [Member] Point in time Transferred at Point in Time [Member] Litigation settlement amount, non-current Litigation Settlement, Amount Awarded to Other Party, Non-Current Litigation Settlement, Amount Awarded to Other Party, Non-Current Long-term operating lease liabilities Operating Lease, Liability, Noncurrent Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Debt instrument term Debt Instrument, Term Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Depreciation Depreciation Anticipated clean period Remedial Work Anticipated Clean Up Period Remedial Work Anticipated Clean Up Period Line of Credit Facility [Table] Line of Credit Facility [Table] Income Statement Location [Axis] Income Statement Location [Axis] Schedule of Long-term Debt Instruments Schedule of Long-Term Debt Instruments [Table Text Block] Share-Based Payment Arrangement, Noncash Expense [Abstract] Dilutive potential common shares (in shares) Weighted Average Number of Shares Outstanding, Diluted, Adjustment Defined Contribution Plan [Table] Defined Contribution Plan [Table] Other assets: Other Assets, Noncurrent [Abstract] UPRR UPRR [Member] The UPRR Repayments of debt Repayments of Other Long-Term Debt Products and Services [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventories Increase (Decrease) in Inventories Domestic Plan Domestic Plan [Member] CASH FLOWS FROM INVESTING ACTIVITIES: Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Over time input method Over Time Input Method [Member] Over Time Input Method Stock compensation plans (in shares) Incremental Common Shares Attributable to Dilutive Effect of Nonvested Shares with Forfeitable Dividends Award Type [Axis] Award Type [Axis] Anti-dilutive shares (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Interest expense - net Interest Expense Fair Value, Measurements, Fair Value Hierarchy [Domain] Fair Value Hierarchy and NAV [Domain] Steel Products Steel Products Segment [Member] Steel Products Segment Goodwill [Line Items] Goodwill [Line Items] Allowance for Doubtful Accounts Accounts Receivable, Allowance for Credit Loss [Roll Forward] Trading Arrangement: Trading Arrangement [Axis] Defined benefit plan, contributions by employer Defined Benefit Plan, Plan Assets, Contributions by Employer PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Expected return on plan assets Defined Benefit Plan, Expected Return (Loss) on Plan Assets Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Axis] Commission File Number Entity File Number Number of financial covenants Debt Instrument, Number Of Financial Covenants Debt Instrument, Number Of Financial Covenants Favorable lease Off-Market Favorable Lease [Member] Amortization expense Amortization of Intangible Assets Entity Shell Company Entity Shell Company Other intangibles - net (Note 4) Net Carrying Amount Finite-Lived Intangible Assets, Net Restatement Determination Date Restatement Determination Date Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Table] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Number of parties required to perform remedial design work Number of Parties Required to Perform Remedial Work Number of Parties Required to Perform Remedial Work Adjustment for incentive awards expected to vest (in USD per share) Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value Interest income Investment Income, Interest Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Common stock, shares issued (in shares) Common Stock, Shares, Issued Vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Gross profit Gross Profit Current maturities of long-term debt (Note 7) Less current maturities Long-Term Debt and Lease Obligation, Current Deferred revenue (Note 3) Contract with Customer, Liability, Current Treasury stock - at cost, 326,548 and 381,844 common stock shares at March 31, 2024 and December 31, 2023, respectively Treasury Stock, Common, Value Security Exchange Name Security Exchange Name Total assets Assets, Fair Value Disclosure Defined contribution plan number Number of Defined Contribution Plans Number of Defined Contribution Plans Selling and administrative expenses Selling, General and Administrative Expense Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Minimum leverage ratio Debt Instrument, Covenant, Leverage Ratio, Maximum Debt Instrument, Covenant, Leverage Ratio, Maximum Employee Stock Option Employee Stock Option [Member] Recognition period for compensation expense not yet recognized Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Comprehensive income (loss) attributable to L.B. Foster Company Comprehensive Income (Loss), Net of Tax, Attributable to Parent Expected cost on shares expected to vest Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type Minimum fixed charge coverage ratio Debt Instrument, Covenant, Interest Coverage Ratio, Minimum Debt Instrument, Covenant, Interest Coverage Ratio, Minimum Tabular List, Table Tabular List [Table Text Block] Purchase accounting adjustments Finite-Lived Intangible Assets, Purchase Accounting Adjustments Entity Address, Street Name Entity Address, Address Line One Entity Address, Suite Entity Address, Address Line Two Number of retirement plans NumberOfRetirementPlans Over time sales, amount Over Time Sales, Amount Over Time Sales, Amount Stock-Based Compensation Share-Based Payment Arrangement [Text Block] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Unallocated corporate expenses and other unallocated charges Corporate Expense And Other Unallocated Charges Corporate Expense And Other Unallocated Charges Fair Value, Balance Sheet Grouping, Financial Statement Captions Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items] Revenue remaining performance obligation (percentage) Revenue, Remaining Performance Obligation, Percentage Trademarks and trade names Trademarks and Trade Names [Member] Schedule of Finite-Lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Income Statement [Abstract] Raw materials Inventory, Raw Materials, Net of Reserves Total net sales Net Sales Revenue from Contract with Customer, Including Assessed Tax Common shares issues net of shares withheld (in shares) Stock Issued During Period, Shares, New Issues Contract assets Increase (Decrease) in Contract with Customer, Asset Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Operating Segments Operating Segments [Member] Outstanding, beginning balance (in USD per share) Outstanding, ending balance (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Numerator for basic and diluted earnings (loss) per common share: Net Income (Loss) Attributable to Parent [Abstract] Other current assets Other Assets, Current Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Undiscovered remedial work Undiscovered Remedial Work Undiscovered Remedial Work Entity Tax Identification Number Entity Tax Identification Number Foreign currency translation impact Goodwill, Foreign Currency Translation Gain (Loss) Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward] Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward] Contract With Customer Asset After Allowance For Credit Loss Current Inventories - net (Note 6) Inventories - net Inventory, Net Range [Axis] Statistical Measurement [Axis] Other current assets Increase (Decrease) in Other Current Assets Entity Interactive Data Current Entity Interactive Data Current Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Noncontrolling Interest Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Total Shareholder Return Amount Total Shareholder Return Amount Treasury stock acquisitions Payments for Repurchase of Common Stock Sales of goods Product [Member] Entity Common Stock, Shares Outstanding (in shares) Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Inventory Disclosure [Abstract] Segments [Domain] Segments [Domain] Fair Value, Hierarchy [Axis] Fair Value Hierarchy and NAV [Axis] Share-based Compensation Arrangement by Share-based Payment Award Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Consolidation Items [Domain] Consolidation Items [Domain] Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Deferred Stock Units Deferred Stock Units [Member] Deferred Stock Units Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Entity Address, State Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] CASH FLOWS FROM OPERATING ACTIVITIES: Net Cash Provided by (Used in) Operating Activities [Abstract] Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Interest cost Defined Benefit Plan, Interest Cost Technology Services and Solutions Rail Technologies Products [Member] Rail Technologies Products Accounts receivable Increase (Decrease) in Accounts and Other Receivables PEO PEO [Member] Defined Benefit Plan Disclosure Defined Benefit Plan Disclosure [Line Items] Retirement Plans Retirement Benefits [Text Block] Net income (loss) Net income (loss) Net income (loss) Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Defined Contribution Plan Disclosure Defined Contribution Plan Disclosure [Line Items] Common stock, par value (in USD per share) Common Stock, Par or Stated Value Per Share Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Net cash provided by investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Schedule of Inventory Schedule of Inventory, Current [Table Text Block] Debt Instrument [Axis] Debt Instrument [Axis] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective income tax rate (as a percent) Effective Income Tax Rate Reconciliation, Percent Credit Facility [Axis] Credit Facility [Axis] Sales of services Service [Member] Asset Acquisition [Axis] Asset Acquisition [Axis] Basis of Presentation Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Expenses associated with contributions made Defined Contribution Plan, Cost All Executive Categories All Executive Categories [Member] Less comprehensive (loss) income attributable to noncontrolling interest: Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest [Abstract] Title of Individual [Axis] Title of Individual [Axis] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Plan Name [Axis] Plan Name [Axis] Debt Disclosure [Abstract] Canada CANADA Number of reportable segments Number of Reportable Segments Per share data attributable to L.B. Foster shareholders: Earnings Per Share [Abstract] Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at March 31, 2024 and December 31, 2023, 11,115,779; shares outstanding at March 31, 2024 and December 31, 2023, 10,789,231 and 10,733,935, respectively Common Stock, Value, Issued Retirement Plan Sponsor Location [Domain] Retirement Plan Sponsor Location [Domain] Discontinued Operations Discontinued Operations [Member] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Total current assets Assets, Current Schedule of Defined Benefit Plans Disclosures [Table] Schedule of Defined Benefit Plans Disclosures [Table] Net periodic pension income Defined Benefit Plan, Net Periodic Benefit Cost (Credit) Fourth Amended And Restated Credit Agreement Fourth Amended And Restated Credit Agreement [Member] Fourth Amended And Restated Credit Agreement Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Amortization Amortization Other (income) expense - net Other income (expense) - net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Schedule of Revenues by Major Product Line Schedule of Revenues by Major Product Line [Table Text Block] Tabular disclosure summarizing sales by major product line. Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Goodwill and Other Intangible Assets Goodwill and Intangible Assets Disclosure [Text Block] Purchase of common shares for treasury (in shares) Stock Repurchased During Period, Shares Transfers from contract asset balance to accounts receivable Contract with Customer, Asset, Reclassified to Receivable PEO Name PEO Name Fair Value, by Balance Sheet Grouping [Table] Fair Value, by Balance Sheet Grouping [Table] Granted (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Schedule of Goodwill Schedule of Goodwill [Table Text Block] Net cash (used in) provided by operating activities Net Cash Provided by (Used in) Operating Activities Annual commitment amount Long-term Purchase Commitment, Annual Commitment Amount Long-term Purchase Commitment, Annual Commitment Amount Financing Receivable, Allowance for Credit Loss [Line Items] Financing Receivable, Allowance for Credit Loss [Line Items] Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Amortization of prior service costs and transition amount Defined Benefit Plan, Amortization of Prior Service Cost (Credit) Unallocated corporate assets Corporate, Non-Segment [Member] Number of companies that received a general notice letter (company) Number Of Companies Receiving General Notice Letter Number Of Companies Receiving General Notice Letter Litigation settlement amount Litigation Settlement, Amount Awarded to Other Party Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Over time Transferred over Time [Member] Accrued payroll and employee benefits Increase (Decrease) in Employee Related Liabilities Statement of Financial Position [Abstract] Loss on asset divestitures Loss on asset divestiture Gain (Loss) on Disposition of Business Total L.B. Foster Company stockholders’ equity Equity, Attributable to Parent Consolidation Items [Axis] Consolidation Items [Axis] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Present value of remedial work Present Value of Proposed Remedial Work Present Value of Proposed Remedial Work Omnibus Plan and Equity and Incentive Plan Omnibus Plan and Equity and Incentive Plan [Member] Omnibus Plan and Equity and Incentive Plan Restricted Stock Restricted Stock [Member] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Reporting Unit [Axis] Reporting Unit [Axis] Revenue recognized from contract liabilities Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Income (loss) before income taxes Income (loss) before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Long-term debt (Note 7) Long-term portion Long-Term Debt and Lease Obligation Rail, Technologies, and Services Rail Technologies and Services Segment [Member] Rail Technologies and Services Segment Net additions to contract assets Contract With Customer Asset Additions Contract With Customer Asset Additions Reclassification of pension liability adjustments to earnings, tax Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company United Kingdom UNITED KINGDOM Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Proceeds from debt Proceeds from Issuance of Other Long-Term Debt Disposal Group Classification [Domain] Disposal Group Classification [Domain] Increase (Decrease) in Stockholders' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Net loss attributable to noncontrolling interest Income (Loss) from Continuing Operations, Net of Tax, Attributable to Noncontrolling Interest Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus Weighted Average Amortization Period In Years Finite-Lived Intangible Asset, Useful Life Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Weighted Average Weighted Average [Member] Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Earnings Per Common Share Earnings Per Share [Text Block] Products and Services [Axis] Product and Service [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Schedule of Nonvested Share Activity Schedule of Nonvested Share Activity [Table Text Block] Document Fiscal Year Focus Document Fiscal Year Focus Total stockholders’ equity Beginning balance Ending balance Equity, Including Portion Attributable to Noncontrolling Interest Unrealized gain on cash flow hedge, tax Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Precast Concrete Products Precast Concrete Products Segment [Member] Precast Concrete Products Segment Disposal Group Classification [Axis] Disposal Group Classification [Axis] Statement of Cash Flows [Abstract] ASSETS Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Accounts Receivable Additional Disclosures [Abstract] Net income (loss) Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Income taxes paid (received) Income Taxes Paid, Net Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Commitments and Contingent Liabilities Commitments and Contingencies Disclosure [Text Block] Retained Earnings Retained Earnings [Member] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Schedule of Reconciliation of Operating Profit (Loss) from Segments to Consolidated Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block] TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity Other assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic earnings (loss) per common share (in USD per share) Earnings Per Share, Basic Operating lease right-of-use assets - net Operating Lease, Right-of-Use Asset Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Arrangement Duration Trading Arrangement Duration Entity Address, City Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Reclassification of pension liability adjustments to earnings, net of tax expense of $4 and $2, respectively Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax Other current liabilities Increase (Decrease) in Other Accrued Liabilities Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Cougar purchase accounting adjustment Goodwill, Purchase Accounting Adjustments Technology Technology-Based Intangible Assets [Member] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Current portion of accrued settlement (Note 13) Accrued Legal Settlement Current Accrued Legal Settlement Current Investment of noncontrolling interest Proceeds from Noncontrolling Interests Litigation settlement amount warded to other party Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] Over time sales, percentage Over Time Sales, Percent Over Time Sales, Percent Derivative Instrument [Axis] Derivative Instrument [Axis] Adjustments to reconcile net income (loss) to cash used in operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Product Liability Contingency [Table] Product Liability Contingency [Table] All Trading Arrangements All Trading Arrangements [Member] Other exit costs Disposal Group, Not Discontinued Operation, Gain (Loss) on Disposal All Adjustments to Compensation All Adjustments to Compensation [Member] Timing of Transfer of Good or Service [Domain] Timing of Transfer of Good or Service [Domain] Award Timing Disclosures [Line Items] Title of Individual [Domain] Title of Individual [Domain] Compensation Amount Outstanding Recovery Compensation Amount Schedule of Reconciliation of Assets from Segment to Consolidated Reconciliation of Assets from Segment to Consolidated [Table Text Block] Amounts attributable to noncontrolling interest Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest Reserve for uncollectible accounts, expense Current period provision Accounts Receivable, Credit Loss Expense (Reversal) Paid-in capital Additional Paid in Capital Other comprehensive (loss) income, net of tax: Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract] Interest rate swaps Derivative Asset Weighted average grant date fair value, cancelled and forfeited (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Deferred income taxes Deferred Income Tax Expense (Benefit) Statement of Comprehensive Income [Abstract] Finance leases and financing agreements Finance Lease, Liability Cancelled and forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Debt Instrument, Redemption, Period [Domain] Debt Instrument, Redemption, Period [Domain] Insider Trading Arrangements [Line Items] Allowance for doubtful accounts, beginning balance Allowance for doubtful accounts, ending balance Accounts Receivable, Allowance for Credit Loss Defined benefit plan, expected future employer contributions, current fiscal year Defined Benefit Plan, Expected Future Employer Contributions, Current Fiscal Year Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Debt Instrument, Redemption, Period One Debt Instrument, Redemption, Period One [Member] Line of credit facility, maximum increase in commitments Line Of Credit Facility, Maximum Increase In Commitments Line Of Credit Facility, Maximum Increase In Commitments Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Accrual for environmental loss Accrual for Environmental Loss Contingencies Adjustment to Compensation, Amount Adjustment to Compensation Amount Proceeds from the sale of property, plant, and equipment Proceeds from Sale of Property, Plant, and Equipment Schedule of Costs of Retirement Plans Schedule of Costs of Retirement Plans [Table Text Block] Noncontrolling interest Equity, Attributable to Noncontrolling Interest Bridge Grid Deck Product Bridge Grid Deck Product [Member] Bridge Grid Deck Product Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Reduction in sales due to changes in estimates Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price Employee-related Liabilities [Abstract] Global Friction Management Global Friction Management [Member] Global Friction Management Schedule of Accounts Receivable, Allowance for Credit Loss Accounts Receivable, Allowance for Credit Loss [Table Text Block] Treasury Stock Treasury Stock, Common [Member] Entity Central Index Key Entity Central Index Key Segment Reporting Information Segment Reporting Information Segment Reporting Information [Line Items] Adjustment for incentive awards expected to vest (in shares) Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Number of defined benefit plans DefinedBenefitPlanNumber Gain on sales and disposals of property, plant, and equipment Gain (Loss) on Disposition of Property Plant Equipment Stock-based compensation expense Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Gross Carrying Value Finite-Lived Intangible Assets, Gross Income tax expense (benefit) Income tax benefit Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Write-off against allowance Accounts Receivable, Allowance for Credit Loss, Writeoff Product Liability Contingency Product Liability Contingency [Line Items] Accrued payroll and employee benefits Employee-related Liabilities, Current Coatings and Measurement Coatings and Measurement [Member] Coatings and Measurement Fair Value Measurements Fair Value Disclosures [Text Block] Name Trading Arrangement, Individual Name UPRR UprrMember Schedule of Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Lender Name [Axis] Lender Name [Axis] Issuance of common shares, net of share withheld for taxes Stock Issued During Period, Value, New Issues Inventory Inventory Disclosure [Text Block] Entity [Domain] Entity [Domain] Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Amendment Flag Amendment Flag Legal Entity [Axis] Legal Entity [Axis] Increase in billings in excess of cost, excluding revenue recognized Contract with Customer, Liability, Increase from Cash Receipts Contract with Customer, Liability, Increase from Cash Receipts Recognized net actuarial loss Defined Benefit Plan, Amortization of Gain (Loss) Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Interest expense - net Interest Income (Expense), Net Interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Total comprehensive income (loss) Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest Credit Facility [Domain] Credit Facility [Domain] Rail Products Rail Products Business Unit [Member] Rail Products Business Unit Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Over time output method Over Time Output Method [Member] Over Time Output Method Diluted weighted average shares outstanding (in shares) Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Retirement Plan Sponsor Location [Axis] Retirement Plan Sponsor Location [Axis] Schedule of Contract with Customer, Contract Asset, Contract Liability Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Revenue Revenue from Contract with Customer [Text Block] Equity in income of nonconsolidated investments Equity Loss Income and Remeasurement Gain Equity Loss Income and Remeasurement Gain Weighted average shares outstanding (in shares) Weighted Average Number of Shares Issued, Basic Capital expenditures on property, plant, and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Paid-in Capital Additional Paid-in Capital [Member] Unrealized gain (loss) on cash flow hedges, net of tax expense of $0 Unrealized derivative gain on cash flow hedges Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax Effect of dilutive securities: Weighted Average Number of Shares Outstanding, Diluted, Adjustment [Abstract] TOTAL ASSETS Assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Cover [Abstract] Personnel expenses Personnel Expenses Personnel Expenses Accounts Receivable Loans, Notes, Trade and Other Receivables Disclosure [Text Block] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Other long-term liabilities Other Liabilities, Noncurrent Vested (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Non-NEOs Non-NEOs [Member] Revenue remaining performance obligation Revenue, Remaining Performance Obligation, Amount Cougar purchase accounting adjustment Cougar Mountain Precast, LLC [Member] Cougar Mountain Precast, LLC Consideration transferred to acquire operating assets Asset Acquisition, Consideration Transferred Business Segments Segment Reporting Disclosure [Text Block] Net increase (decrease) in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect CASH FLOWS FROM FINANCING ACTIVITIES: Net Cash Provided by (Used in) Financing Activities [Abstract] Rail Products Rail Products [Member] Rail Products Litigation settlement amount, current Litigation Settlement, Amount Awarded to Other Party, Current Litigation Settlement, Amount Awarded to Other Party, Current Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Adjustment to Compensation: Adjustment to Compensation [Axis] Work-in-process Inventory, Work in Process, Net of Reserves Accounts receivable - net (Note 5) Accounts and Financing Receivable, after Allowance for Credit Loss, Current Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Basic weighted average shares outstanding (in shares) Denominator for basic earnings (loss) per common share (in shares) Weighted Average Number of Shares Outstanding, Basic Contract assets - net (Note 3) Balance as of December 31, 2023 Balance as of March 31, 2024 Contract with Customer, Asset, after Allowance for Credit Loss Entity Current Reporting Status Entity Current Reporting Status Operating profit Segment Operating Profit (Loss) Operating profit for reportable segments Operating Income (Loss) Debt Instrument, Redemption, Period Two Debt Instrument, Redemption, Period Two [Member] Total cost of sales Cost of Revenue Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Segments [Axis] Segments [Axis] Statement Statement [Line Items] Other comprehensive income, net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Revolving credit facility Line of credit facility, amount outstanding Long-Term Line of Credit Customer relationships Customer Relationships [Member] Noncontrolling Interest Noncontrolling Interest [Member] EX-101.PRE 9 fstr-20240331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 10 fstr-20240331_g1.gif GRAPHIC begin 644 fstr-20240331_g1.gif M1TE&.#EAA 93 ?< ,P 9@ F0 S _P K K,P K9@ KF0 K MS K_P!5 !5,P!59@!5F0!5S !5_P" " ,P" 9@" F0" S " _P"J "J M,P"J9@"JF0"JS "J_P#5 #5,P#59@#5F0#5S #5_P#_ #_,P#_9@#_F0#_ MS #__S, #, ,S, 9C, F3, S#, _S,K #,K,S,K9C,KF3,KS#,K_S-5 #-5 M,S-59C-5F3-5S#-5_S. #. ,S. 9C. F3. S#. _S.J #.J,S.J9C.JF3.J MS#.J_S/5 #/5,S/59C/5F3/5S#/5_S/_ #/_,S/_9C/_F3/_S#/__V8 &8 M,V8 9F8 F68 S&8 _V8K &8K,V8K9F8KF68KS&8K_V95 &95,V959F95F695 MS&95_V: &: ,V: 9F: F6: S&: _V:J &:J,V:J9F:JF6:JS&:J_V;5 &;5 M,V;59F;5F6;5S&;5_V;_ &;_,V;_9F;_F6;_S&;__YD )D ,YD 9ID F9D MS)D _YDK )DK,YDK9IDKF9DKS)DK_YE5 )E5,YE59IE5F9E5S)E5_YF )F M,YF 9IF F9F S)F _YFJ )FJ,YFJ9IFJF9FJS)FJ_YG5 )G5,YG59IG5F9G5 MS)G5_YG_ )G_,YG_9IG_F9G_S)G__\P ,P ,\P 9LP F

/($.*'$FRI,F3*%.J7,FRIO8,.*'4NVK-FS:-.J7//JW/'D"-+GDRYLN7+F.XS:][,N;/GSZ!#BQX=6-^^ M9?I0+U/&>C7KU["5N586C5[M:*1SZ][-N[?OW\#KWHX]&S;JUK*1KZ8'35D] MX[&5!9].O;KUZ]BS:\^H.GKRXM]?SZ8W.W7R\/3$GS](C][V]_#CRY]/O[[= MVMY=/U>6'CUK\_S1]AIYWO6WVG+&F580/86\8DLO[=@GX8045FCAA1B^1)QR M_,UV(&L&GH=<>JM%H]YS):;77&O0[">=0>V\(F.##@[C7H8XYJCCCCSV:%UT MKKG&7( KKK:B;;(=N5H]1<;VW(HK)HA\Z]]^''^Y'8'%(0J<,-,L)>2"!L WIXFL'U?+*'Z_0Z&O0G>,G3Z1RF+(HJWIHC[G(=;0G&SKJ87[D1?EHMZ<;U;J7',$/LH!2""O0IK8G\%T"E29'YP;ZN/FIKB^!F"3N+I< MHD'$P%L(Q@V.&F_0MD0X\M%()ZWTTD Y_&MLT(B;:6O:AD?IM0226*O*R9&K M:Y!F'JQM<5;"Z[.R%=.;+,=,M^WVVW#_QWV1>BM3W5RZQ@7+VI3BP>QHG0@V M">1K=XI8-MKK<,6<=K.^! M$(R@!#L#L A)TI78Y[)!H0@O+U)3=%CV.P.Y+>G?0=ZT(E:\L+6KH&X(UZZ MXU/C+"9#LSEP;X(XS*$.=_B7V2$'/RS$X-0"UK?!<53XL*P-[&$Y M.QGS!"<>@UR)66HCA*G0EL#&;8R'8 RC&,DC'N-V!CW=>A!?&;$C&0AKRD/^(-(J'IE['FD<-B4RTJ]\="5B0821+;35\A19WU\5E68Q&M3!: M(F=)RUK:\B1";%W"_A7")B&N:I:<6ORJ5C41F2M3***9WCKINH>%KI/DX9Y MWA7(+FJQ5*MT7*E^5@C*W?*;X RG.!LBI?\I(X[*^]643,*;9(6;"<2>6FD-7F2F?K9)#['TS4ZL@M2:=16U:I4$&19;)#B Z3C-$8O M\TWTICC-*?H:E4PWXN^'L3.D$DC/J2E>>K1,8^,0B?H30 NB\TQ!'5(&GY>P M/!&4H&K;)A>3-<@$3BY5.@VK6,?*M%D-M9FL^]^1G&2X[TBUDQGTVO\8I<)K M%4E;ZRSGAZ:7*1.!D'EX*H@[O'I00=)+JQ2K81=Y0=;&.O:QU<(6$Q>WO(9= MBE9NW.5L"I<__*E(3==B9G28"%>%2# MQ12M7$,8GF B5YD^-8@I;W=*5^W@S+K-?4<-&W7(*#G80XZ#_V$D[T_VV8?^*'PJAEA^W/K%1"0O1 M==M1"!LW*W>BW.&64M.;1%GXR>*Z\WD_0&3T8)T/+ MSC9NE$F3^DZW'A;'Y4BR5E ZF;L.G&-EN>*5A:6TJ,B<)30G^][XSO\W4X(D M-0'E%[K(V8\/6VS!?MN7V?5<::F!2N5:"U7AT!6=.>TLL06!%Q6.0YM6@PUO M!F[7E9;6M\A'3G*=H'.S;>TIL"[IN+P=K,]Z M"\I_]IRS*[KL3M8W2@H_M!#1E+6I\9O#!JD'TK/DY:MBZ=$-C1Q,F>7-J?O] M[X#'B**7JW+0&>Y709Y:IY!8MX*=-*E(XMN:BOS$#ZW+UBY2J9 1Y->'V>^M MM^Y>QC8.0WDQ748(U!U6:?R'6M@[\+"/O>R_3_,?8WK>ZT80UHL,4[[JC M,1V7+*\5-+/%+#?T?0JX@,B61]I"7-*U,+O%+G3D5\ME:QN6/XL'0--S4@'R M.LN&;72E'AM(0BH66B1V.@6A#P7F'> ME$H-PE"Y,V8WIGI@)B-/EX-F>(;CQ63%I3709MQX&P4!:1"],9X MB%AV]W%UUX)H.(F4.%:# MXR'QDT'NLU'+PXG>,FC,]76>YVT#,C^,]W8<%2*)EU$;&#O:% # M6'J/R&L%A7H$F#%]5XF^^(O@5"D/YSF%>&H6)"Q05&J(LXR<53I:HWY'=4+I MERGY-2R%YFHT(R!VQ6+1U4%L=%T$)6.[Y[9 KA1O'@>#JA=;KP>,[-B.8*1D M$K=2Y]9J4\*$2H9'?*6)K::'2#:*U_-;X$9$\ 4=5U=:Q4%:<1A^V:9"PF4Z ML[A5,$4(>Z>+&<=55X50S+*.[KB1'+D^VJ@\6D-'8U-DT<%>K%8FN^2&FZ5+ M)=9YE>6!Q:22SIB,HX1J1T1X)Q(;GT(01A=3X3,JD3AL"R2.2B=(6')='9F4 M2JDY559'T$0W45)N .0?:!6!:K=R!T-.'Q=>,J*12[F7?/^9-'[V5R7V)-"UE2PG M>5#&:O1C0C6CCUBGAWLXW25!CA[V'/+_2A'JD:"0UC0&$))J8C0276C/I MIFMB9G:TR/P!9:Z9( M<;D25R49:*5S1AVR1G)B?HHC6E$49Y7B?JHX@;^7=0;C- Q79)?2A-J,X M2BC*T78AA%SA\9T$LU%%@$84IV:9?8YXAVUX5D%IVEEZ-F>J8[HA[" G!=67SM5)7BN52N$5Q3 M*9S5\Y5YQBX!68B[=(2Y\FENME;K5TXA)'#]"(6;69V-!E.KIX7-4D.I!#1" MXTI\9RQH>JF8:A\K)*?%1YEW&%2$ZH^)8U__=E\J-F1U%7G> 3.3&3:8M%O- MI%'+I6I.FHFF)HOKEB6)^ H8=TJ^IJO;%9?F^)-?UB>UD*G(FJS_VO%3SU.2 M5$9,31*DUQ.MW AT^7=94)5D1GI2Y+E^2BA:2>6C>!20)_F 29)Y(%A-0ZR(AE:&=\ M0QJ2PN1R@VEJV$*AQ35$COE.G'I=M=!H>#E0-/0*==>K!IH*,!AL6_A%^GJR M*.L9'0J%4JB,?]-P_S,ERQ2EG&JD$6B"$TLKV?(P]=A."#F*+O(D15I[6F>H M:N\.HCXB7=XDVWB5O,L)]*9NU6NL8%+M\@ 5J+'19YKFD M^02KTH,W> 572%*J_914W^FIH;HNKH@S^GKX5(XI(G2%DBS:@F?C"@C$J-RD M3=LUANB8A:]PG5N;N(K;%QR$..CD-ZWXIBL6(JH(.T#77P9)I4(G:ANB:A X M/YIW>PLWJ*18)^1B4B:3(D*B? >#3JM%LD$IM1JWG%-+D5LU::^PN+J[NW\A M?VU%J,6T.L?#F#/3H.%AA)F)IQP5 M'@71,T8WH[>(.S4Z?3*23Q[X3$B[GCZ7/V/YK7DX M),)8*>)J1Y6D?/R57VQ43-:VASK;1M;69*)K$!E[-D^;<5:;58VJ>O *;X60 M@.R;P1K_3#+O8W8@*F0?.E48>BF"0T>'AE[?,BQN!JLLJ60A&"DFY7B$YSS! M%X&8JVU6^(EJ"K C!1NQW4[5X1NY+N9(H0LU&G"B<+& M)2)2*7ZT2<7.TZV)N7OA]K8&K,.8G(T8JT"32L$-!EO$&FP%.E.!G,JJK!0, MXY+GT;_'>(0&]Z= ]*;K^4_/:*50(LGADBW6 X$=)KH+%TI!_X9H[31S'&:] M_'9^SGI=PZ!5,+5-I%=@8/9N?A*4Y/-*'1NX6%*&J_S-X-P3) G&(L*0ZV5A M8)<_(HE>RW6\3LAI+JR3T>'*2"1)]N"G?EE M,FAW8$I@$@FOT\E 2YP5?!+1!B71%#W1%EW1&'W1&DT,8C$,&?W1&@W2(AW2 M)#W2)EW2*"W1MK#2ML +O= +Q. ."7H3Q -GW3.)W3.KW3/-W3/OW30!W4 M0CW41&W3FC!U8A #2KW43-W43OW44!W53ZVOVS) 4Z6/ST9).XO BM9+;EMD M)QB(1>HDQ8X,'0R<>CC6DTU[H,'F921;UV/H MQU)ABX =V((-V'X]%<@RV(B=V(J]V(S-V.3#G-UD"\,@TSB1"45]V9B=V9J] MV9K-T5)W YP=VCF=KZNC-QY(A!-:F\MF:VZMPF\:12CG5*Z&+A\UI\1+7+<< M0O&95_OTLG$DLVSWPJBU?W"\I3=W>?]HM3-W>J]W<)VW=[-WO"=WO/] MW?4MW^:-2@Y,O@X"TS2A#*(=X (^X 1^T\DP=3%0X)O_C:\\:,5[ZH1"1Y = MBK/P+%T]6SUM AXXR78LN4A)M%S[E%78 M))?+S46Y4YJAK'H8O!56FW30/>.Q16.%+16'+*3!.V5Z= M.*20TK)#MJU=O37?2)LFYQ([J[N!I?D^UH5^8CO9F8T MHN5:8;O<;%"D.FWP^F4[NF0SFY.&X:C M/HZ6;NH;!V]52\3C2]=V230Y_YX2 -[EN)[K 0X*"*[K0:VL>!BT<@SCYD/H6$;MXP->R-JN7# M8:JK8\B%S;*K35=CSWGC\7*L70&U23[O3*YZ4@X50VZX3;[O]'[D3_[O_'Z1 M@AA[??HKJX.A #,_&\C;AM;MPPA0 M]$"^-$K*8%9FH E>&,E@\8)W#>+-6>&?G&Z[N>BTK!2R6S1Z,YT57$JI3>N9 MU3EWB/\%;Y):]5Y/,6!O9F(?]5]OD<-F]LL9N.<;ZO-N"Q O$E0^\79_]P!P MX%*7X'B/T\DJ);O,F)5,/RBVS!W"'"./$M(A0*%%I.C\KSM:MAV6?R_Y@?\L M1SKI:2O$-X<(FC2X]=$72"-+NP(JFOX)ZPC*%5_:I07*W'S;^EAR[T^1[T7\ M^G?I^N6.^[!O^[I_^^,+::6WQ_O=@KU($K?>]\BOZW.O;WR?_'_O<%<"VY[W@)QV!H3NTY/BR[Z M75 NP:1_58E_%0[L[P$/W1:S_ "Q3^! @@4-'D284.%"A@O_>[UZ]0=BH8D0 M+5*T^ KCQ8P:.VZLF!&D1Y$?399$R3%E2):O4I&DF(KBQI$:97;TV*OASH7$ M /P$&E3H4*)%C1Y%FE3I4J9-?X+B&57J5*I5K5[%FE7K5JY=O7*]X52LTZ]E MS9Y%FU;M6K9MW79=IDS9,GIQY=Z--A<:W;CUYO[U*W>?LGWTWFZ-5I>>W+A\ ME>6E*S?P7V5UE=7;2WGQX[MRH06V#(VQ,M%V-WNNW%GUZ@NY$S M6;K"Z9&FR9@=;Y)\B5&X2YR%=!Y&7E!BR)3= M$0Y#I;(Z\>O/,TH/'KTB]D+8(Y[?/IB>O'7G%J&[C ]\_47VS GEIBB\]FK2 M[J):N$/KD[$69+!!!Q\TBACO)J2P0@LOQ'"G&"#D$( ,/P0Q1!%'_R31JLU$ M$VPNRUB[2S1Z4(RFQ*GT24RUNV##T4;2%LOL+\=&BTTRN5ZTJ[&_(*,'LMB6 M0?&OQ2*[D;""ZU)'/5IMEK5FO31V;A* M8]8@6Z8+J=.5;*M.NC3=4TG/^T!J[J9:AO^-2KT]'\63N#Y3R3,\0+5\;\]4 M$M7WT>W@Q>HA^SJZ#SW]/&+/O83S"Y7A, ^V2.&(Z1,W._@ ]-1-ZO),R;91 MSU)F5I-/1CDH"0EFN667O=LP9:9>IKEFFV\62+5>^VIRL21)'NRN3X@!91A- MC,XD::4S(69HIC4AIK/!N-)GGUXI&PT:%D\56\XJ56;33V\0*L579[UU@61%_2C7 M9Z>]]K>$A#8N:AG_^YDKSI0Y6I.EA2=>:>$S*;YXY)?_9/GCGQ]&MJR8-1)L M%>W2^JX3]=I9Q<=83!:UP'9'+:Z\GB6M5V@*HL=Q2;N,KDH]1?JS8KG' TE< MD&UCO6,U_T]3 G'')*4J7;#Z(^X!-BF-;T)@)B#( ,?*,$%.K F PR7?.(V MK_B%A!=F45#L1#A"I"3.=B=$H:MB1L*AI-"%+X0AL3SS(Q]MY2[/&U[2E)# M6&IS!\L?FO#GFS1!T&$@_\EG/ TS3\4JLJZ*2>F$=;*<_>0(_SNE(Z%ER3AJF*X24Y. M"':8_$DG13G*V:%O+OIHVU7D9JV;.6,4>3&.R9DGLZ.EMHOH:U(P[D6Y9S)$4>YCA(P@]- M$22/1*HT3)OML9"4NQS@)(<1 ]+.8(UT7^7DF4YZHM.>\408W52"L2Z5RX)Q M^DK)0#E0U)F0E =%Z%96.-"$-M2AP[K,D+AH%;GXLI;)NV@LH;<\7_H0EAG% MZ$=#JCSE14U8/$E,SX34M6)J3Z5;_(O6S)>:UG%$]'S.(MNTC.0VNW6N/'J# M6'$ZIT!S.K!N+AF=WQR5+FWR9R/B["!]G!,?X;C"H.[\4V^T6I^F7@F,4047 M43S19^I"5L?RH+W/I2LQ>UHA1\TI14KH20K^]-U54/.U^$?I*P],5O?MEBEZHP-H<_A"5E<6E9 M70Z1LI+M:/&0MF <:F+ L\QH994F7X34(VB4J1%+77.MNV#F5\J"4DW1%AD> M668PD1G;1 ERDN5H\%'MHI1[:E)&P+GX<(VJB7 #5UP>'PY=8?7_"(5;-PS; MD^MQ'I,\SW']!E] 'F %)P7'_-B$DEG1*WRU_"!-ZM?+G!PL)K\\9C)G MI6I1H18K,=I8IM72S44<:2P["D0"TU+ (I6S@?/$7# M\R> 6>!RRS+ DN6S\"ZSDZU%5'VKV95K_ZNEX4(W$6WE(V>=6DS=,=D8G#(V M-J4:N*54A^Z"%BZGI>N);$L/]3KDI!T"(9W/(RL9R1_W>,@;E^D&,OF\6PVV MX+QT'*UD^=DO9XI?LSUSF]E7S#3'>1A 17X?LX MR#\F_HV"-".[M/N1/W6N0" [";K:"W/..R7:.@>]"OD:>M)+>S$D=;>:)5OT M71)8B*U_<[O;/?]U-V=4W3QT+-#_>V=W+^_I\J:Z07S%(QO)M*7<@HUE_*UH M#5^11;.MR6^>&Y/C<6^#]5'!V4#V M3_"?%%R_^]O/:X[)#ZKLF?SEQ!DIP+$<*R[OO CB!H9/B:Y M&II2%BKJ#)4:&QUAFT7K(KD+B=WZ)F'S%''I)L^9*BOQDKHCF">+N^H#.7[* MM?EIM=8Y!_[3&Y\RN2.<."GLN+5"JT':KLBI$AV,H_2S(0$$PPA9P#$'+)%J M8R$R1/_#@_(+/7,]62*Z.>M $HRWWFLE4&BE.4$% M00D.W-C%F#B4@*%%>I$)?[E%/]&23A'&[@3BA!"J0# M,!1 F4O#<*00!#Q#<33'%%(&HPM! O,LRS*:YDD:.Q2>V\L$=-.$3\BE= P> M?-PA-A.>"JP]J4,>0$PZU./#",2A"_0V"L1$X4L?)UE!2Y3_1&L1-&ZY*=?Z ME7DC"#R2GQYTCV[B)R<;%UW[K?H1/(W8QERQCK)2MODC-J_ZHH%!(01ZI/HS MJ@IR2?C3R??C2?B9M$TC'#8"2451N[IBKZMP+V]4RE<\QZ8L"S,D(:>4RM79 M-N6Q,Q(D-]C+):*S1WI$/0:;P!]*R.>!1[+4H=LKJ3=[/2#J.3MDGH[2P.!A M.O,[C9M:M.6[FID:L=6(DLD@.]8HB';X+?HAKY>D"4=1.PZ2B$/!#H/+B.ZS MNTLCE*;RE^UZB7N!+EN4KD8YCR5D'?1[$TO+F%QS([TCOVTZI\?S+?6SF-P0 M)_D0$/4;'#9*(R-CO^#PS)WH1J7D_SP"G,K?- NH'"'@)$Z7$[JB0SH^ [?'(H:&)(@0@Q*RLQ'+R(O)N):]C(PF M41*6*@AE,#Q!@IOHZYC2'#P?G*.?2LE; 9/GJBUZJC[YH#XO,<35>35 <)2 MW$)OHL(EFT*1ZT$%G49^\IRX(CG9!)/\;(AFX\TP9,KB]-"=(,>H_- 1K15] ME$MR0\ZHJRQZ?+?KA$.MW*78TZC96S#<.TN#5!J"C+"Q!*)RRZ6H"T%W^[RP M:RGSN2*^I$1F>4&K"S%GV8PNLHVERL%\0A0^V3OLBS3$@\^2R,U:23POX42< M]"/1S TY0?^A6$P@IO+)GI2_-A73-\4@[%,[0F$[M(,;NTD7EDPK_CC*JMC- M#7TV<"310>4)X10A0D54,Y%.!".B&D71Z&3''G7.[%S+1?VEJZ0S%3W(#\P$ MKY0EA43.I#%$)1F['>D,)FFBBZ2IF>(5&U$F_BJ(T$&)'[/0\D()#FH..L*2 M2,*\5^C05@%*NR*\+WT<80]?Y0ZH@M2[H2W@072A7S Y#'$%4FQU7)!ECK5Q I4C:]3!FI) M)6MBO]'AE^RS)Z'4OMJ\CB[U&] ,$U9LQ0:-0I&; MPOS)U7/*(R<<"?XL-F'M3PSM"7$-0]]4UZ'=AQ =3J)%_UKOP%'>V]$-G,N! ME4"M%-4_%-+(8B6XA"QW=9[FH=>?:T,_;%0/Y%&.4@ANT8P4Z9K-()_L@1+C M>UA^.[.!H,F2,,F, !E.]#%?RQ]AK A",#6\]35R-1-=A4^?*LR46Y.;V#^( M0%:_:4+3% GTL VX&@^U K9NVM;*=:K+;2N)P:"TN\TKQ%N.]1*4Z\)7\#^J MT%"@Y3S!3=JI/%?4>=W9=0MZ0,[H9)YXE3"GL2P_/)YTS$JT[-1]#<3DG%3H M;#."O+-[%=BDH4<\Q,XX.[JI4PCBXY%>V9YL:2+DNQ'G&Q)I(:=VJ#&3*"OR M8Y./):#*T5;+Z=-AX3$R3:/:0/]?CS#3$XK%FX10"(W9_?5/\"&Y<,@0>8HCA(2YB# '8?Q0B3U7+5IH]?*74)P[5>U4SA=0$ MWRTPI^W:<0/2<>M:K&U>N#4(A_6116M22506\EE/W/&S@2"&VVJN MPXF8DEA8ME0560/K$: 0UQF04Z)H;/)&X([Z9N?4NFSB4/\F3 M;,R33<;_"$V&9 .=G\D$Y;@2Y?<)Y_%"['YG6SYFAZI*>C3PM4$4))<)WLJ2NJJM9E8 M8/T4H(%3N5;<1)+ 0=NH7]L!3< EH_0CJM94Q=6,UM+T7#P=-E@;MEX+X)_* MG,\5Y/(M.4-&B#^UY;T26N1X)32(9L[[Y:29'6A0XFSFS1B@_^:H894<1M?Y MVNEE1IT8P&"DGKE,$(-3B8%)D&3?D;IDP-$'I%>A*UBC:\Y]A;#C?2R,^CVP M3#VB.#(-6<$NCO[17S)#2Y4!*,^R/RXV/*DQP7H]GU MI;]@Q-.6N4;[;*KCPM@HXYR,R.J:*5 P#> *BJ0JA-G^E1\NK+[(5M:X&Z-2 M).2*9EQ5NNG638ZA/H &OH%)T 2;46(<4('5!@HB4<@ %O MO($QR&G\HFJ4N8%,< MP7KE$(([>X MAN+M#M(YLZCQ-AK/J J*C2AL>5OO(?_2)"6^(*DF@8@RNGKEPXE-S?&J.4(C MH$();6294DZR9@UP^Q035]CH ZI5\Y(J-]K8/>UOA<9<_)9P:GS6+$VVP?%; M ">O:[S6_.N4U&5@W Y4MU"&25!J<=UF7 :194AN$S<*,:!>$/'MDW&H=%SQ M (R!-'#Q3IZV]L+9GN0RZ> 0Z4-7./&-7DG+K\?[B217>VU5' M'54]7Q(FKMCK4[H>%SE5%&&2AXTFNE8QBU47NQ43DQY-&ZO2N^IL#8]H+_W! MW:BK"SJ7D]:->7D)WGX9@W&4/NZ4!-7S'9QS!HT_W[KH_F237U3IDT@C^D2\ M#[**6I;QO?HC<9Z(\4PO"AJW%17W=*6([0_9<=-!J!1_[4SG9L.:!!**@=G_ M1@MZ?5X).^]P:[=7*LODO-&!?,MX#")Y;-&H54Z"!$CRMFY6TM'9F^=Z!/0_ MZQY (^CD2ZT77,&"T$1BL[B1/'!)UYO%I?!$BHYG#Y&1\"ON'&3&25]2(.*5\H 0(.)+R6-YQ")/PMVXT AFN?I_-1: M#RFKG=$(DR5\=$,AFC--S=J$=#=YY*6P%;!D\'B>&(W-0,$5P9TCO=Z\WJF" M"+P9\RV__4^2+

7/94FL_S?"^^R(AA\6YM(8>6K, MR15W1,)68=/<"2^K"N=S_4A@LQK=,5E,3\$.'"2N^JB?.L]0B-=TLQ!UOR?U M(2<197AXP5^*&P#[K !Y5.DD8L !Q \*,9#U@SK\2XJ!GC\(?:Q4SDH>,0YV M+'? =F7K[88LS5*Z\=;RISTW@QVB&35(S9>*[/EKO7C8A^2,ZA%SSCB-@G@U ME,-!POF/ZG!"/7+,R9Y-SLQ[B" 8#R>)1A8O\L@NJ-+9P''WFF'9Q$4\B1O, M>E?T N>4O$],55Z8?1I*>G^?N8$GFAUXR<G'GSJS^OAJ4M;3IMY,.I)@\.;;FSYL*K'Q.>_?GQV=.Z=_/.V*NR8^"$ M"0677-EP*N+(C[]*)=SY9>:I:MFJ;OTZ]NS:MV^OU5GR9]&U,TMN7IXV9_2P M'V/_?JS[T\GX)V/.001(I1DH:$1.C@TGVID]62HFE%51)S30E MEE$1Y91..5FYTU=;1D4,559NJ=514:G)DYI01=623&RJ6&-I?<&E%UQWW=D7 M6]'PR59=>*<,:EEVALK]A")Z<@%5:9 M;9>"MFALYWUVVZ.(N=,IJZP.TRADL&9JWJRWG>K98Z2U_^H1/>[T4HNLDM*6 M:GG$-:IH>XT>RMYZAA&BVY),QK1,P-TFJ[[4(Q#&HM1LJXR"VYY3II MFC+EJKMN29KL&HV$[,JKH!C?=IKNO!%MA&^^#4T"H59OBI7)F5Q%B9/ F<3Y ME$Y@5M6EE56=*191:2:5#)LQ";S3E0E_F8R]X&ID%C1N^6G6R7J=3,^=>NH# M5SW0U 6-7!G#6'R34TPQ-93# A,599QA(@S6[&;U MW=%:>]IEIU\R\P6H66NUY;M%[C0F&MF&*LTLI>>)EVK9N&H6?:C(ZOI[;Z*F M-ZFPT".Z6:B4(I;<*ZN"__XPG"&=J:FT"KW^9.?;AF@O[P>F&J-JY9I1W>II M59--W-Q7&LL%SG\.W->X-"?!@MS <:R*UP0S6) 50.,T>=,@"!GR/3I%,(3Y MJM>N& BX&&3D@Q*T_Z!'H.&QC<%D8A);RIMNPA3/O>0F._'AZ()R.QH>[$NS MRT2:'I:EG;@)AN!CB_*6AQ@<$H_3&2)@1.K =/ZNC M^O(W+ #2<6A P\UIX'.X/%)2<2;,H+>8)JY+:G!&IE$A)SF)1Y58,I1ZRR2K M)&DX%MK,A*S4C3)JUQ/;E2X3RD 83))8RUKN[G->P>7JU)04+V')AIH(IA*# MJ8E1OJ]/=I*9,OS4LCW=Y65O*1E;+D(/KWV&;M8#X'D<69Z=12]JZPM;I/\* M00]*IN52E2$G^EZ#*C/"\S *9">X7E6_G^U/,E#3GV/.!QY7](^2\2,@IB8% MO>]\:HZ941;1UOG)Q>'3@:4TI>8X5ZT28I1QS*2("SNJ0Y5@3* M?F'N(AR5(!H2ET,V&=.7H^NEZGQ9Q"7"1&)K(HI1/F>Q+G5,*W$2W9: BDOF M5;2%>6++7O3BS+I$DZI2Y0M&AC/ _-7O,#D#S]HH4RM$/>]3])/GHH!S&4(V M=2-J'6O^F"-6KVJFC-4CFF#BV V MA)O=!SUV:D,WQ2ECO0P+QSQ6$]HVQ2AZ*F#4Z5R/' M^F,X/?,H@8YOO(2Y9WOI%+_&N&(V?V!.(H/&7\A4BFXY(\R!$7,.?&[Q%6U[ M8WK3)];Y0=3!B?GJL!2#7Y6LM++Y%5EK36LXC7:JM")F' R6@1;*GMAPACU- MB%M,KL'5B,7R>N4^.HQ)#[YI=C@,YE4&MC&FZ)*GJOO$5[)DY"IA*;DTY,D0 M9T*,#GX8(W+)RUU.-CR:_RW/+L:CQ\FRRM SI@=IZ3O@K02[&?0:*ECIJ3)& MNJK5,.*O:H1UHP#5"6;'_X'O6L?WUC[0ZCU[3 MHLH&[GE7H95QOPSPVH_$&-/Y:FE(=.SI?&WZ(MD:];I0F[C%@1H:'56U1YZ\ MDUL*C"8/\PD0F:A3C>VZ8+;5R>E6)T3:#:7'5J+UL-=$C%*S,2]PD2;R_B2\ M:,>YCP'\HC_+F3W[40K0=JSO&0T#3T0[MVKF6Z0\W4P>]AP'5JE@=J4MLM_T M.M*O/$LGO2/UBH*RK MBZ[&'YDXQ' MO7N&,+W%>,[&>O'@M&&.*R+=\]/T%=]ABR^W77/GH66&W. K5*8";>_I 13? M7Q>[2C"NKK'72-0>)U<8)/YWP.'1X8,G5\)+8_C#APC>%?'[NEJJ]PG_@GQD M4JJMFHR;4^0*. 29>;>-7>QX(3)O%\5TG\D'6_\1(6.07T M^L]GW\@ S ^7VF@4\?;KRT<=P3]\@]1 M,G@S^?LO* ;U@-#^<0LKQ1\(T=]'I Y-[5*0]98R@1[HO5R334E0P [I"1-. MO(X-Q0E-($7^J9]3Z04TR1XT31N>] 5&U-/T51CV,=:V+=IV@4T:10;>Y1>A M(90 +8JV?9O^*,8,>N!'[)%?.=9@.1JIH!U7_XU&4S%+W& =]0A2P D-I$72 MPOD@C/&?O/3@1%EAJH%$ &HA@SA?2'2A%YH$J/'&XK%+X(FAY# 3FZ3),# 9 M57A.4G@>PXS>CVF,50"9<%$)L&$>+]G<,#07%6*$GDP1M"D/RUP5\HB9A5D- M'U7/HX ?;/R7\FV&L7!&@B66P8D;>O ;G"E-LBC=8]B57!58$')&*F#A(&J$ MOS'6VDW/_-B*L@2+)U+2H^$5>A"""MH/*@C2/KT"&'J$_9'+*B[0&*J+ >K& M2QWCBP0 2 PC,\H'*'!<-+Y(Y86:R.T# 880AH1$-.24#1574=50;N%0CT%9 M<@D;Q\Q.;5E)DM4$6?]\WBS-X3GN7#%B1,K00PA*U>Q%5_*8X$7@S_5]D;E= M&PZJAWG!H!E!V'E4BF-8796QV2O*T=N(UZ!Q6[!8I"K>HT6TP_XTXEQ1QO=! MCW"H54FVAW#8E6348AYY!RXR%'VYF<')#7IL)$>H(9-PI$I4([E^GK3Q22)"T__9'IE9&Q0JC7>=XEUIHB.*)%W)5T Q M2KP]TEP5'VQ8Y '-3WH<)5K&#WB](M-',* 2M6-O44S,[2$208P2*94M.:!5),RP M)07GL9S"+&@+7='Q9&C3(H33;YB\KV"'T#+ M%&*I1>@FACH(;UQHG#:() ACG<;'-);&,N2I?!C @_HI0_]P(SLD@16I93,7"V-'G2Z*4@I0P@FHG6R)599!#$()+VUAAPQVF/T(A$. MI.^-3:,@"D3F5ZB "IT-H9:6:7^Y4B7,TM('#MFNX!4GK:T6-M*2?^V=RI!NO%V[PQ4J,%UA)B9*00 M5)A6+)D)*9Y-S3A!!IM.$KY2!)S_BBM$M"9()(C+GH2$9L[,)H1L*MS--L1N MW"9M6MR^),7+=45+#%64T2&7S&N24852"06O_=HO"155-J!.7"S?P9XRK 71 MR9Z676L+!WY"(L*-L:VYI&43F(00L=>-A1-HA5AX&HQ MSN>I8,]FANV2TAE:->D#V<)%JI=CJ.3R;6(*QM=[/*N;!L#.GL1K=6OD&H3; M,26%MFU%T&GE'@2X9@2V5FL9;L0-N<15)BU7PL1Q[DZNY5#$G*M-4,5-)%F2 M%5DOU1916.WSE6"TD>#P7,0\5*+ H5G7A0;X148HPD;ND4?2.0VB'!BLH,*P MVF)@38: _V;*0L5-9ZY'JFCN(/[&D#Z2QOY>JH(1H)U-1;ED;*S&V,:-0QZ0 MK"R&7[6JSAK.RN[#&7:N08#HBNGOA=2?_P+ GJH$/00P0L#L1_@L;89HZI3C M.2K%[!H;.A),!1); Q.5D:&N6:YNF=ROC2B#-=G%G?AK7M3L/LQGW<9-FI9* MQ&J7^WI;;8PM'Y$/_5J6J0Z:@$E=VMIM9ER/V.#M*NKJF'Z*9 "<*RC*]3X8 M>;T1W0"<84POVE2BJ'PD?OK,\8$;JU*K_:XLYQIP0IB&S'HQ0HPN1H2NRWKO M-D;N:V'N:N*-BG));7VE!3J,KL%KS$WE B*5L)%>.M[AQEBE!^CCS9ZX95MP M69[\S\1:"M4@5#D!;CHEWPX?)'?=7BWL&5H!&A'B2L2RL%]Y+Q5FK$%"':E& M3\]LF&@ M\OO0 ]*YIRM*"M3);[#L3"K$\D68,;NL;,L&,P ,,S!#M$'82 !K;OYVKA1& M_R[0NF;&A!ZQV?'24G 0S9(PX5H/S9#FP9QO-@4VKR(U597RP,Q?7(0M')CA MUHV?[OH8D@B?"_A5E>+(/MN(CHMOMH:)J M-')MH"\[;=$.0\H[U2#9:D^R>M\KT+.GSG)T=O$E;4B B!1G<5)_H,$DR#5= MS[48@$@(;9PL^^\ @X2)071'/V/EDO%%U*M4"BVZXES $!/3.JI."9$N5;,R MSV&E!K*-7%=<" I&%"L.QT;;^'"OABV:\>U]?F10E^E]P5E"%N&JEJNO;9!=*7+I9"B\Q\KC ZB:^:O>=NL/]QB.!K+8/0#4R"PE1V M:&8"&E#NXFAN&$=.;DZ"=G(6,3STX00C0WMKVQ8P10, 85]/6'6=,6,[CH=HKL96<$71ART&$J51W=*,8E8I11V?*J MR<9VQ]YG7G8-+UCR]JSP#=:J89CJF74=6;V;!P\#.L'V#@(K:GL1K/@S^!"N M7P$6Q1JD^ QO^/8L6J-E1I\2"MEF&NM-3*G$C:L+&D!U JMUX& "+P?P+W?$ MC&NT,5;N37*)&[;WFCC93KT$D[WCS#U,E-^.H!P/ M(\IDP>FS^BRA0SFFEK+/W';_'2EC3Z6]ISM#,L?^IV30M@>> ZCH=,!JE[+> M&WUMAHG_SE23:0S/W<22;W!H1H0WKLJZZ8ZC5*=P=^"@-T8) MRH8Y*:4LE#VKZ?B,M5((QQFQ@6/-J=1X=E"0O MAF&R9WGD3/)V54+#>*1CZ01Q.H340ZD##EI,-]-(][KDN,WJ;U][!"8AB?Y% M]P1)_W0"=RX8TAJ5?QZ4#9>/W=00D,'AT'IO)#R[&/P^?'>V;FLQ MXZ;N*H.E*^A;5RZLM6M46(SH"-<;\CK(8_#JQ*,/$=.8V%;J))X^N$AYO[S, M3RD;Y#29_L;DERDKV0F9@+C$?$9_(FF\Z3]^9@UNWV^B\)4V$ M:;*O.>+M6N+HB1R#_,E'T 0VS>08$&#!Q$F M5+B0X<%"KR"F@OCP%46)%2>ZN@@1(\>.'E-1S!BQ$+V&)U&F5+F282^.&Q_& M]"CSE42*,FUN_..1Y\17O5@&94EOXD97&#>F.DI39$2,38_N//IQ(E"A!#\! MT+J5:U>O7\&&_7J5;%FS!<6(5;N6;5AE9U?>:#N7;M@;*3/5U3M7#-R@RO8& M7BMI(6#!AQ$G5KQ7(,H8BR$#Z.MWX:3(B]&PS'J9LU/.AS,G MU)0IT^K6_ZR'M1[FFO5JUZMGO]:4^[5NV;UW]P8NG#4QUJ!J%V_]R;AMY9K> M'C3,-35EZ]?+CM8^FMXR928+VN)(LRC&G2*;HN]):.;+F^.+/MSHLZ=/B[RP MYU\(7[[ZIO!#(HFJG3YR13Z?7(E.OP6MO,JW%O2:!T:!Z9A0L)31RG"L3&Q&2 ML4>UTEB(Q2&13#(P4%)2LJW)8,S+2;5B8.G(*?<20\'"A,2R*R@-@N8W33[Q M+;GF>D,3MMMTRVV83YQ[#4[0AO/-N>#83(XU/3/94K2O0@-24/_KE*E'F6BT M@\;/?>BSL+Y&FV+/)D@C]/ C#V.ZZ*829ZIET/Q.G,I$GL[CB3V.1(VT40K= M^=15AMKAU+Z*2H3PTE<(]&_5"A\:YM6$AJFPIEWAT^@I"26<%:F(/#5K.B^[ M^E7:?: -JTI7>:QV+)32TE:K0 >5TEO"%-K,VW-[!%J&>E82U]MK#ZI'3]SR1&ZYV&B+\[;8]HPS$^;X//@WV6CK39G:"%YN-S(U M0>C*KA:=UN.%O-/.4.\<(C%$$%=5"J(3!:S)PZE$TK1"43MB.5.*6C7(EH]7 M6@K%_X#^T#RG)N04PH\G3-N,T12IPKM$E/2)EE MZ-D.WX+E[]1"DH?(0(G ?L5GG]G3/:+NPX<(^$_I$7X\W%UO?\"9 ME(IYZ$UA?P4N<\^5?D/1M>476[>KPQ"YK$U:\:I6 *53. 4>AFT(&2"Z:O0I M_D'K<"G!7]X&_\>0;/7/=/^R',7JA+#>Q 84%8/-F"H6,3;1!G.6,^'E5L.D M@TQ0*_K3WVB6 8V0&2181^M)J2C$O G]1V86JI]'O-:>IM1J> 6AARUL$3T; M$@1%N*+5S$ $$Q31S'C+\DD#IWB=8^N>,81\807]'"',MQ!#V*X M$8YU?.,=[9A'/.ZQCNWHQ1]Y 45+N2Y 4+$(T83ED>XAL7WGN\K=H!7&_&P0 M715T%8[J!::%!,Y+GY"69;P5P81 OTJDRLAY;DRF,K\(60U MG[/-FT#8N=;X6DHND3A$"Q%E(,XR IU$VJ:+&*F(+>,AE$/>VA\78_ M>PFO1%2S8F&D>Z+R)ZH JKV /BIW^!R;T:HHM(?8+&P>\0N]M$4,94@4-!/M MDW&(@5$Z:92C&_5H1T'Z49&&-*2QY&2U/'92+RV.(>T"(XP@BB4$&N2"IK1I M6%Y:D%:^BH938NE)8EK)L_0T2?_ SUZ1LX+THA90S&GI M1A6U-9('0P$JHLM \I"[>O4J/7P0_!*IQ,-6KU$(G=1\O.8\;$I6)J4"XGO6 MQ\B.^,%]G?6K-,]**U_!Y94W+:4R$Z)2+/WT?ZL\2;MB2=B4NE:VHZQ7;//# M52RYLG":7-%$@2M1X0:7N,,U;G&1>]P&>M!S59TQL)@J]*#CF+LG M@<5IJVOQ;6T_M9UE&(0>F5(6(H'&.ZJU1RKO.:1/CE@]E*5,& &S3;_<>Q:P3;0C'2Q+/4U+0W92U"W&;)5Y5V2BAQJ8'U]\!9PK@@;J#MJU3K)-SN M@\3G@@:-&P*<,K6P8<:4;L&2,Z>G[@8YP:33+R/VN6!")X%K$260!_66T1BD M=?#)'GS;E\2"-LUV;0US0G7"'Q$/1!]0=/-HX>E? 9M*D7.VHOP M6&[)A\^(5N693&R#'.)\9%8KWGF-?7S-YJ-!TCN1Z+DB:EUB%9GWBK'ZA<4E MSAMJJ]RNU4W+;Z]%ER?]K+0<.RG5^P#EN;XK*$I&5"6=GM*5_UM=D%P2<[H+ M%,GB06I+7U>.5GJ M03*#U"*Q"<60&0<]R%243UF;^O=$]CN07KC9S?CQ*H#(PSL )[A]?V5>@'S^ M\V 1*XT07J>EN.VH^M'SK.X^KSW-'O_$WN5.BX.T=!J1HB'KF#SBYP*U08CJ MI(E_RH#>JEM+T37XGV](Y$AJ=>/3-2V(*RG6MG5;Y5,]L3;5B3:/4T["B(.G M[.9&3;Y\(><(1C"V-3[LB__+HLZCQ6Z*;VN0QM" YSX>N,K/FZ^ ,T':86[\ M0I&PZL35(A/:V$K_&V5-*;#KJWVK?O*3([";?D6RI[+E0X00[+0F8N-SS_+D MM644M@@U,PR35.']D)4=/X(@8G7K]+COA?L[6NK%\5?-6EOD0CRZH&]0/DY; M6NW&6"GQ5(+^*,CUEN%AK HTRD1-"*;9#B:KH(OS,%#F5J/87BZ[,B$:#J+P MU +5 A [_(1Y&,1-B/!.:+R/L=AO5@),_+1GOEY!_@CBB:C.W-8LC"[$:0BD M:9"NP2)-!B%DQU:.>@BD:NJI_1KNO' GM%8E:/;*=5*E1,3LFA()G6IOB,2- M1'Z/,OBN_A2G(42P6DC.5<)P1C"/(':J!%\$\GJD .5EMLYE!6H-;_^@3_/B MY'.@ZKE6"*JD[(2V"X0HQC6:;&'&Q'(VK2!>K2W<,#] L"!XH>F63_9(8OTL M D06*422@FOL258F8@?WP$<%H+PIOI3^& M4*%Z0IN>XBAL8BI"PA?QS&7 1B+"YZ_*+-X.SAB;X@J#D1DGI/548O+$$%WN MCR &L%J@43^D,4D4CPWKY0P?D3*N,9+\+/"X\>+F$"6V,4FJ,?.<(]E4:*GR MQ,EZ TYRCI?HI$\^J''VL;F+T(APWQ!:@\.T2CNS8[K ,R?QZ#R&F;OA> M0?@(BQ(!C@8?J\RR$"*R4=K&KL-6,+3<"_S_6D;=""H(Y8U83/)D,NU]1A+W M"$G\_H#<\B,-IW%*VG$?X#!'T*9>;I):4DP@]2,G9R35:+(SUM!&RM!+<*LH M3^,HL6QB7NCSFB/UF(I-2.\"-9 UE.RZA.T/36B[%F4=1PL^\[$QH MOHPD%8P+9S#],(T^S$EX2#$'1=&&.G&))@S/W&U2)(4)-046W= E6C!J,HSK MR"\5#].*G"[@=B7KY"<&+02(K @(!8JQ& I"+/,A]&Y!%+ F$?#_ %!I>-+4 MW.8&C) L&V(@G74\9G,,>_U!SAF,K]P2[4(CFH@SG MD*IB?LP@A%(UL<,=__;2>OQ-4PK.BQ"D%P%3%6-0)+YP']RA+LFI.T\1T+"H M92CSFSI+:)H&%02S! U+)6MQ_&K'0J!&!4OR+%T0B-A)=RB"S!;34=PJ)KH' MQ,JS!F&$*4%S2&ZR-%7- !-"@6X ')53)82R15*M$;5%_SZ%0K$Q)0B4,S:2 ML*8,]/:Q*D54NW:I#X43JSPP'UW#@5SD02E#:T3">5Q0"E,FFKR.[/XCOBKB M' [BB4IQ^/ K/4GG>&3%&-T#D02JF@ZR)%ST'&@&[1 M9=)NZ[@I2;^O[0PR M^591"%5QT,YN!1]%"#$"W;2Q0!>H&WTR-'F&-7>K(4PI!M" &([3156"3?]; MS,_L5$EB;R,;M^[1T[3W/4Q1R_ MHB?I%"68\#+#;YY ,DLQ+"2]25<@Q 8)(I"$+P=A 8J$%&U.,IQ@4%C$U+W8 MJ4-;;8S>\SX%K3W18R65E)#82OP =%3<*FP@; K=IQ7SR18ZTT8VU$Q;I!T! M-4><$DB2LC57L\1B0 S0($[_\5(/(D)/(]7R-$EHE3(P%#8UU&T",SG15:NK%9(6-/6PM=[@IV:9=V>9FW>9WW>9$W>B=!>"$#;@>"9Q?#>H%,\SQO MA#+P<8!I8:;2'H\CR9",./AQ-19%=]?B7^,6(2S$=-%N6& 'G1R-*NKW$I$. M(=P!OP)W8H6O=7G0/K0.K8S_)4P!"X$]PF9_SMK@4Y^2SG@N*]_RBCQB;U48 MK?9&]B7QC*&^[S'W,\241G9W=T;:D5*1Q&=ELU[N*FM+6#&2%@VZ57JDUO'\ M[(6=]5])^#3<%\:D*E^#,%(RV/MYO-U'IACMZ8*%>X5S D'J2Y5N]-_\XN,IX6S M[HP6,U&!7Q5JU$TDE)G>9#'W*C*?AA6MR.AFX".)HK0MVY,2Q5ECM50B J2N M>L$=%A%(<':3>E21;\1E(:CA0;UB?Q; VVX66P0LJ ME^R%./"J_/%LUX11K>M1N3(Y%F6>UP*4:YE1]@V$X:X^%.TP76$\/WAHM(=M MZA* ?]28"?GJNJXHUD]865"1$EB(7*&1@:P7R*R:EK'\1O?,K/-KZL/X$C=C MI?.*>R\7BX8MUPEFP/-65!=(/%F@YZ(=)=E);/JAZD6%]_\!&J3:26)@AC\% MDQ=#D[LZXM*U7;3:SR9G-O1UA3!GJ6XN RMP7ZO*.-IZ3/HU,0SZ?6UU"]LJ MT8"5/H5%G8P5/J)N(+X88G]45:_N/3D:6'%UG$^DFCG2EUV2)3FI)IYZ0W:XK)M8@VX+;:+Z,&A7IUB;\OI9/_XY#K', MGFL;Y( J_P2UH?>$-S3/>S7AV-C$Y80;4KFRJC[B/(SE]G9%J'GBJF%L/>O.;CT[,14V MC3)-5_+[2+$PG!*V,8^GC!A+FO4I*J'(E--Z&TGD^1O19K4Y(ZW%.L'78@70 MX(W)(L(3P\]B6\(YXZS1):W_L2PJR79R(*>YR.0U?EARG&MAB$ST>"/FUC>3 M,QHERLL)I]F^"S*8 WM+$6F:(.*[Z0I5=3!5Z\J8B[R\745&AS M->S&[8/2 MR C)4TV>;L=RL1M5*'<70^4C[4GWM,V;%@EVYIMSB<5T938CP:V9]9@C#MPL MWIG##Z,;V9?5ZAFX&\*BX7PQ)J%M-R2W=?(I\WR!"!J"@MN#6EQ$\\2%.M " MDQ@1G\!:;#HZ(2'>@4#$B'3*\%QMP5SK.D/JQWP^7 M814D++Q65['+EV6.$S:H^8-FEJ?\*.6!%2N]+-+@"O/MQM-6H*866MUN IV' M!4A!_R4OJT]BPX_=*V;;.C <,33\V?/FMO?!V?<"Q(',<\@WJ9S[H5^##_EQ ME%OYYMYQ42**-@JF"B^8[(YB9"/-8/41ZK=HC0J[H MN[/#VB^C&Z?],$A'V_4BK;F:Y..YV%'"SX=RMUV>A=71SF^S81YPW/_.HS,;/N#;P%S"AX587HQU/7D=@&^<9(O#]7BNP_<*5O;94_O#;(K8:GRZXG<9P\X-$_,29 MS'R/.(50[XA_DP^?:E$Z'.D5 IH\_NEP741\9B4+N*](]7H!V-RT/K$E-NM- MD:6EDS$;ZMVX3F4I=[)=-%8FK%=E\,'D<[[IV#&G$#^U5&7KB?Q")']'>G(# MV_D/RQ;:N2S>W/&M)=G3D30+&B6JFOL#8VN%0N8E%,OPG/Q/H\^V?TBB/?/2 M5RI#U)5'>='I56V!&&!"D$,!8I_ @00+&CR(,*'"A0P;.G1(+U6A5Q-?4;18 MT>)%BZDV9ORS\6+%0ATU3@0Y,>/_Q9(9>1UL9RNFK5HR:1/GPYT\>[X" MB3&H28NN2 8%.C2C1(T42X:<2*RGU*E4IP[3B/3I1: IA3+M.G2E5[$3"95$ MZ?05RZ5,G;I:.A'55[$BBX85RI80T[ =R^Y5&[0BTE2VJA8D!B"QXL6,&SM^ M##FRY,F4*UN6?&-AC,N<.P,P#!JAY]&4,S>$1CJUZM6L6P.XH2PTPLVN5\N^ M715-[=V\>_MNG,DAXM^=T> ^CEQ9IF&:,F5J_MPY].;#I&C5FT]W M;OT[]^W6H154UCLV\O7L0]O:BS1N5U&0@+.VU%U91?7'T%'W]W657?QG1\V"'Q_6R%W[\531A4QNQ])5< M*ADU5GU@B=C52']UE19^*(ZETH1F90264&#I)](KA86&'G%&'LE:#)HA:9F' M4C%9F9(.T09EE5:.)N5Z-UP9F9->3L)EF&*NIAY#18ZYV"1>KO^IT#+:.0=* M=]9%YYUS=M:9'7::&"1&;\&QR:B'^@36UH@H\K@1 M4O^A-"-&?;WEXBON'*3,3#?1!(NH.25XX($"-EH572/^=6-3*3DU$8KT+562 M*U&QRJM"(/YX$D5OI62AL$S]1U1&]_WE2E9*N5AL(19.E"&MM/Z4J;(Q1DI? M?"U:E)6F%,FED5[;[C5,:,.AR2YQ62*T9;N)]:J0O(F]N]"Z]NZ+)+ZW4=DN MO_=58'9=^%'EKG0V_8R+#A[T$$, MWG<1$^K=G7&21UYVS$E7G9_17=R<0?'R]G?CIAN4MM?UL756U1>:&"1>A;1S M$(&IVH*J@CDQR#--O9R>4"K(4@@[?VBS!>Q>UX:-./ >_NIRCV3''JOQ+J<2 M+84L:D5\[&6[+"RE,I([E_'.XN@B\N +"9K(AK]_[T*C!RSXOOXJE G\^G-& MLFQUH^F\G1!L_W\$5$W_$N(^,:DI@+)1#J$@][CF@&)0%2-4Q#9&)SEY[#L9 MC,9A?L,X!MX->N+K'M>PQKV2M.PBP_L/BB;T*9SU3F>ETMWM>'8.$1)$1BN, MG5'.9J'E&8U[KVB:#MLSC%NIK$<3NI'86C22)G[$(KQ0!CV(00]ZN,.*5J0' M%[7H17=D\8M8!.,7S;C%, ZC';T8ADP <[7B86IZ0ER;2;(GH^;UY$P%-)S> M#O*_,34N;SP)9!\/N8SCS,]N1U0(X0X)27K6K+T@Y^:Z>,@Q/\PT*A$ M9<.8E$HF/I/)S8XHM8J0;WI#Q$ND3O@*A+42-R *2DG(=3;OH6TK/E+=*WYG M,F7 )%(:*A]ISH(VQ) +W-4F [J24%A-EQ@S%R0Q^;CJ;8^CC.#F="E;'(/G[S3T5ZJ5> M2*\NY(3E]\)&+5L>Q2,M0XH1"=(+WM%$2#H[D V_@2":T*Z1F)IE'&M&R[0L MA99+"\E+06H8Z$%*:S5JF8BB=K;9-4ZI8'%A\5):R[ @Y7QAD69/%$?0@O%3 ME?2\&R%YDJBP%M"KAEDD )$JD$>J-:P)50B-6-ME4+@F9&/0B=/',!LG#E0Y.D!5DIA8IC#7.5;YUH6[DD'FU-2#YP-@X<-L)0-I5"-/15;TA3 M@>=]R"X0:Z57*L0*,;S[SR$J&O_S73*1VJR8]I[$Z* M#2P'2WG>BWF0(!TE3G=#*J%7QL@MVON:$+<'*6P5M1#$+4A,;0I@T-+4)L-, M52W:ULB-Z&52)M5F5@,C5*.^=RKG %O72C*\(/J'*2M3F?*T6:MC-HX7)I(> M<,M7$0U[N#_#DY9%=CF5?&)73,G=AUL%64]YU1@A,IXQW Y(E1N+R;%R]?$A MM6N0'HL)R1.&**'N5#F);:ZBF=#D)ZD3T0<2]CNB.Q*0)WP;>D15Q=W,46W1 ME[)L<@1H!.'%#7V).Y[=$)@'O[D478"F:&Q)9J7OEAH:-7 M(JR>U"*Z-=U[;!3'H:@P:]S4$/^*<3XQH926,E"'6AU%QY=9J2F^;;O\J* MU.N6>G]U/:B]6AWH?2C'DQS#4W@^L;DM:PRC'?LNG[+LG.9INC5?CK5AW@,^ MLP&I1YA2XK?.5A(_4&2G!OELG$WE2S@'\]HS::6T182I<*G4*:=MYK4F(EIC M)P1Z7'TV+)]H2Q/;+(#[(6VE^VQO6:'/(OWER5U77:4:?YI)H6[7CO<*<(/I M<2I"#A.1$UY )A/DWVB2>'?=])U9>PR#XN4U>%")P8M.QR #3XTDU(T;>JPS M>D/!%/DN*^_S34LCZ::'@7=63%%YEL WMTDK929;L]77PM([-U-0L7"4&Z07 MQ1(NA*7_IN_N-14C.71>.UQ\+ >7D&O[:;I^K9;NA@P;XKNI<"$ZLUX9O']K+GW3T M"LDY@42SJ .(4Q[FNDILL?!0_;+ ,]R9YV^(:1$6M9M3R^KH2\QRBX1]\0(9 MQH2@R96QO0BJJ15*Z 6G'40Q*0"LKXH[ M1@H^5S9) MTW3Q=1& UG[[<'5[@2Q-)UF0YQ48&"NH(&*G@VSUQB,0N"R.]W1KPR(5D7_" M07U&8G;'5S+R]'PMR"5V5T@P.$US1X-X)W; G4=,OP2-!Y)TSK-2TB)OYM0]+8=O0=&+B^=Z M]78^_X%5BK9ASV)HL%0(5><\RM Z*%1._-$L)Q([Y:86Q66*L09]5E)P[')P M#@$-:96*1A(:FRB0>K6+ :E +,B#>8>$@A=8V>% 4!8=N.9]M49KG1,Q!L%\ M4%)LOE@08A9+2 ,CRR-922,C%-EV5T%K94 MLG52V^-2'CD02B4I;7$T@H%G[O9-(K0^WI(4?7%.M>5BB>81JX=/]QAH!.E> M_YV()J0H&\20CPA)&M/X$%T):M)G/S<0 V:)EF>IEFG)EFOIEFT)EV\IEW%) MEW-IEW6)EAU)$-AG)=KG6,I *!54BWPGF+0F'MU!9<,P074R'OV!2Y+W>JI%(X1P>_M@OC1 MC7EW%1E"$I1V--6C3BNFAJF0AXTCA2:%DA]V>B9H>U(Q=F/)>E;Y&_M8<>NA M#,KIE9%A@P\!G;WA6,?))+$9F:XF+],Y8:;Y>3)58."@;3=1D_] ]TQ]UG02X75GEH#H MMIT5!D?6/R2[> MN78 &9VK\8D-,:)(XEBL&"9@N9T@NCCMMW$Y*I[+08OHQ3F48VL616O7\9%H M5Z.H\W76!'_3@Q8Q%SX)>IK[T LUQ7-5"HTSV9)9>B!CJ$.1MZ',UBE4AUK61!'JZ#PA&%5WD2MU2A1.]1=H$:4*@9TPVGXJ MRDA.PY=5XI=4D0G5N:( L +]%*(Z]*='HIU'^D$+F7?B!R?6H6N]-H3>43&% M%W))&!WK-1""FIV42A"/EF?W>V:&]8F,F<*;"&%S=*:?-S2:<10DI#-B&D0DU0S$\*\:F6C-_W-.9@J.J#49T(M$Z\F4\R--T?9H0A8J< MBW>0T>UE)[:=8Z$>>X/= #_0!-T M0=Y'49Y#:^CGHZ1$?ACCF,C5KOK0>RM2+(#8'TI95-W"%!3Z7Q0;DV_DC 6& M4P6VF//@1>UH!++141-M933M)-;7R@!N1(0ZJ:!7QH4[SK,G6 MH&%:1Y!'*:E0B$G[6MUJ)4?K)3):@_1"#&A@JN;*&$T[3^FJ5]K*).SJM/O MN=G7?AJ7A(QIF!RSJ1$$JN7U:]]!J@(1NB1*J3 K;]63I)M"3K[*;V&G#Q"+ MI:"UG_R'JW &4"WRJB7)%@G+AYFBN;%V#H"H$N+6-3 '*9B2F53WLN44,\)[ MN.KSI*15"%*)$$OK&Q/8LURBNFL"O[TAM.W_@1V38):BJQCYZVF6&T#ONKH) M [4_R!V<@S$097B96I%"6B@3PUABDKWJ]HVYE#VO@T)^471!0:'$ &!RMB#^ M]XSZ:<*[$Q-C?/VD/(6"(= M(8XLEHW24[\#@;J RGJ86R45W"%)+*G L[^@>Y8(J9524:X%J5<'7, \1L"N M.)@B9UX7(Z_R2K69$$I,6! FVI='JG((VE)D<;AP:CY!XK (40]N5JNXVK96 M^HQ\K"#^MZL)YJ!<-4LA@188^&!+X<03%EN/-Q;5@U_S0;"I$ZL,%(*5]W6* MK%4:R[>N#F7D-2B2T+*$S)'&$DF$$S6DFU->ZTEC-5H/M;"4^V:G+"=T>[%Z;I2KO]2, M_YFE!!;(*(RMSG-;:@8VDXQG3E29KN"^9VJX0D%4#[J-)JN4BQLTM5"PX-MN MJ_JXU H61RP0K:N/[;*1%LX[0DO NP\O*S+$Y?+# EL MYC6D.;HQ:>S X)%E!5$/@^J3O#!2AG9F2[,4SJ)"0\'#;M;'T1C")$QG+PEG M=$:3T9N-Y!Q941.?)UNF-"R@2EHL[18LM4(B(5TN<@H\]APSE"6ME*F^I*LE MR@9\RPP9T0TSOU="NCZI# /M<%51M+7Q6ED,0@_-G>TBKN\5#7P%'A!%6!$# MS$+:20Q\QKE8$%K-M)'YC??\JV)ZLC5+'[8 8P=!S3QSS<*$;;\4TS>GI;_$ M9KSJ$8=+R?"'-2U#GT%RSDIWP98%?.#LH%TS+(S&0"!)E(V7I-]3AIR,LT$" MSTG&T'!ERKM1UFM"UYPHUOL0V]N*Q:M].EW=&@J-JE!L) #_C%224W@7!7)B MC)[$;,S6\=?&EY4^J7(B:XV08G3&*-H: 0M@F9\] X86&],^TX47VY(^\]1= MVJK%4SQ-#9\YZ1=,4="O58&^UZHM1"&TF9/FS1&IW3#/S4PR'$5!DQ4AJ]07H<*" R)*N4142$1>PV>UA-\03>!*MR]7 MW# .SAH*CL32515@O9S6Y5Q@CN7R_P+<(#5KV+&IH .JL,MWUH&[@J+&["4O M5PUF=)K3KY.^5H. %<'#L]K2,3V3NB.QW'8[%QN:A=W-U-BRK\.&[1>X&@S?JA/4^24V FXRS!PBK'-'4TY_*M%AG3U%HFX0%>X:3RB#04/F M\8OF^_#/.$857FX;#Y?ELPWKK7'AKP4-A%=8FI YZ158BYDG.]H=R[T/O$X: M7)YW)&9Y@BAIO^4U'TH/4VJQUN:,S>M+L(!3,E[NBFX+K@X\KQK#I2?#4S/' M]=F^) O$S11+M[6:,V+D$Z'N]%(/78&P52,V1A&/*[82SP)%'G;E8?[KZB;M MI,';'O+PR\+Q"8O6'[:\262PW(48]RBO??AO/&V9UY@N!)]B! M]F>O]FF/]FU_?MCARG$/]W.?"7*_].R1ZV%2T!,_&D2R]G_/]H O^($O@2#_ M&WXP>R;;$%N(3FN;NU@WZ^)-J%M;WJZ:$S_3F^VI+X( M?R[3G2E0WN\#P<].&*@>SQY;OC=E'X/V@O@VQOR::"6=AAKVTMZW$>&NVQ#) M#R5KSN;B);O#K*\:;AU(6%'-T_U7[EZS;37_]2?1S9,MR[!BXGCN%Q M\^>UAQO3G03ZLQB>@DU?GC3:__5KCIDR:K"E]UQ6:Z;-E5A9JLSN-.Q(7M$_TN-%L6)#A0YMP8)H M_AM%@Z_,%TR_T"'[@>G;3>>O$97WF+C;#BF(RLM9"$A*RS'S_:T4C"=*+J!B83NRO*MQCKJ#(J^4(M M28[RRI(O)T.J\4N^1./R3(U^HZVXY) C;C;CUN0MSN-Z2\ZW3(C3:$PR^?+Q MHF$,ZO]%&31?T\<6#DOZ@T(.:R++E0U?&6;!CLB;J#WS&,)4/7 N3>@\3^6[ MM+[UU*.(TD+I>K&K#$F*<2L/4SH1)ZPJ+&JK,%/5E<0"/S1*.YJ O4Y86 LT M2U>/2!1K)0%A["HF6UW:2L,6N<,J1)]4ZS,N9+GDD+3UE\ANDU3FN..(^43-W&@+ MKLZ&(49N-X O6M+?M?;=IQZ'>M&G8+H093$IG$@"5M%&P:FXTEX\A0\_EQ.* MJ#U-X;,O4X1HMKD]D*D:L,2C(FUI6@ZUAC)[_==F1B+;0I.M< M](JD_9;>IQ=AK_YO: *A%GHD#R>4FJ6L??H$X[6T;O!;?]?5M5^V 5BYH[H! MT#A5@>6M"\JZI]Q6;HW(Q;A;P#$^UZ.UZS;3;09EL\W.W_*4\V'=*!?. M!(6WE1//>^7R'.)E<<@YLHK L8_J=25;TAZO/()$C=G3^F:>#]&'/IU(ODUW M-_6YU'N">BS7G1KJQ!A+(JJE#%.\N_CIE,VJ=>6O__5$IPNQM21L"[;>J46M MKOK Y%'T_NFBI@>I;[^IERYO JFGZ>\"4\5[OCC#;PN^$5I;QAI%]O^A*85 MU.V '@E@N@@F/]@@C&&5^UR;Y 0Q_X8=YTT+I-]:'K@/=X#J=!#4"*)^U3RC M'&A]'2))+891CYT0HW0XLUU[1 613B%$(?$17LZ$ARF#&&2'#5$:"3-RLJ.] M[GNT@I#5G(B2(AJQ,;V('MG(,JWO)$B+'?I*A&XUDG,43!D/4@H2E[*A89'D M>0'*3HN>UI0H?H1__9.BX.J&.B[=#S%U6T'/_O>DO-FE@&32'T8:6"YQ%6IT M/)FCNQY7Q[L<[(*:H\V;*EFYW6QP89)#SF_.=\/?),@XP;_MQI/[;5!5_^LLO%OC1 C.3- +JB9[[@V*":*AHGW%"L^;)F\ZE%&!EZ$:V<42G6_(H3GY4]FBK7T4?5X%& MLI7$D7'W_"E0_)DO@/Z(;FQ+Y$=$YZ^#YC&?=/EK*.NR5S+E=1\/^\S72AN$ M6'[RI'%LDV==_W]R'(I&+&*3FYAM*NA)#,X&&AHI;-WV%M+AM6,9;AO?%L-6 M$EY4=2+VCV6W#:E-,R=6(4'O*U5+T(EN9$9M($TMR4<*= M]9GLN<%J(\JB5EUJ1E>5V76N==<7OE<&K2C-2^4:CVHB%+Z$.]&+WO/0Z2J4 MN+=Y[:5)>J]9%)3"9(77969,_E.UF92OB\!*Q7>DDM ^658J!36HKNA7V7OE M;8%H:B2X"ND3QM)Q*J6-4E\U ME\>?A'&7973Q!,IH4JN">2[.0P-MF;RL%X M8IO#).9PLQR.KF5E+AT>$'LAVUU5R&D"&EDK9^V876OF,F>O$$<."1F+NA4S$ADI M7DT)"N6L1:Q8BUI<@?.>:T74/B/US%5T$5%<552A6A>I78R:5"I<+A73Z,&I M8K"\'(L1#J=+Q&\@M[T9 MSJ:LRTY!>V;U@9E(%6PUK++Q*.F-E?>DVRHUG^W,J<3.NLF,:%2:+RS@;7/4 MSMQ<<7YYS$;]*J+9O5RX[M?0QQ3W> 7-W+;_5@UEQ3RT5PY,UTCO$>)) G&^ M1KN3BFNX4(_N4XHQO$BJ^-HT'K\(Q\%E:@:1.%T7YHC(HT3R'REC$BI7RPTF M;!>'<;)S"4-.<"KJFXSJ9C8KJS3(,7*.WTW;/D!\#C&8G203OL(@O#C',-PQ MZY X6STS/4@-IWJ[40(7I+(<2 YS6S/A&G$L_39WHKX7K*YR49O=\XIVO&KW M)N[7[G%_Z]V#NF>]YUT[] 9).[[V1>5!-VR00MZ SL<^HX;-C?"6/-T5S3VB MMAW@Q%6XZZ9%$EM(9;*'BWA/:%YJ"G>P)X;#V,V3Q'IWN9XGH0:7[$,"^RRA M?!\=Q'H$Z;=ICHS>_U^Z;U F,AX7XM.HUKGNI&P^IVLYL>DWHT"W%%M7582M_I>XBZW M16HUKKZ+NO_\"Q8@ PE>.9&!0Q'R&ILLJ+\78Q*88Q!E<$&] +X%8YB,RKE,DJ#:, [9V*3@R#D2;I/83IYU#:8HHCW M@*FVK!E\'+9(FYK/>RM O+R"*TC$@YZLXC\ZE$#_3!5JK*>ZP#UYF6R<+> MZB&"F$?48C+< CNP\SHS/,/UJ_\RB'"'2$LGUNF\";%$\J+$6[DW=XO0,OLW MRFNWQT2%5.P(ZUDC?7.CY_' HB $[4"WJL$*/X@)\HH5#JTB%HV)@>-04)0) M!QRS:4*N94DNZD()5)B*J.01W P)IRP7EAL-GMP67[R(ZC-&UPC2+)E.)5$] M25-.DP1G(9KA38F@'8A@&7J#+K:,E:0-#0^U/\L,A\[-' MG.E'_B2(OPRFPGR60$2K=\.0EC@\A1L9SM0[+^*O[9*0O3NF4>4*3R55%,E0 MCC@'_F+_"NJZIA5R%!P5KP1-JVFQR*""2 %)36IB+L!#(^::FM#T5>_2)A9: MGOHJBJDH4BKY4>RDPNL$"FAHA.K3R8V@/7G933%ETRQ1THZX*^),#7G10;,L M%P.(UM3@5G#A4F:-$FT]+.NC"V7 %V^-C0LJTTRZ)(P2N@RRTMTCSW@MH2JS M3R9+U*G22V'CQYP:3+%3SUMJRRAKCP&5TR'Z+8;53T:U)?PPQ_,0%3=DJ(KL M#B\C)S?2KC*RKZRRO)1DR?^+-_MKV3<2"Y_J"3)BS=8TU@ <)T:C/]+4O[1Z M3$9ST=@5=UX,Z;ON=4UFPK;U#BGS0ALQ1@Q0(-ZS8A,*%OR M!(IR'5J@76[Y>V_];_*T*B:!<>X1U+@^T=UX4F0HM9DCA1\P%1G/#$U]%=_+HO4S7% MO].N7Z17@C'G>5Q,.VPCC27@U,?#>NK'6C6A7 M?S& &&CC5QOC-X8U.$:#,F[C-MY;='W:ZK/C.U8@1N)B?;F!YYT$+VZ$5^MC M0 : +-72NE%;ND"L:R6,/_F6/.ZUT.(Y&6L3G_,DXU@9XQS'+,R4 M 05<&R+< %626-0:P]KJ.O_L1X@87+9\TYTBV%&QRUFB32FBX3W[Q'=#3%(D M"TVML^5I0);((O9*3++9869>T$*4.VA&1&E&H0LA&ARVPEPELRK2O'T[*M=: M614635?]V625%ISM/%C!0Q/AU-XM$*I08R/18CU.9'O6BTJ^9WT>C,;89\#J M"7\.:+906WD6DG=UM'_9"'7]D[W_6F20T-^% ;K,00[CX*PR59.50=]PQ0BA M"#NFHV# G*I]G&!_?%AZ#*N*!EJ64 FCF:"L^*2+9J33!YUVM3( M6Z8(I&:XTHI:"+F)H^>+T&B!YJBI(.NRYBB'GKVT-LI:;.M]?MN V5(1V2L1 M2QR.4 :9&\[ZR0BVB-Z,.-/E@ZB(ZE_9V(@#N.<%,A524>![?+9#W24J:VR/ M?N#)1;^2ED?MLZU9LD]\%+;:6;H<$I5L6X@K,;.X(^$T7L6XYN-YG-/[%\_;G2O[6 M]/MIJU[J#\YA]3DK80;5)**[K?;ES?/=5L5=C4P\ M*^I<>VMFQ(P>"@16/FP[$=4*U0[@$2QOC.#K^098P"[H+;]-\/_]L+78-"Q12K7H*[80I(=Z$W#D.7Z%&+W59P][QU)&5$>M1XGP M;#%\TZ_+3XBE;-RQ-EVF)8^NB$AM5 7VI0W/W-TRT)I&M .$VR9 MKSFC3%./R63ZZG@.Z_*>6C,7*+IHWV6GQ<;0[V=?C7J==N<$"B^WD8/^B;VZ M.;S.30#XH&[GS<'6M3J!PDQP0E[;XGU>&5&&Z?UDU/QTZ?*S=%B.]P_7&02. M< A/.LN5=/-;Z4,ET*4MO6#6KW*#\J'_7FXZ0^:7=5E)[.V7%/*1B6&2_,"9 MI-D%I-&2S"+891=)%69R!D+V]KS['V M/K6:K[[7-PT!SX@T'[GF[.\KJ4*95XM'*J U+\N)XL;.V:2( M4<)A6!EEW]N]^2CU6^#)G>6#[4^37K)Z%U#,KLL C>#\F"6,[:7^Q,N)*.V, MM:T"!OO8L4GH&E6%VWC'"YN7ET!@%DF_G]#=S>I3W^J2"&^,0.J"PT-IT4 H M9OD8?05#$U7+=.W"YUGC-BXBQKR@;N>D-9JF>#K1FWFQ_N2@=VNJD/;4=YS7 M0/W6CXOZ1M+8_Y?2G[CO8620C/&(;_>(<<\(/IG]/7&3B3;3.T^.C [HA;J% MC(W8@2^_E9[W0C='AIUWW++[47JJQ8UIC6WT6 9X>A0(W)0[<.X.S7MJN"M% M?2M>[W:[KU"A.1S9T3QX[[E#+CH)H_8)'3Y6D&=,@'@EL-# 5P0%%D1H4& J M@H4:*EP8T2%#A!0MOH*82F+!AP-'CB;_+"0TT%7%CRA'OK*U;R;- MFC9OSB0&8"?/GCY_ @TJ%"C.HD:/(DVJ="G3?4.?0HTJ=2K5JE:K3FI:5,S5 MKEZ_@@U;5>M296+/HDT;-!/9F6C4PHTKUZJ8MOMTSK6:U2Y3O #0& F-P?-H MIIXX><;_X%LSDZ9AFAA#9OS)<2;&E"$3>PP9FDW!>3_SY%Q3GZW2IFW5*IT: M]>G4KDV_9JU:=NF8K4^SMET;]V[:JVW!6@WK=JW@O%$/GPW.=?+5OXO/!OX\ M^G#GI:O+QIX<-N[7[12##[]4),R-)A6J/!]Q?<>0%ET1W$@(XBN5!UDB3"\P M_1UXM6Y[ '$TL+JF=>21 5XHIY[+V$47SN ML4?A1!%2]"%&^C%H(4CU;=AA108I*!!^'WT$T3#@F07:5.+QV*-BD^@8I)!I MB>?7D$=5>/LZT0I)/GJ4,7TY"6:654K:5HY4\ <;D387M_[3D33?P1(PR M9A)#3"9H<-53EYT-%IXRE45F662/:099GIK58].69R5FDSO6_98=;:89!QQM MNG&G6J*F,1I==-9)>BAKA79W**6-(CH=;YA*NMUOS7$7&ZFG>9DJ>"]ZQ!"# M(Q'DXGX8OO(212B9.&&$YVV8D(@C)K2K>A0E^*I[?WS75"\P+H1K1"[JAY"S M)-6W7HG!4K21KO8AF!)$^/V!7[7_+62@>@6]I"*PP5)KK'L/L?M1>$9NJ:J] M]\YDP)_['LF6>/KR&["0@:8*IL '(Z:8E@@S'):86M%KY<.I:OGF39Y)51=. M9.[$(YZ5@5*99H\-([*=>I:LR4T-Z_]U4R^T+7<;I)6".ENAF,8FFZ>5^J:S MI82:IHW-B%KZ#<]#WQ;3=#GG;"G2B2:+K]1(+420N#1:>ZRP);U;*[KG7YV"J(5?O:]8@UEJO0C4T-HZ[:S0HTK7L:>:A0@A)]I"M'%O9:-]_6RETM MVF?'6';7XL(Z;+$AN1/>)P%/73F/$;.<.54$AV>PYI]?1EKCSZ-=*:?DL\=^(=:GOY-@5,[H]<@<3TX M?*PB&'^$=L/_!+;^'6[8XD#TJ8@^Z[J(@^#FN W9#R'SDU7^:'4N^L#K;*^* M7XRP-I)T*1!K\2,(*AS2OZJY@G]K6\^$4E&+(E%.?2HDRUN,Y\*>($\\&'LA M#?^"+]35,$C_RF'J1,<7S$%)=DRJ6&!X^W/3L.-\3(ZFH MI\;MR8QZD5NA^FY5H(/@+3\*P9^M5D*CQ!7$#^P:6T0U:">0:V0X' MMG,\R'T:; G:S)8WEP0+DJVR7ZS.-L(-8B1P8=/?N2YBHO:\#X&T_SI(#/E2 M/"OQ,9=+X:'J--8C+?*295RD6#!!(T2MW+*8 O.E79()I=<5C"?,M D4:;(P MI?!D!3ZZXA53%IG> :^6+2SF-/TUP MC4BKF:*ZITYW MVJ9IFW)-S%J3*-T8!QS7>UZI3*/+](6(1"9YY".?E="L61)_?[3D*(4UN$,F M,$8(S,C;F+(LMD4P?[LJB?M8J3<5D8<\N +@VCXXP?6PE%D96A%Y0/0K2ZY' M)BCDUT%[6A1G*I-?PQ0/[8*:N M4XUB8RJC)N%]S#(?HTS):@FDH-YN)B\[3:#SM/>HFY7Q>LS1GCS524]*<0][ MZ

I\"WJ=.CA78DM_V7(LB!@H4L'%!Y#2 M,N5C9=01\[BBHTN)6]HDTB%XO?0E(92I0S'*KEY=Z%R#DU5*:M6Y?B!TN33S75.&JZK@-JZ6]H*'A)K92:3IRDRII9%+29S[PG7,?J,-WZ5J]/P&M],10\[83SC M8!M%6#'N%:[P%"QQMJ.\XJ2F@,2U%RM56:Y2=NNAME6((C7+'A3Y+5KVD<^* M%&NU@KA/PRN:GZMP&V&"*'BTK)5@A-MF2I!ZEK*=;)N[(%LA5 8K6EQ;8$(9 MM\C]S(TC/MPI,V.E2%TEI]1$PDWRD(4_MK$ZVBC:9A.0I?V;);6GRD:+: M(]1I>1\8N\DUC0)F)GT5O< +:YYJ.<-B#C6/!(;C>WFFW^<,-+[, V-;Q>=. MZYG/47^U9T$-M>="G^:P1E95 /.F6O9!&,(HG2A$/3(_\YP6MO^4%=%-$U)! M^ VR0#A-L5(@I,"_M2L5?KNI0TIJH:NQ!Y*F'=%&18+:%5E$;N9"I=T*J1%7 M*DC5+S:'CX":I$4/]\I8SDN8>S3.92M9A6^&]E"8*QYE4QLMS48F=J=V5>[F MKB:HP^I,MNLC?;#9JY"A3&,^T=7'X$ZIY?1BS5ZA/##*3+]V!6-JR%@:Y3'* M4X2JHRV4=ZHYUCF,8@RLT?)+M.H=.%.IB1JRF=0NA:[2)//#L2AEO2["??RR M'7*6XE[,.,TR")/*"ANM= 5I68KTM-0"-013"7*;V[3%W(I72#X=3Q__"KFO/76X1+TO4)V:5L-=DS'C!&-0 M+F["O#2GQ@!/BFI>LG*7[ Y!QU$ZZ*Q%Q .-&^P$MC=B9"> _&O3H7GH/)]T%4<&M9[>R-=:KG(4U 5I>71;\."7G5B."B%8I[2 0 M)UE<6YS35B%X*XE^=+4M&,V(Q"363ZUQ#HEUTNYM%GAC@,#RQ/L3H M]&X]N=N;>5J&GY3+W';(<WR8JS .KBYV0EW#9D"A@ M3ST;]7D%^"U&-C57 MNI5,)H!39:@?\3Q7E=E$+PR:J !'Q.43;;P1<90//0W-O6F/?:G30 G8W1F: MGJ%1PB&8/-D3J04A>!02UI14Z8F(IEG0)+T/W8/BFG% MLJ1-2*62K6&B9#W4!\'2K>D>KN'4C$G@JJG>CWG-"SJ6)Q8$T1$33]D5HBX] M'Q1*A1/BR_+I8L8<&?7QXA!1R2]"Q3 V4[=5#NT,D_>M#$\@CY%(85/,R9U8 MX^]D0LE\WW.%WTV$PZ@ XO.T%7/8$Z'EX:%%QQM23Y[YH=&03\+5DSB"X_W= MGZ+=8GA(F-BD(L_%E..54@+]G #%G$0X&*S47B29!WV@0N@EQ4>A(GXXDD-% M7@K27&Y)H$D4S@C)"G]DS=Y@8-Y 9&/QW+O0!R%>H2W>(Q\I@R\:8T_$@!.M M$$NV)%!,H[T,8;;5)%^LUTR6G0]N7>4LS#2!75'X!<%@_XP2*$V@D3WLZ9G E2\"8Q<,8,(:-X1(,4 M]0Z[J9U9.5ETV2$=0D< NA4>RF'\W=4X(II>P56B;$>?R9W=P=6]3271K,9H MXF.0E42%O8BGF52P3,LKI:%>D''$"*H80%+$SJEEUW@BCFF0 MSRE4XQ7$I\$@!<$G*@Y.0N9@!ZV$218=2I*G"JWD:NY$# QG;%KH3V!HQ3VE M^^F2:B+A#R0B(VV>KY"8 MX[TB0:I48'Z6C7G@#K(-13(2A!H%)YI@F<;@2-&/ ''I@D 0G+9B*$XFY&W0 MQF%FC/7E10V2+3RIJGPH$$(I'V5",1JC[1C93O+DBU:.3!K5#?B4,DQ?ML4 M;)J=,J;_SPRUYE%4*!=6CN^8WV6@7678!!-2UY)Y43N1Y6S0USJ!95T!*3OI MAAUUIZS:*AC%#';084'!8W$49J$NA46VHIB^CTA,RY4R8(&06)<^7@32VJY( ME.\A*T$&JU'$S4&0'B!1'OV VJT5!$?6:4CL3:=M4F7J37MV34&FIR=YD$'X M6"$ JN6<*&@(J_,I$10ZJKTH Z(FZK[2ZY2Q*%!6ZI0IZM34ZV<,K(^\&:8> MQ1!VJME]4YV Y[[YJ/.4 M[,KV5WW)&3CKI(RAF5N.T4BP*_P0$AII[7&M1 MG(,F*:B%94M_)H2LH)2>_DJS.JA $,A]4!C:!!! .LNDJ4WG)11!\$*@XHMM M0LG,YA(Q0"J6':SBY2+U,=%HBF@P12P?04/!*M<-9"AP:6KZ0,.;W4#6H8&_ MWJW$4NPU9H*;01MSK>KS+"F!30_YO.'&>@]!=0<;:D^M)@HZ+@UN-!P?"ES$ M@8K9JBW5S(VV-,ZY,N FK4BX-%(,>APE'2@E6A+@>"3=B.TKX*=2E"#0H7O/=AY-&O=-.OS>NG7Q,19!JR$GJX*U:V3S>TM9@*C M*ET,+&S%H:K=6E?%?2^UV4Z):BB_C+.O] &%&"QN%DT"HP)L6P!/[ZC)^:D7 MM3DND/HJRTXG ,\9/07QA;*=D0*K]J"]68O4GSMT9XBRKGI MAY3$U>;:2\$2I=U6Y3F6S"EF9XFDK;D"FA;%LGS:A>QN:<'(YX4:EZJGN>9< M8O)<267I?&(IGRY$+?1" JJDT57P"E%JVRJ3&#AL$%+JU-E.WQ9B)BBQYJ ! M^RI>/4Q"%==0#*"!%&>JZ^ B%_L$B?_JDCZ(H;NIW>XP+K7AA,8*7O2XD^7N M50#37?-XY>#IL?[EF7/ @CLBQP/7F1W]%Z8<<5-,*;P.R]FXW.G!A"-#7@:E M(+'TC=[\#^.HH"+#BX]MH.H!4M+BQ.^.*]A@6O.NQ*G=% :)JR//KK?JUO_( M*8U]($$N5(S8PC"X@^FJ4,+FQ2$?E#),@MX:C_B",?$1P_8:E?SZ\CXH S(W MC#)/:"8(,^C(;S&;Z$^.<57<0!.GSYYD@AIK EC-;TV +W4-U:JZ$7X)7.:R MZAZBX]!HYW[-:ECV7=QE1U46:6DL\["*Y P?+2R3B"SUL+DJ;\[:&.MV8-"> MXJSH#RC?A*G_^?//UHJRVIP&RLBOQ!3UOJ"Q[F.T@HA BI0M\,(Y$(,N'Q3: M/LD^]Q0PBP$9,XS\Z_5>QS5>:P\OM$,O M#(-@]X(RT ,]G*\Q']%B(U%C,_9C.W9D0_9D2W9DH_5P 7-.:\X*W !,7_:7 MU*]+[TL,B,%.6_,1SPD:B/9V M:\O))+#)8HO!)&1"8B,6&J<=%K5?^$ZU'-DA519<=:ZS X/E7WDLT]QJ62ZI M(OW>)-W>2^S,LQ),!_1:G]%8P.W&!JW>=<$>@-W;+,W7+AW M;OOV7\[QLX>DSA+OXB\-XC,LXO_XF M@]LX<./XC>MXCK\WFJ#WC#?3;ZX)C^]XD1/YD3.X&/(FD,L)FACYD_/XXIK) M:>_W;R+YE1>YDD\YDW/YO9_[^9\#>J +^J 3NIR87YVPGWGD<@":6 M\-YY+( ]#_.\UV_D>:&+^JB3>JF;^JFC>JJK__JJ M)\4RU F[Z<-RC_E-T!L[.SH]4P>^Y16OP\:K=O?*(C"0WANC ML+"TJ_NZLWN[N_N[PWN\B_?9'?HS$F&8W2%TZQMK /+DQF->Q;,_A;M8BZV/N(%L7; 5:GZ-V= M8_=UAGCEDCO!'=B=#7S!7^>@"?7-0WW42_W44V!]U5M]^BA#F\DZ$JI 49#& MB(LE ',[G(.1OS<*B@N]'K_L;"#[U;O]V\-]W,O]W,<\-#RURFP]%#IAAK?3 M<]3=J.@5]N#SOMM5RNI&X0UR/'?/6#^6S?NN[_NO#?NQ/L9C/)+D]KJQF M=<*]43CZ$^DS\.=R!\BJ_<^#M^P;__$C?_(K__+;A:M;NVEV**/+QO^U+)'R MJ/RY[*9;.IXQ,'6/)?.#?_B+__B3/^4SUX8ZX>W_OE;NS#A"L%6'RMF3^SMJ M+CW%#)V7!K&5__[S?_\#Q#Z! PD6-'@084*%"QDV=/@08D2)$RE6M'@18T:- M&SEV]/@19$B. $B6-'D294J5*UFV=/D2IDHQ"<_5LF7+ILV;.&W!VIGSIC:> M-W46A:63Z,Z;KW[R1)KTIL^BMI@"H56*4VK3H4RC*M4I$FQ8L6/)EC5[%FU: MM6O9MG7[%FYO7O5QO3[%W!@P2MO+$/H[BK6ID^'+M4*SFOD MH8R3(LT).;%7<%9WI.<'Q)ES9]&G5JU:M9MW;]&G9LV;-IUU9]8W!N MW;MY9Z)9Z^CBQ$\M2YX:>J=/IU>)5W:N_.HWK<.;\K)]'7MV[=NY=_?^'7QX M\>/)_Y<_&(-W>O7K6'%P_['!'.R7*E M%+_(,$,NQ:YVZF758HT]%MEDE5V66;!:?15:'Q]]3T2>_.MU13S!H:_:X^CC M+"L3A;-%U&;-/1?==-5=E_K=+GF,%E[V)E$(,6!QVFRY6^<#UE)=,^OUJ?VD M=*?=@@T^&.&$%5ZXM'?C?7@W-NGU-[/(_+O4*VR#.TY*7 LFNBBRU2TY:0% M\TU(F265U.;AL*TVV#E[PA4ZH[7>FNNNO?Z:NV>5'CLF&#:,6<#&\,N)VZ:X MY?C7JR"K(3*X<]Y.FA;3CG2"_E;/-],P,5+EQ*K?VY)5?GOGF!_T[]^A+0N-U-W7.U5X\ M\[L>*KN=_Q[\\,4?_\'-I8\^#9@5@D\K3[7*AO'X%@\-J>K)OQ___/7??[4S MSY<>#3];G\SJ]).I]8LQBE,*MY#'/P<^$((1E.!8H &X_W%N=[Q;H+BFQ)^V MGT""WNR#N/L<0>M1D5S.[$YV(E4<(@$I5:(0^<1^993C'.E81V7Y#XTL!)T+"7C$)KW- M%MZSXR )64A#$@H->) MEQ3E*$E92O&(39.=R\0>7>B.6C5&D*:4Y2QI64O71#&5@;N!&AOBC@Z=0X"V M%.8PB6-93+DD,I85SG9V4YWVA*9Z P\Y"96($\D\9)?/X3H $= M8R9^R$]H30(: E7H0AE@JL-ZQ-.@:F)D0RE:48M&,!.9C.AZ_'E1CWX4I."# MQCDWJIYPAA2E*55I[93AS9("AHJL7.E,:5K3O1'#I2]E24QMVE.?_O1KQ("H M3DW"4Z >%:E)#9HR,DK4DRH5JE&5>:K(,B$&C2HR!I.0Z52YVE6OJDNH5Y7> M#= @Q*^>%:UI918QJBK6I,4 #:M4ZUSI6E=DL742!8U7#.!*C*W:%;"!%2RI M\(J&&.CU0H>=1%G_.EC'/A:RAU*&7R>QV$D<%K,WR.QF-2L&-"PV$WYM;&1) A6UK3GA:UJ546[6I9VUK7OA:VL97M;&E;6]O>UDL! 0 [ end XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Cover - shares
3 Months Ended
Mar. 31, 2024
May 01, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Commission File Number 000-10436  
Entity Registrant Name L.B. Foster Company  
Entity Incorporation, State or Country Code PA  
Entity Tax Identification Number 25-1324733  
Entity Address, Street Name 415 Holiday Drive  
Entity Address, Suite Suite 100  
Entity Address, City Pittsburgh  
Entity Address, State PA  
Entity Address, Postal Zip Code 15220  
City Area Code 412  
Local Phone Number 928-3400  
Title of 12(b) Security Common Stock, par value $0.01  
Trading Symbol FSTR  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding (in shares)   10,963,711
Amendment Flag false  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Entity Central Index Key 0000352825  
Current Fiscal Year End Date --12-31  

XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 3,148 $ 2,560
Accounts receivable - net (Note 5) 57,871 53,484
Contract assets - net (Note 3) 24,141 29,489
Inventories - net (Note 6) 85,761 73,496
Other current assets 12,063 8,961
Total current assets 182,984 167,990
Property, plant, and equipment - net 76,133 75,999
Operating lease right-of-use assets - net 14,098 14,905
Other assets:    
Goodwill (Note 4) 31,995 32,587
Other intangibles - net (Note 4) 18,198 19,010
Other assets 2,993 2,715
TOTAL ASSETS 326,401 313,206
Current liabilities:    
Accounts payable 43,368 40,305
Deferred revenue (Note 3) 11,458 12,479
Accrued payroll and employee benefits 5,340 16,978
Current portion of accrued settlement (Note 13) 8,000 8,000
Current maturities of long-term debt (Note 7) 159 102
Other accrued liabilities 15,856 17,442
Total current liabilities 84,181 95,306
Long-term debt (Note 7) 77,926 55,171
Deferred tax liabilities (Note 9) 1,191 1,232
Long-term operating lease liabilities 11,178 11,865
Other long-term liabilities 6,648 6,797
Stockholders’ equity:    
Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at March 31, 2024 and December 31, 2023, 11,115,779; shares outstanding at March 31, 2024 and December 31, 2023, 10,789,231 and 10,733,935, respectively 111 111
Paid-in capital 41,866 43,111
Retained earnings 129,069 124,633
Treasury stock - at cost, 326,548 and 381,844 common stock shares at March 31, 2024 and December 31, 2023, respectively (5,829) (6,494)
Accumulated other comprehensive loss (20,616) (19,250)
Total L.B. Foster Company stockholders’ equity 144,601 142,111
Noncontrolling interest 676 724
Total stockholders’ equity 145,277 142,835
TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY $ 326,401 $ 313,206
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Mar. 31, 2024
Dec. 31, 2023
Statement of Financial Position [Abstract]    
Common stock, par value (in USD per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 20,000,000 20,000,000
Common stock, shares issued (in shares) 11,115,779 11,115,779
Common stock, shares outstanding (in shares) 10,789,231 10,733,935
Treasury stock shares - at cost, common stock (in shares) 326,548 381,844
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Total net sales $ 124,320 $ 115,488
Total cost of sales 98,071 92,197
Gross profit 26,249 23,291
Selling and administrative expenses 22,749 21,423
Amortization expense 1,217 1,365
Operating profit 2,283 503
Interest expense - net 1,125 1,388
Other (income) expense - net (3,536) 1,827
Income (loss) before income taxes 4,694 (2,712)
Income tax expense (benefit) 289 (541)
Net income (loss) 4,405 (2,171)
Net loss attributable to noncontrolling interest (31) (19)
Net income (loss) attributable to L.B. Foster Company $ 4,436 $ (2,152)
Per share data attributable to L.B. Foster shareholders:    
Basic earnings (loss) per common share (in USD per share) $ 0.41 $ (0.20)
Diluted earnings (loss) per common share (in USD per share) $ 0.40 $ (0.20)
Basic weighted average shares outstanding (in shares) 10,762 10,792
Diluted weighted average shares outstanding (in shares) 10,985 10,792
Sales of goods    
Total net sales $ 104,463 $ 98,538
Total cost of sales 81,469 78,065
Sales of services    
Total net sales 19,857 16,950
Total cost of sales $ 16,602 $ 14,132
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net income (loss) $ 4,405 $ (2,171)
Other comprehensive (loss) income, net of tax:    
Foreign currency translation adjustment (1,497) 1,247
Unrealized gain (loss) on cash flow hedges, net of tax expense of $0 106 (418)
Reclassification of pension liability adjustments to earnings, net of tax expense of $4 and $2, respectively [1] 25 40
Total comprehensive income (loss) 3,039 (1,302)
Less comprehensive (loss) income attributable to noncontrolling interest:    
Net loss attributable to noncontrolling interest (31) (19)
Foreign currency translation adjustment (17) 4
Amounts attributable to noncontrolling interest (48) (15)
Comprehensive income (loss) attributable to L.B. Foster Company $ 3,087 $ (1,287)
[1] Reclassifications out of “Accumulated other comprehensive loss” for pension obligations are charged to “Selling and administrative expenses” within the Condensed Consolidated Statements of Operations.
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Unrealized gain on cash flow hedge, tax $ 0 $ 0
Reclassification of pension liability adjustments to earnings, tax $ 4 $ 2
XML 18 R7.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 (loss) $ 4,405 $ (2,171)
Adjustments to reconcile net income (loss) to cash used in operating activities:    
Deferred income taxes (41) (1,233)
Depreciation 2,374 2,505
Amortization 1,217 1,365
Equity in income of nonconsolidated investments 0 (17)
Gain on sales and disposals of property, plant, and equipment (3,574) (14)
Stock-based compensation 1,033  
Loss on asset divestitures 0 2,033
Change in operating assets and liabilities:    
Accounts receivable (4,042) 26,239
Contract assets 5,136 (860)
Inventories (12,371) (15,564)
Other current assets (3,012) (791)
Other noncurrent assets 425 (1,439)
Accounts payable 2,395 4,921
Deferred revenue (1,008) (707)
Accrued payroll and employee benefits (11,599) (6,386)
Other current liabilities (1,807) (2,981)
Other long-term liabilities (1,395) 1,148
Net cash (used in) provided by operating activities (21,864) 6,932
CASH FLOWS FROM INVESTING ACTIVITIES:    
Proceeds from the sale of property, plant, and equipment 3,501 16
Capital expenditures on property, plant, and equipment (2,292) (699)
Proceeds from business dispositions 0 5,344
Net cash provided by investing activities 1,209 4,661
CASH FLOWS FROM FINANCING ACTIVITIES:    
Repayments of debt (55,835) (55,133)
Proceeds from debt 78,746 43,086
Treasury stock acquisitions (1,613) (309)
Investment of noncontrolling interest 0 334
Net cash provided by (used in) financing activities 21,298 (12,022)
Effect of exchange rate changes on cash and cash equivalents (55) 186
Net increase (decrease) in cash and cash equivalents 588 (243)
Cash and cash equivalents at beginning of period 2,560 2,882
Cash and cash equivalents at end of period 3,148 2,639
Supplemental disclosure of cash flow information:    
Interest paid 992 1,425
Income taxes paid (received) $ 303 $ (1,564)
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Paid-in Capital
Retained Earnings
Treasury Stock
Accumulated Other Comprehensive Loss
Noncontrolling Interest
Beginning balance at Dec. 31, 2022 $ 137,598 $ 111 $ 41,303 $ 123,169 $ (6,240) $ (21,165) $ 420
Increase (Decrease) in Stockholders' Equity              
Net income (loss) (2,171)     (2,152)     (19)
Other comprehensive income, net of tax:              
Pension liability adjustment 40         40  
Foreign currency translation adjustment 1,251         1,247 4
Unrealized derivative gain on cash flow hedges (418)         (418)  
Issuance of common shares, net of share withheld for taxes (170)   (1,236)   1,066    
Stock-based compensation 884   884        
Ending balance at Mar. 31, 2023 137,014 111 40,951 121,017 (5,174) (20,296) 405
Beginning balance at Dec. 31, 2023 142,835 111 43,111 124,633 (6,494) (19,250) 724
Increase (Decrease) in Stockholders' Equity              
Net income (loss) 4,405     4,436     (31)
Other comprehensive income, net of tax:              
Pension liability adjustment 25         25  
Foreign currency translation adjustment (1,514)         (1,497) (17)
Unrealized derivative gain on cash flow hedges 106         106  
Purchase of common shares for treasury (385)       (385)    
Issuance of common shares, net of share withheld for taxes (1,228)   (2,278)   1,050    
Stock-based compensation 1,033   1,033        
Ending balance at Mar. 31, 2024 $ 145,277 $ 111 $ 41,866 $ 129,069 $ (5,829) $ (20,616) $ 676
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (Parenthetical) - shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Stockholders' Equity [Abstract]    
Purchase of common shares for treasury (in shares) 16,555  
Common shares issues net of shares withheld (in shares) 71,851 32,884
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of Presentation
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Basis of Presentation Basis of PresentationThe accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company’s Annual Report on Form 10-K for the year ended December 31, 2023. In this Quarterly Report on Form 10-Q, references to “we,” “us,” “our,” and the “Company” refer collectively to L.B. Foster Company and its consolidated subsidiaries.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Segments
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Business Segments Business Segments
The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company’s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company’s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company’s segment accounting policies are described in Note 2 Business Segments of the Notes to the Company’s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December 31, 2023.

The Company is organized and operates in two reporting segments: Rail, Technologies, and Services (“Rail”), and Infrastructure Solutions (“Infrastructure”). Effective for the quarter and year ended December 31, 2023, the Company made certain organizational changes that led to the conclusion that it will operate under two reporting segments as opposed to the three reporting segments it has operated under historically. As such, the Company has restated segment information for the historical periods presented herein to conform to the current presentation. The Infrastructure Solutions business comprises both the historic Precast Concrete Products and Steel Products and Measurement (since renamed “Steel Products”) reporting segments.

The operating results of the Company’s reportable segments were as follows for the periods presented:
Three Months Ended
March 31, 2024
Three Months Ended
March 31, 2023
Net SalesSegment Operating Profit (Loss)Net SalesSegment Operating Profit (Loss)
Rail, Technologies, and Services$82,623 $6,778 $64,384 $2,388 
Infrastructure Solutions41,697 (1,393)51,104 (356)
Total$124,320 $5,385 $115,488 $2,032 

Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments.

The following table demonstrates a reconciliation of reportable segment net profit to the Company’s consolidated total for the periods presented:
Three Months Ended
March 31,
20242023
Operating profit for reportable segments$5,385 $2,032 
Interest expense - net(1,125)(1,388)
Other income (expense) - net3,536 (1,827)
Unallocated corporate expenses and other unallocated charges(3,102)(1,529)
Income (loss) before income taxes$4,694 $(2,712)

The following table illustrates assets of the Company by reportable segment for the periods presented:
March 31,
2024
December 31,
2023
Rail, Technologies, and Services$167,565 $157,023 
Infrastructure Solutions129,852 130,667 
Unallocated corporate assets28,984 25,516 
Total$326,401 $313,206 

On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC (“Chemtec”) business for $5,344 in proceeds generating a $2,065 loss on sale, recorded in “Other (income) expense - net” for the three months ended March 31, 2023. The Chemtec business was reported in the Steel Products business unit in the Infrastructure segment.

On June 30, 2023, the Company sold substantially all the operating assets of the prestressed concrete railroad tie business operated by its wholly-owned subsidiary, CXT Incorporated (“Ties”), located in Spokane, WA, for $2,362 in proceeds, generating a $1,009 loss on the sale, which was recorded in “Other expense (income) - net” for the three months ended June 30, 2023. The Ties business was reported in the Rail Products business unit within the Rail segment.

On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (“Bridge Exit”) which was reported in the Steel Products business unit within the Infrastructure segment. The decision to exit the bridge grid deck product line was a result of a weak bridge grid deck market condition and outlook due to customer adoption of newer technologies replacing the grid deck solution. The Bedford, PA based operations supporting the product line expects to complete any remaining customer obligations during 2024. For the three months ended March 31, 2024 and 2023, the product line had $810 and $1,491 in sales, respectively. During the three months ended March 31, 2024, the Company incurred $73 of exit costs recorded in “Other (income) expense - net,” all of which were personnel expenses. The Company expects to incur an additional $111 of personnel expenses associated with the exit through 2024. Cumulatively, the Company has incurred a total of $1,476 in exit costs for the Bridge Exit, which included $474 in inventory write-downs, $740 in personnel expenses, and $262 in other exit costs.

On November 17, 2023, the Company acquired the operating assets of Cougar Mountain Precast, LLC (“Cougar”), located in Caldwell, Idaho, which is a licensed manufacturer of Redi-Rock and natural concrete products for $1,644, subject to hold back payments, to be paid over the next twelve months or utilized to satisfy post-close working capital adjustments or indemnity claims. Cougar has been included in the Precast Concrete Products business unit within the Infrastructure segment.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
The following table summarizes the Company’s sales by major product and service line for the periods presented:
Three Months Ended
March 31,
20242023
Rail Products$53,038 $40,228 
Global Friction Management14,022 15,820 
Technology Services and Solutions15,563 8,336 
Rail, Technologies, and Services82,623 64,384 
Precast Concrete Products21,091 24,288 
Steel Products20,606 26,816 
Infrastructure Solutions41,697 51,104 
Total net sales$124,320 $115,488 

The majority of the Company’s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.

Net sales by the timing of the transfer of goods and services was as follows for the periods presented:
Three Months Ended March 31, 2024
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Point in time$65,539 $29,657 $95,196 
Over time17,084 12,040 29,124 
Total net sales$82,623 $41,697 $124,320 
Three Months Ended March 31, 2023
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Point in time$53,834 $29,128 $82,962 
Over time10,550 21,976 32,526 
Total net sales$64,384 $51,104 $115,488 

The Company’s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects and custom precision metering systems within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts the Company’s performance to date under the terms of the contract, or an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement.

Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract. As a result of management's reviews of contract-related estimates the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. During the three months ended March 31, 2024, reductions to net sales stemming from changes in actual and expected values of certain commercial contracts and settlements of such contracts were immaterial. Such adjustments were $393 during the three months ended March 31, 2023. The Company’s estimates related to these long-term agreements are further described in Note 4 Revenue of the Notes to the Company’s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December 31, 2023.
Revenue recognized over time was as follows for the periods presented:
Three Months Ended
March 31,
Percentage of Total Net Sales
Three Months Ended March 31,
2024202320242023
Over time input method$13,143 $16,211 10.6 %14.0 %
Over time output method15,981 16,315 12.9 14.1 
Total over time sales$29,124 $32,526 23.4 %28.2 %

The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in “Contract assets - net”), and billings in excess of costs (contract liabilities), included in “Deferred revenue” within the Condensed Consolidated Balance Sheets.

The following table sets forth the Company’s contract assets:
Contract Assets
Balance as of December 31, 2023$29,489 
Net additions to contract assets4,212 
Transfers from contract asset balance to accounts receivable (9,560)
Balance as of March 31, 2024
$24,141 

The following table sets forth the Company’s contract liabilities:
Contract Liabilities
Balance as of December 31, 2023$2,189 
Revenue recognized from contract liabilities(1,467)
Increase in billings in excess of cost, excluding revenue recognized 1,850 
Other adjustments317 
Balance as of March 31, 2024
$2,889 

The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets.

As of March 31, 2024, the Company had approximately $222,261 of remaining performance obligations, which is also referred to as backlog. Approximately 10.5% of the March 31, 2024 backlog was related to projects that are anticipated to extend beyond March 31, 2025.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Other Intangible Assets Goodwill and Other Intangible Assets
The following table presents the changes in goodwill balance by reportable segment for the period presented:
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Balance as of December 31, 2023$20,466 $12,121 $32,587 
Cougar purchase accounting adjustment— (445)(445)
Foreign currency translation impact(147)— (147)
Balance as of March 31, 2024$20,319 $11,676 $31,995 

On November 17, 2023, the Company acquired Cougar Mountain Precast, LLC., for which all purchase accounting adjustments were finalized as of March 31, 2024. Purchase accounting finalization during the three months ended March 31, 2024 included adjustments to record $429 of gross intangible assets for customer relationships with a weighted average amortization period of 5 years.

The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and
other inflationary costs. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of March 31, 2024. However, future impairment charges could result if future projections diverge unfavorably from current expectations.

The following table sets forth the components of the Company’s intangible assets for the periods presented:
March 31, 2024
Weighted Average
Amortization
Period In Years
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Amount
Patents10$328 $(203)$125 
Customer relationships1628,048 (17,903)10,145 
Trademarks and trade names157,979 (4,755)3,224 
Technology932,632 (28,164)4,468 
Favorable lease6327 (91)236 
$69,314 $(51,116)$18,198 
December 31, 2023
Weighted Average
Amortization
Period In Years
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Amount
Patents10$335 $(199)$136 
Customer relationships1627,712 (17,236)10,476 
Trademarks and trade names167,989 (4,593)3,396 
Technology932,658 (27,906)4,752 
Favorable lease6327 (77)250 
$69,021 $(50,011)$19,010 
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable
3 Months Ended
Mar. 31, 2024
Accounts Receivable Additional Disclosures [Abstract]  
Accounts Receivable Accounts Receivable
Changes in reserves for uncollectible accounts are recorded as part of “Selling and administrative expenses” in the Condensed Consolidated Statements of Operations, and an expense of $396 and $155 for the three months ended March 31, 2024 and 2023, respectively.

The Company established the allowance for credit losses by calculating the amount to reserve based on the age of a given trade receivable and considering historical collection patterns, bad debt expense experience, expected future trends of collections, current and expected market conditions, and any other relevant subjective adjustments as needed. Management maintains high-quality credit review practices and positive customer relationships that mitigate credit risks. The Company’s reserves are regularly reviewed and revised as necessary.

The following table sets forth the Company’s allowance for credit losses:
Allowance for Credit Losses
Balance as of December 31, 2023$809 
Current period provision396 
Write-off against allowance(35)
Balance as of March 31, 2024$1,170 
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventory
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Inventory Inventory
Inventory is valued at average cost or net realizable value, whichever is lower. The Company’s components of inventory are summarized in the following table for the periods presented:
March 31,
2024
December 31,
2023
Finished goods$57,550 $44,903 
Work-in-process1,432 4,675 
Raw materials26,779 23,918 
Inventories - net$85,761 $73,496 
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt and Related Matters
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Long-Term Debt and Related Matters Long-Term Debt and Related Matters
Long-term debt consisted of the following:
March 31,
2024
December 31,
2023
Revolving credit facility$77,497 $55,060 
Finance leases and financing agreements588 213 
Total78,085 55,273 
Less current maturities(159)(102)
Long-term portion$77,926 $55,171 

On August 13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the “Borrowers”), entered into the Fourth Amended and Restated Credit Agreement (the “Credit Agreement”) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August 13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement’s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the Company’s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions. On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (the “Second Amendment”) which added an additional tier to the pricing grid and provided for the conversion from LIBOR-based to SOFR-based borrowings.

Borrowings under the Credit Agreement, as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company’s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company’s consolidated EBITDA, which must not exceed (i) 3.25 to 1.00 for all testing periods other than during an Acquisition Period (as defined in the Credit Agreement), and (ii) 3.50 to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company’s consolidated EBITDA divided by the Company’s Fixed Charges (as defined in the Credit Agreement), which must be more than 1.05 to 1.00. As of March 31, 2024, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $2,432.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Common Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Earnings Per Common Share Earnings Per Common Share
(Share amounts in thousands)

The following table sets forth the computation of basic and diluted earnings (loss) per common share for the periods indicated:
Three Months Ended
March 31,
20242023
Numerator for basic and diluted earnings (loss) per common share:
Net income (loss) attributable to L.B. Foster Company$4,436 $(2,152)
Denominator:
Weighted average shares outstanding10,762 10,792 
Denominator for basic earnings (loss) per common share10,762 10,792 
Effect of dilutive securities:
Stock compensation plans223 — 
Dilutive potential common shares223 — 
Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding10,985 10,792 
Basic earnings (loss) per common share$0.41 $(0.20)
Diluted earnings (loss) per common share$0.40 $(0.20)

There were 0 and 101 anti-dilutive shares for the three months ended March 31, 2024 and March 31, 2023, respectively.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
For the three months ended March 31, 2024 and 2023, the Company recorded an income tax expense of $289 on pre-tax income of $4,694 and an income tax benefit of $541 on pre-tax losses of $2,712, respectively, for an effective income tax rate of 6.2% and 19.9%, respectively. The Company's effective income tax rate for the three months ended March 31, 2024 differed from the federal statutory rate of 21% primarily due to the realization of a portion of its U.S. deferred tax assets previously offset by a valuation allowance. The Company continues to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement, Noncash Expense [Abstract]  
Stock-Based Compensation Stock-Based Compensation
The Company recorded stock-based compensation expense of $1,033 and $884 for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, unrecognized compensation expense for awards that the Company expects to vest approximated $4,711. The Company will recognize this unrecognized compensation expense over the upcoming 1.9 years through March 1, 2026.

As of March 31, 2024, the Company had stock awards issued pursuant to the 2022 Equity and Incentive Compensation Plan (the "Equity and Incentive Plan") and its predecessor, the 2006 Omnibus Incentive Compensation Plan (the "Omnibus Plan"). No stock options are outstanding under either the Omnibus Plan or Equity and Incentive Plan and, as such, there was no stock-based compensation expense related to stock options recorded for the March 31, 2024 and 2023.

Non-Employee Director Fully-Vested and Restricted Stock Awards
Since May 2018, non-employee directors have been awarded shares of the Company’s common stock on each date the non-employee directors were elected at the annual shareholders’ meeting to serve as directors, subject to a one-year vesting requirement. The Deferred Compensation Plan for Non-Employee Directors under the Omnibus Plan and, by amendment, under the Equity and Incentive Compensation Plan, which permits non-employee directors of the Company to defer receipt of earned cash and/or stock compensation for service on the Board into deferred stock units.

Restricted Stock and Performance-Based Stock and Share Units
Under the Equity and Incentive Compensation Plan and Omnibus Plan, the Company grants certain employees restricted stock and performance-based stock and share units. The forfeitable restricted stock awards granted generally time-vest ratably over a three-year period, unless indicated otherwise by the underlying restricted stock award agreement. Performance unit awards are offered annually under separate three-year long-term incentive programs, unless indicated otherwise by the underlying performance unit award agreement. Performance units are subject to forfeiture and will be converted into common stock based upon the Company’s performance relative to performance measures and conversion multiples as defined in the underlying program.
The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:
Restricted
Stock
Deferred
Stock Units
Performance-Based Stock
and Share Units
Weighted Average
Grant Date Fair Value
Outstanding as of December 31, 2023264,970 12,404 560,338 $14.10 
Granted13,064 — — 23.03 
Vested(103,286)— (19,782)13.92 
Adjustment for incentive awards expected to vest— — 110 11.63 
Cancelled and forfeited(1,000)— (437)11.62 
Outstanding as of March 31, 2024173,748 12,404 540,229 $13.81 
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The Company determines the fair value of assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants. The fair values are based on assumptions that market participants would use when pricing an asset or liability, including assumptions about risk and the risks inherent in valuation techniques and the inputs to valuations. The fair value hierarchy is based on whether the inputs to valuation techniques are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company’s own assumptions of what market participants would use. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below.

Level 1: Quoted market prices in active markets for identical assets or liabilities.
Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.
Level 3: Unobservable inputs that are not corroborated by market data.

The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.

SOFR-based interest rate swaps - To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into forward-starting SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000 effective August 12, 2022 and August 31, 2022, respectively. The fair value of the interest rate swaps are based on market-observable forward interest rates and represents the estimated amount that the Company would pay to terminate the agreements. As such, the swap agreements are classified as Level 2 within the fair value hierarchy. As of March 31, 2024 and December 31, 2023, the interest rate swaps were recorded in “Other current assets” when the interest rate swaps’ fair market value are in an asset position, and “Other accrued liabilities” when in a liability position within our Condensed Consolidated Balance Sheets.

Fair Value Measurements at Reporting DateFair Value Measurements at Reporting Date
March 31,
2024
Level 1Level 2Level 3December 31,
2023
Level 1Level 2Level 3
Interest rate swaps$1,331 $— $1,331 $— $1,225 $— $1,225 $— 
Total assets$1,331 $— $1,331 $— $1,225 $— $1,225 $— 

The $20,000 interest rate swap agreements that became effective August 2022 are accounted for as cash flow hedges and the objective of the hedges is to offset the expected interest variability on payments associated with the interest rate on our debt. The gains and losses related to the interest rate swaps are reclassified from “Accumulated other comprehensive loss” in our Condensed Consolidated Balance Sheets and included in “Interest expense - net” in our Condensed Consolidated Statements of Operations as the interest expense from our debt is recognized.
For the three months ended March 31, 2024 and 2023, the Company recognized interest income of $337 and $245, respectively, from interest rate swaps.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement Plans
3 Months Ended
Mar. 31, 2024
Employee-related Liabilities [Abstract]  
Retirement Plans Retirement Plans
The Company has three retirement plans that cover its hourly and salaried employees in the United States: one defined benefit plan, which is frozen, and two defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company’s contributions to the defined benefit and defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (“ERISA”) and the Company’s policy and investment guidelines
applicable to each respective plan. The Company’s policy is to contribute at least the minimum in accordance with the funding standards of ERISA.

The Company maintains one defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains two defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.

United States Defined Benefit Plan
Net periodic pension costs were as follows for the periods presented:
Three Months Ended
March 31,
20242023
Interest cost$66 $71 
Expected return on plan assets(68)(64)
Recognized net actuarial loss15 16 
Net periodic pension cost$13 $23 

The Company has made contributions to its United States defined benefit plan of $100 during the three months ended March 31, 2024 and expects to make total contributions of approximately $370 during 2024.

United Kingdom Defined Benefit Plan
Net periodic pension costs were as follows for the periods presented:
Three Months Ended
March 31,
20242023
Interest cost$56 $55 
Expected return on plan assets(94)(83)
Amortization of prior service costs and transition amount
Recognized net actuarial loss
Net periodic pension income$(24)$(19)

United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2024, the Company contributed approximately $79 to the plan. The Company anticipates total contributions of approximately $315 to the United Kingdom pension plan during 2024.

Defined Contribution Plans
The Company sponsors five defined contribution plans for hourly and salaried employees across its domestic and international facilities. The following table summarizes the expense associated with the contributions made to these plans for the periods presented:
Three Months Ended
March 31,
20242023
United States$551 $614 
Canada76 62 
United Kingdom281 261 
$908 $937 
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingent Liabilities
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingent Liabilities Commitments and Contingent Liabilities
Product Liability Claims
The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual, which is adjusted on a monthly basis as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.
Union Pacific Railroad (“UPRR”) Concrete Tie Matter
On March 13, 2019, the Company and its subsidiary, CXT Incorporated (“CXT”), entered into a Settlement Agreement (the “Settlement Agreement”) with UPRR to resolve the then-pending litigation in the matter of Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.

Under the Settlement Agreement, the Company and CXT will pay UPRR the aggregate amount of $50,000 without pre-judgment interest, which began with a $2,000 immediate payment, and with the remaining $48,000 paid in installments over a six-year period commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $48,000 of products and services, targeting $8,000 of annual purchases per year beginning March 13, 2019, per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company’s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $6,000 for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.

The expected payment under the UPRR Settlement Agreement for the remainder of the year ending December 31, 2024 is $8,000, upon which the obligation for the Settlement Agreement will be satisfied.

Environmental and Legal Proceedings
The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company’s efforts to comply with environmental regulations may have an adverse effect on its future earnings.

On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (“EPA”) indicating that the Company may be a potentially responsible party (“PRP”) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than 140 other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $1.1 billion and $1.7 billion, respectively, and the remedial work is expected to take as long as 13 years to complete. These costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost 100 PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994. On March 26, 2020, the EPA issued a Unilateral Administrative Order to two parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. The Company cannot predict the ultimate impact of these proceedings because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company’s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of March 31, 2024 and December 31, 2023, the Company maintained environmental reserves approximating $2,398 and $2,417, respectively.

The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management’s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company’s financial position or liquidity as of March 31, 2024.

If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company’s assessment as of March 31, 2024, no such disclosures were considered necessary.
XML 34 R23.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) attributable to L.B. Foster Company $ 4,436 $ (2,152)
XML 35 R24.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
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of Presentation (Policies)
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Basis of Presentation The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company’s Annual Report on Form 10-K for the year ended December 31, 2023. In this Quarterly Report on Form 10-Q, references to “we,” “us,” “our,” and the “Company” refer collectively to L.B. Foster Company and its consolidated subsidiaries.
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Segments (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Schedule of Reconciliation of Revenue from Segments to Consolidated
The operating results of the Company’s reportable segments were as follows for the periods presented:
Three Months Ended
March 31, 2024
Three Months Ended
March 31, 2023
Net SalesSegment Operating Profit (Loss)Net SalesSegment Operating Profit (Loss)
Rail, Technologies, and Services$82,623 $6,778 $64,384 $2,388 
Infrastructure Solutions41,697 (1,393)51,104 (356)
Total$124,320 $5,385 $115,488 $2,032 
Schedule of Reconciliation of Operating Profit (Loss) from Segments to Consolidated
The following table demonstrates a reconciliation of reportable segment net profit to the Company’s consolidated total for the periods presented:
Three Months Ended
March 31,
20242023
Operating profit for reportable segments$5,385 $2,032 
Interest expense - net(1,125)(1,388)
Other income (expense) - net3,536 (1,827)
Unallocated corporate expenses and other unallocated charges(3,102)(1,529)
Income (loss) before income taxes$4,694 $(2,712)
Schedule of Reconciliation of Assets from Segment to Consolidated
The following table illustrates assets of the Company by reportable segment for the periods presented:
March 31,
2024
December 31,
2023
Rail, Technologies, and Services$167,565 $157,023 
Infrastructure Solutions129,852 130,667 
Unallocated corporate assets28,984 25,516 
Total$326,401 $313,206 
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Schedule of Revenues by Major Product Line
The following table summarizes the Company’s sales by major product and service line for the periods presented:
Three Months Ended
March 31,
20242023
Rail Products$53,038 $40,228 
Global Friction Management14,022 15,820 
Technology Services and Solutions15,563 8,336 
Rail, Technologies, and Services82,623 64,384 
Precast Concrete Products21,091 24,288 
Steel Products20,606 26,816 
Infrastructure Solutions41,697 51,104 
Total net sales$124,320 $115,488 
Schedule of Disaggregation of Revenue
Net sales by the timing of the transfer of goods and services was as follows for the periods presented:
Three Months Ended March 31, 2024
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Point in time$65,539 $29,657 $95,196 
Over time17,084 12,040 29,124 
Total net sales$82,623 $41,697 $124,320 
Three Months Ended March 31, 2023
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Point in time$53,834 $29,128 $82,962 
Over time10,550 21,976 32,526 
Total net sales$64,384 $51,104 $115,488 
Revenue recognized over time was as follows for the periods presented:
Three Months Ended
March 31,
Percentage of Total Net Sales
Three Months Ended March 31,
2024202320242023
Over time input method$13,143 $16,211 10.6 %14.0 %
Over time output method15,981 16,315 12.9 14.1 
Total over time sales$29,124 $32,526 23.4 %28.2 %
Schedule of Contract with Customer, Contract Asset, Contract Liability
The following table sets forth the Company’s contract assets:
Contract Assets
Balance as of December 31, 2023$29,489 
Net additions to contract assets4,212 
Transfers from contract asset balance to accounts receivable (9,560)
Balance as of March 31, 2024
$24,141 

The following table sets forth the Company’s contract liabilities:
Contract Liabilities
Balance as of December 31, 2023$2,189 
Revenue recognized from contract liabilities(1,467)
Increase in billings in excess of cost, excluding revenue recognized 1,850 
Other adjustments317 
Balance as of March 31, 2024
$2,889 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The following table presents the changes in goodwill balance by reportable segment for the period presented:
Rail, Technologies, and ServicesInfrastructure SolutionsTotal
Balance as of December 31, 2023$20,466 $12,121 $32,587 
Cougar purchase accounting adjustment— (445)(445)
Foreign currency translation impact(147)— (147)
Balance as of March 31, 2024$20,319 $11,676 $31,995 
Schedule of Finite-Lived Intangible Assets
The following table sets forth the components of the Company’s intangible assets for the periods presented:
March 31, 2024
Weighted Average
Amortization
Period In Years
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Amount
Patents10$328 $(203)$125 
Customer relationships1628,048 (17,903)10,145 
Trademarks and trade names157,979 (4,755)3,224 
Technology932,632 (28,164)4,468 
Favorable lease6327 (91)236 
$69,314 $(51,116)$18,198 
December 31, 2023
Weighted Average
Amortization
Period In Years
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Amount
Patents10$335 $(199)$136 
Customer relationships1627,712 (17,236)10,476 
Trademarks and trade names167,989 (4,593)3,396 
Technology932,658 (27,906)4,752 
Favorable lease6327 (77)250 
$69,021 $(50,011)$19,010 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable (Tables)
3 Months Ended
Mar. 31, 2024
Accounts Receivable Additional Disclosures [Abstract]  
Schedule of Accounts Receivable, Allowance for Credit Loss
The following table sets forth the Company’s allowance for credit losses:
Allowance for Credit Losses
Balance as of December 31, 2023$809 
Current period provision396 
Write-off against allowance(35)
Balance as of March 31, 2024$1,170 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventory (Tables)
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Schedule of Inventory The Company’s components of inventory are summarized in the following table for the periods presented:
March 31,
2024
December 31,
2023
Finished goods$57,550 $44,903 
Work-in-process1,432 4,675 
Raw materials26,779 23,918 
Inventories - net$85,761 $73,496 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt and Related Matters (Tables)
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Schedule of Long-term Debt Instruments
Long-term debt consisted of the following:
March 31,
2024
December 31,
2023
Revolving credit facility$77,497 $55,060 
Finance leases and financing agreements588 213 
Total78,085 55,273 
Less current maturities(159)(102)
Long-term portion$77,926 $55,171 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Common Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted
The following table sets forth the computation of basic and diluted earnings (loss) per common share for the periods indicated:
Three Months Ended
March 31,
20242023
Numerator for basic and diluted earnings (loss) per common share:
Net income (loss) attributable to L.B. Foster Company$4,436 $(2,152)
Denominator:
Weighted average shares outstanding10,762 10,792 
Denominator for basic earnings (loss) per common share10,762 10,792 
Effect of dilutive securities:
Stock compensation plans223 — 
Dilutive potential common shares223 — 
Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding10,985 10,792 
Basic earnings (loss) per common share$0.41 $(0.20)
Diluted earnings (loss) per common share$0.40 $(0.20)
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation (Tables)
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement, Noncash Expense [Abstract]  
Schedule of Nonvested Share Activity
The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:
Restricted
Stock
Deferred
Stock Units
Performance-Based Stock
and Share Units
Weighted Average
Grant Date Fair Value
Outstanding as of December 31, 2023264,970 12,404 560,338 $14.10 
Granted13,064 — — 23.03 
Vested(103,286)— (19,782)13.92 
Adjustment for incentive awards expected to vest— — 110 11.63 
Cancelled and forfeited(1,000)— (437)11.62 
Outstanding as of March 31, 2024173,748 12,404 540,229 $13.81 
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis
Fair Value Measurements at Reporting DateFair Value Measurements at Reporting Date
March 31,
2024
Level 1Level 2Level 3December 31,
2023
Level 1Level 2Level 3
Interest rate swaps$1,331 $— $1,331 $— $1,225 $— $1,225 $— 
Total assets$1,331 $— $1,331 $— $1,225 $— $1,225 $— 
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement Plans (Tables)
3 Months Ended
Mar. 31, 2024
Employee-related Liabilities [Abstract]  
Schedule of Net Benefit Costs
Net periodic pension costs were as follows for the periods presented:
Three Months Ended
March 31,
20242023
Interest cost$66 $71 
Expected return on plan assets(68)(64)
Recognized net actuarial loss15 16 
Net periodic pension cost$13 $23 
Net periodic pension costs were as follows for the periods presented:
Three Months Ended
March 31,
20242023
Interest cost$56 $55 
Expected return on plan assets(94)(83)
Amortization of prior service costs and transition amount
Recognized net actuarial loss
Net periodic pension income$(24)$(19)
Schedule of Costs of Retirement Plans The following table summarizes the expense associated with the contributions made to these plans for the periods presented:
Three Months Ended
March 31,
20242023
United States$551 $614 
Canada76 62 
United Kingdom281 261 
$908 $937 
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Segments - Narrative (Details)
$ in Thousands
3 Months Ended 7 Months Ended 12 Months Ended
Nov. 17, 2023
USD ($)
Jun. 30, 2023
USD ($)
Mar. 30, 2023
USD ($)
Mar. 31, 2024
USD ($)
segment
Mar. 31, 2023
USD ($)
Mar. 31, 2024
USD ($)
Dec. 31, 2023
segment
Segment Reporting Information              
Number of reportable segments | segment       2     3
Proceeds from business dispositions       $ 0 $ 5,344    
Loss on asset divestiture       0 2,033    
Total net sales       124,320 115,488    
Other income (expense) - net       3,536 (1,827)    
Cougar purchase accounting adjustment              
Segment Reporting Information              
Consideration transferred to acquire operating assets $ 1,644            
Bridge Grid Deck Product | Discontinued Operations              
Segment Reporting Information              
Total net sales       810 $ 1,491    
Other income (expense) - net       73   $ 1,476  
Personnel expenses       $ 111   740  
Inventory write-down           474  
Other exit costs           $ 262  
Rail Products              
Segment Reporting Information              
Proceeds from business dispositions   $ 2,362          
Loss on asset divestiture   $ (1,009) $ 2,065        
Coatings and Measurement              
Segment Reporting Information              
Proceeds from business dispositions     $ 5,344        
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting Information    
Net Sales $ 124,320 $ 115,488
Segment Operating Profit (Loss) 2,283 503
Operating Segments    
Segment Reporting Information    
Net Sales 124,320 115,488
Segment Operating Profit (Loss) 5,385 2,032
Rail, Technologies, and Services    
Segment Reporting Information    
Net Sales 82,623 64,384
Rail, Technologies, and Services | Operating Segments    
Segment Reporting Information    
Net Sales 82,623 64,384
Segment Operating Profit (Loss) 6,778 2,388
Infrastructure Solutions    
Segment Reporting Information    
Net Sales 41,697 51,104
Infrastructure Solutions | Operating Segments    
Segment Reporting Information    
Net Sales 41,697 51,104
Segment Operating Profit (Loss) $ (1,393) $ (356)
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]    
Operating profit for reportable segments $ 2,283 $ 503
Other income (expense) - net 3,536 (1,827)
Income (loss) before income taxes 4,694 (2,712)
Operating Segments    
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]    
Operating profit for reportable segments 5,385 2,032
Interest expense - net (1,125) (1,388)
Other income (expense) - net 3,536 (1,827)
Unallocated corporate expenses and other unallocated charges (3,102) (1,529)
Income (loss) before income taxes $ 4,694 $ (2,712)
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Segments - Reconciliation of Assets from Segment to Consolidated (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Segment Reporting Information    
Assets $ 326,401 $ 313,206
Operating Segments | Rail, Technologies, and Services    
Segment Reporting Information    
Assets 167,565 157,023
Operating Segments | Infrastructure Solutions    
Segment Reporting Information    
Assets 129,852 130,667
Unallocated corporate assets    
Segment Reporting Information    
Assets $ 28,984 $ 25,516
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Sales by Major Product Line (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue    
Total net sales $ 124,320 $ 115,488
Rail, Technologies, and Services    
Disaggregation of Revenue    
Total net sales 82,623 64,384
Precast Concrete Products    
Disaggregation of Revenue    
Total net sales 21,091 24,288
Steel Products    
Disaggregation of Revenue    
Total net sales 20,606 26,816
Infrastructure Solutions    
Disaggregation of Revenue    
Total net sales 41,697 51,104
Rail Products | Rail, Technologies, and Services    
Disaggregation of Revenue    
Total net sales 53,038 40,228
Global Friction Management | Rail, Technologies, and Services    
Disaggregation of Revenue    
Total net sales 14,022 15,820
Technology Services and Solutions | Rail, Technologies, and Services    
Disaggregation of Revenue    
Total net sales $ 15,563 $ 8,336
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Timing of Transfer (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue    
Total net sales $ 124,320 $ 115,488
Point in time    
Disaggregation of Revenue    
Total net sales 95,196 82,962
Over time    
Disaggregation of Revenue    
Total net sales 29,124 32,526
Rail, Technologies, and Services    
Disaggregation of Revenue    
Total net sales 82,623 64,384
Rail, Technologies, and Services | Point in time    
Disaggregation of Revenue    
Total net sales 65,539 53,834
Rail, Technologies, and Services | Over time    
Disaggregation of Revenue    
Total net sales 17,084 10,550
Infrastructure Solutions    
Disaggregation of Revenue    
Total net sales 41,697 51,104
Infrastructure Solutions | Point in time    
Disaggregation of Revenue    
Total net sales 29,657 29,128
Infrastructure Solutions | Over time    
Disaggregation of Revenue    
Total net sales $ 12,040 $ 21,976
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Over Time Sales (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue    
Over time sales, amount $ 29,124 $ 32,526
Over time sales, percentage 23.40% 28.20%
Over time input method    
Disaggregation of Revenue    
Over time sales, amount $ 13,143 $ 16,211
Over time sales, percentage 10.60% 14.00%
Over time output method    
Disaggregation of Revenue    
Over time sales, amount $ 15,981 $ 16,315
Over time sales, percentage 12.90% 14.10%
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Contract with Customer (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]  
Balance as of December 31, 2023 $ 29,489
Net additions to contract assets 4,212
Transfers from contract asset balance to accounts receivable (9,560)
Balance as of March 31, 2024 24,141
Contract With Customer Liability [Roll Forward]  
Balance as of December 31, 2023 2,189
Revenue recognized from contract liabilities (1,467)
Increase in billings in excess of cost, excluding revenue recognized 1,850
Other adjustments 317
Balance as of March 31, 2024 $ 2,889
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Remaining Performance Obligation (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Revenue from Contract with Customer [Abstract]  
Revenue remaining performance obligation $ 222,261
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction  
Revenue remaining performance obligation (percentage) 10.50%
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenue from Contract with Customer [Abstract]    
Reduction in sales due to changes in estimates $ 0 $ 393
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Goodwill  
Goodwill, beginning balance $ 32,587
Foreign currency translation impact (147)
Goodwill, ending balance 31,995
Cougar purchase accounting adjustment  
Goodwill  
Cougar purchase accounting adjustment (445)
Rail, Technologies, and Services  
Goodwill  
Goodwill, beginning balance 20,466
Foreign currency translation impact (147)
Goodwill, ending balance 20,319
Rail, Technologies, and Services | Cougar purchase accounting adjustment  
Goodwill  
Cougar purchase accounting adjustment 0
Infrastructure Solutions  
Goodwill  
Goodwill, beginning balance 12,121
Foreign currency translation impact 0
Goodwill, ending balance 11,676
Precast Concrete Products | Cougar purchase accounting adjustment  
Goodwill  
Cougar purchase accounting adjustment $ (445)
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets    
Gross Carrying Value $ 69,314 $ 69,021
Accumulated Amortization (51,116) (50,011)
Net Carrying Amount 18,198 19,010
Patents    
Finite-Lived Intangible Assets    
Gross Carrying Value 328 335
Accumulated Amortization (203) (199)
Net Carrying Amount 125 136
Customer relationships    
Finite-Lived Intangible Assets    
Gross Carrying Value 28,048 27,712
Accumulated Amortization (17,903) (17,236)
Net Carrying Amount 10,145 10,476
Trademarks and trade names    
Finite-Lived Intangible Assets    
Gross Carrying Value 7,979 7,989
Accumulated Amortization (4,755) (4,593)
Net Carrying Amount 3,224 3,396
Technology    
Finite-Lived Intangible Assets    
Gross Carrying Value 32,632 32,658
Accumulated Amortization (28,164) (27,906)
Net Carrying Amount 4,468 4,752
Favorable lease    
Finite-Lived Intangible Assets    
Gross Carrying Value 327 327
Accumulated Amortization (91) (77)
Net Carrying Amount $ 236 $ 250
Weighted Average | Patents    
Finite-Lived Intangible Assets    
Weighted Average Amortization Period In Years 10 years 10 years
Weighted Average | Customer relationships    
Finite-Lived Intangible Assets    
Weighted Average Amortization Period In Years 16 years 16 years
Weighted Average | Trademarks and trade names    
Finite-Lived Intangible Assets    
Weighted Average Amortization Period In Years 15 years 16 years
Weighted Average | Technology    
Finite-Lived Intangible Assets    
Weighted Average Amortization Period In Years 9 years 9 years
Weighted Average | Favorable lease    
Finite-Lived Intangible Assets    
Weighted Average Amortization Period In Years 6 years 6 years
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets - Narrative (Details) - Customer relationships - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Finite-Lived Intangible Assets    
Purchase accounting adjustments   $ 429
Weighted Average    
Finite-Lived Intangible Assets    
Acquired finite-lived intangible assets, weighted average amortization period 5 years  
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Financing Receivable, Allowance for Credit Loss [Line Items]    
Reserve for uncollectible accounts, expense $ 396  
Selling, General and Administrative Expenses    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Reserve for uncollectible accounts, expense $ 396 $ 155
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable - Allowance for Credit Losses (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Allowance for Doubtful Accounts  
Allowance for doubtful accounts, beginning balance $ 809
Current period provision 396
Write-off against allowance (35)
Allowance for doubtful accounts, ending balance $ 1,170
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventory (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Inventory Disclosure [Abstract]    
Finished goods $ 57,550 $ 44,903
Work-in-process 1,432 4,675
Raw materials 26,779 23,918
Inventories - net $ 85,761 $ 73,496
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Debt Disclosure [Abstract]    
Revolving credit facility $ 77,497 $ 55,060
Finance leases and financing agreements 588 213
Total 78,085 55,273
Less current maturities (159) (102)
Long-term portion $ 77,926 $ 55,171
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt and Related Matters - Narrative (Details)
Aug. 13, 2021
USD ($)
Mar. 31, 2024
USD ($)
covenant
Dec. 31, 2023
USD ($)
Line of Credit Facility      
Line of credit facility, amount outstanding   $ 77,497,000 $ 55,060,000
PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Fourth Amended And Restated Credit Agreement      
Line of Credit Facility      
Minimum fixed charge coverage ratio 1.05    
PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Fourth Amended And Restated Credit Agreement | Debt Instrument, Redemption, Period One      
Line of Credit Facility      
Number of financial covenants | covenant   2  
Minimum leverage ratio 3.25    
PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Fourth Amended And Restated Credit Agreement | Debt Instrument, Redemption, Period Two      
Line of Credit Facility      
Minimum leverage ratio 3.5    
PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Revolving credit facility      
Line of Credit Facility      
Line of credit facility, amount outstanding   $ 2,432,000  
PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Revolving credit facility | Fourth Amended And Restated Credit Agreement      
Line of Credit Facility      
Debt instrument term 5 years    
Line of credit facility, maximum borrowing capacity $ 130,000,000    
Line of credit, accordion feature, lower borrowing capacity 25,000,000    
Line of credit facility, maximum increase in commitments $ 50,000,000    
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator for basic and diluted earnings (loss) per common share:    
Net income (loss) attributable to L.B. Foster Company $ 4,436 $ (2,152)
Denominator:    
Weighted average shares outstanding (in shares) 10,762,000 10,792,000
Denominator for basic earnings (loss) per common share (in shares) 10,762,000 10,792,000
Effect of dilutive securities:    
Stock compensation plans (in shares) 223,000 0
Dilutive potential common shares (in shares) 223,000 0
Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding (in shares) 10,985,000 10,792,000
Basic earnings (loss) per common share (in USD per share) $ 0.41 $ (0.20)
Diluted earnings (loss) per common share (in USD per share) $ 0.40 $ (0.20)
Anti-dilutive shares (in shares) 0 101,000
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax Disclosure [Abstract]    
Income tax benefit $ 289 $ (541)
Income (loss) before income taxes $ 4,694 $ (2,712)
Effective income tax rate (as a percent) 6.20% 19.90%
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Narrative (Details) - USD ($)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-based Compensation Arrangement by Share-based Payment Award    
Stock-based compensation expense $ 1,033,000 $ 884,000
Expected cost on shares expected to vest $ 4,711,000  
Recognition period for compensation expense not yet recognized 1 year 10 months 24 days  
Omnibus Plan and Equity and Incentive Plan    
Share-based Compensation Arrangement by Share-based Payment Award    
Stock-based compensation expense $ 0 $ 0
Shares granted in period (in shares) 0 0
Director    
Share-based Compensation Arrangement by Share-based Payment Award    
Vesting period 1 year  
Restricted Stock    
Share-based Compensation Arrangement by Share-based Payment Award    
Vesting period 3 years  
Performance-Based Stock and Share Units    
Share-based Compensation Arrangement by Share-based Payment Award    
Vesting period 3 years  
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)
3 Months Ended
Mar. 31, 2024
$ / shares
shares
Weighted Average Grant Date Fair Value  
Outstanding, beginning balance (in USD per share) | $ / shares $ 14.10
Granted (in USD per share) | $ / shares 23.03
Vested (in USD per share) | $ / shares 13.92
Adjustment for incentive awards expected to vest (in USD per share) | $ / shares 11.63
Weighted average grant date fair value, cancelled and forfeited (in USD per share) | $ / shares 11.62
Outstanding, ending balance (in USD per share) | $ / shares $ 13.81
Restricted Stock  
Restricted Stock, Deferred Stock Units and Performance Share Units  
Outstanding, beginning balance (in shares) 264,970
Granted (in shares) 13,064
Vested (in shares) (103,286)
Adjustment for incentive awards expected to vest (in shares) 0
Cancelled and forfeited (in shares) (1,000)
Outstanding, ending balance (in shares) 173,748
Deferred Stock Units  
Restricted Stock, Deferred Stock Units and Performance Share Units  
Outstanding, beginning balance (in shares) 12,404
Granted (in shares) 0
Vested (in shares) 0
Adjustment for incentive awards expected to vest (in shares) 0
Cancelled and forfeited (in shares) 0
Outstanding, ending balance (in shares) 12,404
Performance-Based Stock and Share Units  
Restricted Stock, Deferred Stock Units and Performance Share Units  
Outstanding, beginning balance (in shares) 560,338
Granted (in shares) 0
Vested (in shares) (19,782)
Adjustment for incentive awards expected to vest (in shares) 110
Cancelled and forfeited (in shares) (437)
Outstanding, ending balance (in shares) 540,229
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Aug. 31, 2022
Fair Value, Balance Sheet Grouping, Financial Statement Captions        
Derivative Liability, Statement of Financial Position [Extensible Enumeration] Other accrued liabilities   Other accrued liabilities  
Swap        
Fair Value, Balance Sheet Grouping, Financial Statement Captions        
Derivative, notional amount       $ 20,000
Interest income $ 337 $ 245    
Swap 2        
Fair Value, Balance Sheet Grouping, Financial Statement Captions        
Derivative, notional amount       $ 20,000
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Fair Value, Balance Sheet Grouping, Financial Statement Captions    
Interest rate swaps $ 1,331 $ 1,225
Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag Interest rate swaps Interest rate swaps
Total assets $ 1,331 $ 1,225
Level 1    
Fair Value, Balance Sheet Grouping, Financial Statement Captions    
Interest rate swaps 0 0
Total assets 0 0
Level 2    
Fair Value, Balance Sheet Grouping, Financial Statement Captions    
Interest rate swaps 1,331 1,225
Total assets 1,331 1,225
Level 3    
Fair Value, Balance Sheet Grouping, Financial Statement Captions    
Interest rate swaps 0 0
Total assets $ 0 $ 0
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement Plans - Narrative (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
plan
Defined Benefit Plan Disclosure  
Defined contribution plan number 5
United States  
Defined Benefit Plan Disclosure  
Number of retirement plans 3
Number of defined benefit plans 1
Defined contribution plan number 2
Defined benefit plan, contributions by employer | $ $ 100
Defined benefit plan, expected future employer contributions, current fiscal year | $ $ 370
Canada  
Defined Benefit Plan Disclosure  
Defined contribution plan number 1
United Kingdom  
Defined Benefit Plan Disclosure  
Defined contribution plan number 2
Defined benefit plan, contributions by employer | $ $ 79
Defined benefit plan, expected future employer contributions, current fiscal year | $ $ 315
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement Plans - Schedule of Net Benefit Costs (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
United States    
Defined Benefit Plan Disclosure    
Interest cost $ 66 $ 71
Expected return on plan assets (68) (64)
Recognized net actuarial loss 15 16
Net periodic pension income 13 23
United Kingdom    
Defined Benefit Plan Disclosure    
Interest cost 56 55
Expected return on plan assets (94) (83)
Amortization of prior service costs and transition amount 6 6
Recognized net actuarial loss 8 3
Net periodic pension income $ (24) $ (19)
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Retirement Plans - Schedule of Costs of Retirement Plans (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Defined Contribution Plan Disclosure    
Expenses associated with contributions made $ 908 $ 937
United States    
Defined Contribution Plan Disclosure    
Expenses associated with contributions made 551 614
Canada    
Defined Contribution Plan Disclosure    
Expenses associated with contributions made 76 62
United Kingdom    
Defined Contribution Plan Disclosure    
Expenses associated with contributions made $ 281 $ 261
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingent Liabilities - Narrative (Details)
$ in Thousands
3 Months Ended
Mar. 13, 2019
USD ($)
Mar. 31, 2024
USD ($)
party
Dec. 31, 2023
USD ($)
Sep. 30, 2021
USD ($)
Mar. 26, 2020
party
Jun. 05, 2017
company
Product Liability Contingency            
Litigation settlement amount warded to other party   $ 8,000        
Number of companies that received a general notice letter (company) | company           140
Present value of remedial work   1,100,000        
Undiscovered remedial work   $ 1,700,000        
Anticipated clean period   13 years        
Number of potentially responsible parties included in agreement | party   100        
Number of parties required to perform remedial design work | party         2  
Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag   financial condition        
Accrual for environmental loss   $ 2,398 $ 2,417      
UPRR            
Product Liability Contingency            
Annual commitment amount $ 8,000     $ 6,000    
UPRR            
Product Liability Contingency            
Litigation settlement amount 50,000          
Litigation settlement amount, current 2,000          
Litigation settlement amount, non-current $ 48,000          
Payment period 6 years          
Purchase commitment $ 48,000          
EXCEL 75 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $1HIU@'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 " !$:*=8QO&ULS9+! M:L,P#(9?9?B>R$Z[%DR:R\9.+0Q6V-C-V&IK%CO&UDCZ]G.R-F5L#["CI=^? M/H%J':3N(C['+F DB^EN<*U/4H<-.Q$%"9#T"9U*94[XW#QTT2G*SWB$H/2' M.B)4G*_ (2FC2,$(+,),9$UMM-01%77Q@C=ZQH?/V$XPHP%;=.@I@2@%L&:< M&,Y#6\,-,,((HTO?!30S<:K^B9TZP"[)(=DYU?=]V2^F7-Y!P-MN^S*M6UB? M2'F-^5>RDLX!-^PZ^77Q\+A_8DW%JV7![PN^WHNUY$(N5^^CZP^_F[#KC#W8 M?VQ\%6QJ^'47S1=02P,$% @ 1&BG6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !$:*=8\.[+K,H% "/'P & 'AL+W=O!A+DKB'O.\TU["H[0SO,SO3=7P4F8FCE(Q541G M2<+5YEK$\NFJ0SN[&_?1Z1)&B4AU)%.BQ.*J M,Z+OQKYO!?D3?T;B2>]])S;*7,JO]N(NO.IXMD0B%H&Q%AP^'L58Q+%U@G+\ MMS7ME'_3"O>_[]PG>7@(,^=:C&7\5Q2:U57GO$-"L>!9;.[ETWNQ#32P?H&, M=?X_>2J>'; ."3)M9+(50PF2*"T^^?.V(O8$OER6@?HW WPKRFNL5 M))*]YW,7H3MEV'[F/OP1@89C%!#'C9KX4J*RZG7_>R* MA*I:1AJ4D0:'1?J<<66$BC?D7JRE,JYXN)51F:M2QJBJ9;S3,M[I8?&F0D4R MM(.0P#3@;#S,.U;?,>5;F/#NP9RH.*TB^ -2W(^ZUX+%V-B0J:QGP MO QXCA9J+),DTOG:.(EB03YER5PH5SCPPAZ2.0'_DSN M0ABIT2(*\MQ(5VZP9(,N]5G_S/>=>5%QV[RLRLL.R3L*0W#7MG&5A>ZZ3MW@ MUJ<#\E[&40CTL M8V 0K3B(X@#S00;07M.53#$(:C"Y8.==OU\SPQR#@FB%013GEX?( -[)!:'L MS?QG,A-!INHF&=S)(B,LKS,C@Z]OR9HK\LCC3) ?O1./.I,? XI8!44,QQ9 M]S!*EV2V2>8R=@5N,)C,'NZ=&P+'(!]6D0_#,677A.3V.5CQ="EJ(:#!Z--H M=C-ROD'CPK8)*]9A!['..%/*OH,5+UYY4\+2D3DWC1H@!I]1 M$ BP (.P,'-F/0;ML(IVV$&T,TMX')/K3,//VMUCV^W^X+*V\2K>80?QSFTB MU-*.R%_!P:R0-^/K!L/:W1%?)[9@!BTWSQ?!.EVZWZGYWIOQ/<;.ND":_">>EG>;<\;1[E9ZR]ZO'BJ/HCMVNG)K%8 M@-0[.8,)3Q6GO\6%D>O\ '4NC9%)_G4E>"B4?0!^7TAI=A?V#Y1G\,/_ 5!+ M P04 " !$:*=8 ;P8H&L' !-'@ & 'AL+W=OGGOA/7?4V9.07_(=YPI]39,L/Q_ME-J_GTSR M]8ZG+#\5>Y[!+ULA4Z;@5CY,\KWD;%,M2I,)<1Q_DK(X&TW/JN_NY/1,%"J) M,WXG45ZD*9//%SP13^CV;X_9P&Y8)*XL^8/^4'UZ@TY5Z(+^7-U>9\Y)2(>,+7JE3!X..1 MSWF2E)H QS^-TE'[S'+AX?6+]E\JX\&8>Y;SN4C^BC=J=SX*1VC#MZQ(U"?Q M])$W!GFEOK5(\NH_>FIDG1%:%[D2:;,8$*1Q5G^RKXTC#A9@=V !:1:0;UU MFP6T,K1&5IFU8(I-SZ1X0K*4!FWE1>6;:C58$V=E&)=*PJ\QK%/3^>W-XO)F M>;E <+6\O;Y:S%9P1@>?]SN0IHGB,B$-M M^:321X?,+Z3DF4(LS[G*WYOLJ16X9@7E+GN?[]F:GX]@&^5CHGCTQY$72J,#NPX0ABV"$,KPI50+/D&A*&.,"310=;5$ UB M?A!% [LI:D%&5I!W$@A?JN&#/ MXHX"L9T##Y/("$\G,A)%_=UID@KP4(9W=(?M?+>Z7 P [BL/^-_5T2B6^D[=CHCBZQG2_; MMFG/GLN>R6BP3H,NI;Z6U08QAPZ6QHXOL9TP%WS+(3(;Z.R@"2FXM4?"!C[$ MKJ=A-8@1-QBBH(XVL9TWP9VR *C@32F@OE6TF>X3\RP%WI^'ZE!+'#=(:P=)Q([)Q[WKJ]AU5DN M=($.^UAUL=4P!WHX&)@'2,>,Q,Z,;8%3 M[.NA4QO,D1FS3H,81YIS#5*$#N5!1Y7$/@YVOA6]GONUG-"'/HQQT"_/1K'0 M'Z 2TK$=^9;IL*L+KZ'5&-COZXKH/:NX([%FY,X0VNVCZ'N&X_[=#Z' M$N_W*Z=)C XC['B?VGG_$U<,OH(>B\D,8F,^DC30-HD>&55+0$(]#UX5?NMQ_2;__D7*O MY1756X03+R2:4PQBOAL-G'W2@S-E>RUM1MT#7IQ>GZ!>((0"'8K5G61-= M8\$V&J(W$]AU?6W<-A?A M!YK'=:& #.5)UVE0>Z=1N_L[76OH'ER/!$$?L4F.A'2@S:!=FT'M;49]U'%] M-;NXNKY:75TNT>QF@9:KV_EO'V^O%Y>?EB]&7/[Q^6KUM]&(0'^38CH.,M4$\>XBR'MFT+"YW3 -P@ZW>7]8T2^^KUW[U02J35Y8XSB$ I M +]O!32GS4WY1K%]@SS]#U!+ P04 " !$:*=8)TY&-><" T" & M 'AL+W=OA'42B M0-5*78N:=GN8]F""(5:3.+,=:/?K=^U !C0MK;0\)/ZXY_B<&\K*K83&"@NA639&@P*,II73_RTSL,6P/9> 3AK@/->@+L& MN-IHI4S;&F&)PQYG*\15-+"IALZ-1H,;FJNW&$D.LQ1P,AS>WHS&-]%XA* 5 MW5Y?C0;WT#D?7 ]NAF,478[']Q$ZFF!. 6=ES\V$(%YFB)TY*@(YJC MAVB$"L*K-W[@: =V5XMV_N [&I+(ES*A''Z MA\RT_&JT47=%[F])@O-/7WO:WQ&XH]^O]?L?UT^%* ]K]U](LN'R@^!T3_L[ M G>T=VKMG8]KAU(A),YG-%\<,M!YJ.N[]Q&@-=]]3UFPT$M8'@30/W M4/A$R9\K"QL')PA+%#,A6W#_Y_"0F^"%2-?I^%YWSTM#6-?N>MZ>$W/K3%?U M% [-!U:BJ(UFAC_DIDU T=#.!LDZX"H#Y.6-RTU&5H_Y1 M"/\"4$L#!!0 ( $1HIUC \I@3804 (85 8 >&PO=V]R:W-H965T M&ULK9AK;^(X%(;_BL6.5JTT0.Q<"%V*U-)VM]+THM+9_6S M0#1)S-JF=/;7[W$2$D@4]]FC'Q0^Y9DRA]R1.Y65GK=3F MHM^7\S5+J.SQ#4OAGR47"57P*%9]N1&,+K)&2=PGCA/T$QJEG?$H>_!Y#9)J/AYS6*^N^S@SO[%2[1:*_VB/QYMZ(I-F?J^>1;PU"^]+**$ MI3+B*1)L>=FYPA<3$N@&F<7?$=O)@WND0YEQ_D,_W"\N.XXF8C&;*^V"PN6- M35@<:T_ \6_AM%-^4S<\O-][O\N"AV!F5+()C_^)%FI]V0D[:,&6=!NK%[[[ MBQ4!^=K?G,/ MT]L;!'?3IV_W-U>O\#!]A/K%#W=H:?GVY>KUWLP0%WT?7J#SKZ<([FF M@DD4I>AUS;>2I@OY%7TY>A[U%2#J#_7G!LC%7Q%QB&?@F9S>W+7@N&6ZWL(9FL'+)$)O1 M@A(ML*)-83&*TA6"H8_H B9K))6@>IE"[!W676E.9M!D(8,&L<$*>WI,FH@' M)?' 2GR5<*&B_VBVHA:,)L1!X^.8X$&-T&#D!KX9,"P!0RO@TX;I#$)2VWL\ M-.0O=&MP32/?:4G>L&0;6MGN4\5@!53[Q,':"!/;1#AL9@83OT9H,'+;IC-V MJN7=L2=0K9E 9U$ZYPD[_QBU<'>(T75]-ZC!&LQP2%JF-CX0(_Q!2C4F.HMA MCI^C&8,RA:&<'2GZ;IX_A<]#%B\8>G7BIE67##!I0285,CD%&>C*Y)[-6,I@ ML)X;:4ESN(;UR6XPZOI>R_*$*_'!=O5Y!-V)#E-L!'2;Z?2<^F@U6'5A26A# MK/0'VP5((VHT1)42T6RKZ"R&['*4<@!/E>#Y&AL5D\\805-XNFY=G$Q&>-B" M7XD3MJM3(\.-.+[UKGOH#@06IN6$)QN:_C3&X#?TW?.:T[!I!;W@MPWJ2LAP M+B=N2QC/ )?5=V@!1:4UALQLS>,%$_+"&(E5-/4VY4)NZ)Q==F ?(IEX8YWQ M[[_AP/G#5*Y]EK?CQ%1ZB>V">4UE-$>,BA0&H=SW,8@4U$Q) B*:9PW6VZQ. MWNP39)YI^;<&![WG]+S&0&U:=9U>6Q=7PHKMRGH3Q5O%%I\62VB*I1Y*T\@2 M2J7#V"[$>:?LLAT;1$3?H&98L?T&!?:N4D%)IE<-'4O^VAR$08.=04#J81C- MABUQD$JKB5VK]UWR"9$0@SX[P["^BAO-VB.I=)S8=7RJ-PYZ!['BW+P-M#OX MU57AL[P=AUO5 ,1> YRPJRL\'.W7',\+ZG6JP0ZZS6VI TDE_>24C>>'&SO2 ME/400S55IVR:#4*GK=@GE?H3N_J7XT;W431O8;3Z^.6A\TG>CB.N"@9B+QA. M&3K-S2J&,5'??IG,@J'OM/1)50L0^Z[VU)$3- =X$#CUM=-DYF&WON+T#TZT M$B96V4&?!(IMJO+#G_)M>9AXE1VAU=Y?XXM)?B18N,0IVC#>#_)>=J_Z _4!Z]CO\'4$L#!!0 M ( $1HIUC^97YNS@0 @0 8 >&PO=V]R:W-H965T&ULM5=M3^,X$/XK5A:M0((F3M(W:"M!6[1(0!&%O0^K^^ F;N/;).[9+H7[ M]3=.TO0E;G:EX[ZTL3WS^)F99%YZ:RY^RHA2A=Z3.)5]*U)J>6G;,HAH0F2# M+VD*)W,N$J)@*1:V7 I*PDPIB6W7<5IV0EAJ#7K9WI,8]/A*Q2RE3P+)59(0 M\7%#8[[N6]C:;#RS1:3TACWH+(6"=ZC@'U'P"P4_\TQN M2N:'$5%DT!-\C826!C3]D#DSTP;S6:KC/E4"3AGHJ<%P\C@:/T['(P1/T\G] MW>CZ!1;3%_A[&#^^3-'D%HX>GI['WT#N[OL8W3W">HQ.[R?3Z1FZ0*_3$3H] M.4,GB*7H)>(K2=)0]FP%]/0E=E!0&>94W"-4//3 4Q5)-$Y#&N[KVV!6:9N[ ML6WHU@(^$-% 'CY'KN/Z!CZCWU?W:NAXI:N]#,\[@C=51%'X9!3B4/3C>B:5@$_A3Y/W_2:);UF;9PF*J("!7L!RGD6K,]12K,@*O)^:>+>_,Q(?1+8GBM: MI2M:M9&"U J),X5$) 1-@P\$;VTJ5Z=U8$]5YL+'';,]G=*>3JT]SS2(B91LSH+<\F)$9 MBYGZV(F&1(HC2D3*TL5Q$WT$61J=N.=0O>629N4W_C#8?5//[@ZI:>ZM5Q>N"+QP9?[RT33K=#P'*][P+4J=($]QS73Q:>2EF7:1!12K#92I%93'584P[[J1(\!J@%2"D*X5/&+%3<_4EIZ+/0]CVU MTZ;@7]8,[9G?]8C1(;@:10\?1-HDA+M' NUNZ;O_5R(MD/<)'>91@Y!_A/.V M7<&U3<#@.N$KG4W^B\<]0S[L''(W".'F$?;;'@/7-QG#XUF@8M%]XZ:!;KD$ M0[+&C*2F1#C$U7;# M*I"G-(^_+B,DA-&$Z=Y5EY%-G2F!UTQ%4(CA>G O-/=P%NHGR6,69M3*WEAJ M[I,E%?G=#5/RL'?&G80"+3TVZCP*KVO>A9:[Y6AZDPUD!_M#/;(:]J]Q\W*8 MCXJ5DQ:<9%.NO;TZGY%A7E@P<%=,YT##:;3AC1;YV)DO%%]F@]B,*QCKLL<( M1G4JM "&PO=V]R:W-H965T&ULK57O;]HP$/U73EDUM5+7T #= MU$$D?E5%*@61MOLP[8-)#N(UL9EMH-U?O[,3,MI2M _[DOCLNY?W+KF7UD:J M1YTB&GC*,Z';7FK,\M+W=9QBSO297**@D[E4.3,4JH6OEPI9XHKRS ]JM0L_ M9UQX8.)2=O>%P\2G+-59J9R M0&E,TF-+MPO7'5I(8+^Q8CH^B44YT)>^/;_N V&O2! M5M'X9MCOW%$0W=%M-+B]BV!\14>CR71P37G#AP$,;RD>P/'-.(I.X'C"% J3 MHN$QRT[@$]Q'?3@^.H$CX +N4KG23"2ZY1NB:Q_JQR6U;D$M>(=:'4:2@#4, M1(+)RWJ?9%9:@ZW6;G 0<,34&=3/3R&H!8T]?'K_7EX_0*=>M;[N\.KOX$6& M&:2!,"#GT),Y36%JQV.-,!2QS!&^=V;:*/K2?^SK7H'>V(]NI_]2+UF,;8^ M-:HU>N''#^<7M:_[I/\GL!>-:%2-:!Q"#^\%^4_&?V,""_(=H.F.F4YA3A8# M*28+/ 7#GO;UH "^<,#6L-9AK>6O=X4=RGC!MEFQ;1YD.\4X8UKS.7WOSHGH M[2U+6\LXF_&,FV=@R4\:7OMV-1@)R)3@8J'?%=)\0[/Q2LC;C."5$'_'!G)4 M"^>.&F*Y$J:8DFJW,N".\YU7^UTRYL)'_\(4KDXSL.!"0X9S@JR=?296JG#* M(C!RZ&PO=V]R:W-H965T&ULK9IK<^*X M$H;_BHJSM96I&@9+L@UD$ZH80G:IFEPJ9&<_&UL$G3$6:XM#(MZP;51\$CN6P3=K MD6\C";?YTZ#8Y2Q*RD;;=$ \+QQL(Y[U)A?E9_?YY$+L9[GW_X($_;:3Z8#"YV$5/;,GDW[O['.X&C9>$;UE6<)&AG*TO>U-\ M/O.):E!:?.7LI3BX1BJ4E1#?U,TBN>QY2A%+62R5BPC^/;,92U/E"73\6SOM M-<]4#0^OOWN_+H.'8%91P68B_8BO>%%-NZ,2C8\JSZ'[W6'7'0 /R8&Y"Z >DV\"T-:-V EH%6RLJP MKB(932YR\8)R90W>U$79-V5KB(9G:AB7,H=O.;23D]G=[=7\=CF_0G"UO/NR MN)H^PLWR$?[=S&\?E^CN&LVFR[_0]9>[?Y:HC_Y>7J&SWSZ@WQ#/T.-&[(LH M2XJ+@00URN<@KI_\N7HRL3R9HAN1R4V!YEG"DN/V XBB"85\#^4S<3J\B?)/ MB.*/B'C$-^B9_7ASZI!#FYZEI3]JZ]FVTZX?[F[0W?W\8?JXN/T336>/BZ^+ MQ\5\>6[JMLJM;W:KEO5YL8MB=MF#=5NP_)GU)K__!X?>'Z:83^3LJ ?\I@=\ ME_?)+60AGL5BR]!9*HKB@RG:RD58NE YYWGB^UYP,7@^C$(WZA,\Q(W5D;R@ MD1R[?U'RN!U6L409K0&2%2'D2R7*X MGUF]2$S:QYHLKR-D&WLMM#RG\C\CM0@S5$0I*Q#P!R6\V FX+500 MNUPM4/GV$>W2*),?2PL&T>Y4($94>;I,&FC3PV2&?4LT!PC&SFB64L3?^JH8 M21", U1HA76RU*Z.)H)WL'1JG+6'@EM#X'41OHNR)=1*ZTES-J91'*Y[:DSL^*:E/Y>VX M+UI68S>LIW$L]@J%D$09?XY6*3/&[!ORN^>3[H#I9B0D=&P9L1;9V FYR0Q* MQAR86P^346&@/3J 7-D5J%OU1Z%GT==2$KLQN8!TF4F1<\M4-Y-OV 6DT2X( M0ENJ:1F)W9"\DQN6P[X"4)XY.U$'89]Z6!MF@]EP;*G+< M,["9FI5*AZ'VA M.AA]TBT?#4:0MJVSL>4G=@.T63.[Z,VZ8'0 PCK0%.I6_IA8.I*TG"1N3C95 M6\Y@7NZ- HF):9XWZB@TF0T]"\E)RS[B9A]T8;X'@="#N4C3BM3;72K>&$,K MEK$U-P\\T4'8QS@8C[NZ#78A'846X2WCB)MQQROI !5&L3J_^GCD=8L\DQD9 MCVS3H.4<<;*CUIJ*[*DO6;Y]5RTUJ-7GK,$,8W]D$=N"B+R_:RPW6V?U;NN# MJN>>>0(WJS?CULL8A %4!(_";DEGL O'E%BB:$%%W)O+[NY_Z'%(7'C\#X7,6-)@=:YV"*8A67%_FLE.M&92 .O2TZ#%;:M]9:: MQ$W-6;3C,DH1>X7:/*DJ657?_D(0!F 2,NYRU606CBV\(BU7B9NKQ\.QVA?P M/53JU=Z)JRV'>2GI^.P6Z :3@/J6X^IX \HEAJKKDEIEE(I4 MY87"U3- V7+ 1PT[T4!;F ;H6B=\2UWJIF[]^D!->X;.$E9=?5#'-3\7@@[3 M8*0-B G,OBVSM,2E;N+.;$)1)&%[\\2S3,TI51"QG(O$J%]G*PE";548K$8C MVWQJ"4S=!'8& ,70.])UN-+#+4(MW;!%#FV[<[]%L.]&\'*_VZ5,Y2 HW:#& MB5,!^;.L/LM@UBEXY%GU*AS2J!''_DEQ?"IOQSW2XMAWXWA1)U[8;7/C>/DZ M8<=:<6HPPH=G+L?B6@C[;@@O#EXLE0+16744R1+SBT.BO12D7A=O!J,^UL_1 M!@@'=?-K\=F%:OK'O?/X9G\^J7R"T;JH?1-Q$.:SV M J5L#2Z]3T/HO[SZC4%U(\6N?$V_$E**;7FY85'"A'G MJ[/!H @CMJ3%AVS%4O%DGN5+RL5MOA@4JYS16>6T3 9$TZS!DL9I;W1>?7>3 MC\ZS-4_BE-WDJ%@OES1__LR2[.FBAWL_O[B-%Q$OOQB,SE=TP::,WZ]N-F;IN'_]$]VK.B\Z\T +-LZ2O^(9CRYZ3@_- MV)RN$WZ;/06L[I!9XH594E1_T5-MJ_50N"YXMJR=10N6<;KYI#_J1.PY8/V M ZD=R+$.>NV@RP[6 0>C=C!D!^> @UD[F+*#><#!JATLR4&W#SC8M8,M.1#C M@(-3.SC5V]V\CNI=3BBGH_,\>T)Y:2W0RHN*$)6W>(5Q6G)WRG/Q-!9^?#2^ MOIJX5U-W@L35]/K+Y>33G;B9WHF/K^[5W11=>^+N>OQ[/^\N[OU$?W4\GZ.WK=^@UBE-T%V7K@J:SXGS 1>O*&(.P;LGG34O(@9;< M99PF"K=QM]LX6R[%&)CR+/RF\)YT>]_0>-87[1[35:P.[W8#W#(N)@@V0R[- MTSA=J#KN_:+C8LXIUOGSP3[XW?Z?PG"]7">4BU9<\XCE2.1$3&11.<,\,O0E M*U2M"KI1K[(TS%*>9XEXLD"7*63/;!&G9:[$ MI)/0-&2(DX_>(:(2HR+/!M"K,!QGRP*,XR;-I.V MC8%U36]:N0HDHF-KV#3SVF9]BQA:T\I76!&,+;-I%BA:1G90C6SKVVSKE9-^ M(-N7:5CRBZ&W(L75U;MRH%9M5E@OK6;&B(;OH M"<(5+']DO=&;5]C2/JI&,B38!!+,A03S(,%\2+ "*Q!1&-+1*-SV%^)0BP6 M<\I24#$14]([%=TV$&9SG-C2 !YW!CJ51Y!@KK+])I'F#,B0/B18H&@_'JHG M('/[WLW."6BS)(6-)6G#@_9"@GF08/ZOTQH Q6NPQ-ZRQ.YDB=@-B[UN*O9=><[2\!GQG*:%J*RK778G M8>Q6SS QY76K,_JIE($$ILT*D\4D4DNB5MCR%#>NV06+.DB#YDQ (K$$0 MK.U$-ZV3(M7NNU]JKK.J,A;52;7(*%4SK94'TJP0*%MGJE=_O),H\?_4*-5I)^T4&,31 M33GM"KMVVMM&AMXR$A,N4Q7V-GD0-&%=UHE M?E&Q$H.JE:!H$U T%Q3- T7S0=$"*+0F(W>B)090+7%;-C/V)Z&:3Z"R)2B: MJ^R!7/-YH#%]4+1 T8.^C@],2#OM$K^8>(E!U4M0M DHF@N*YH&B^:!H 11: MDXT[$1/#JIBXK;>1UJP$JF."HKF@:!XHFG]$;@.HB$VZ[-1,_&)R)FXK:GUL MMOFR=["T6[7M5LH-)6L4QSP-D]BVS)NC#I:J3I8Z\C^R7!46&6KM MHZ6*4Z.F0X;RB%<=+M4L+-<,"CO+MJ1J[]AOS3: M4DR#$4^E^27KJK9AD:B0BF<5&#O( M6%ZN]*F:PQ8 >78#W K@O@8TWP%X%< S0LO.C*P!531H"[XF0EC3H3C$(I[C<#&^G(1E?8C3N?[X: M7P^&=^'A0] MLA/WG4X\QB#D!S)\+)AZ)C^Z,ZD$?M@_=TVO M9&_N9M>7_5PN:00="V^S!+$"*S@\<$X;%[ND_R>R%X-HUH-H[F,/)H6($KQY M>@X1SS*\S.4W0]"4B$(ODH5X)D=LDS_>-8[R#-^-.[W*]]"^2[?]35-Z/UZ=!&PO=V]R:W-H965THJ1 ]WM=)NGE7>-Y=Y[HH*:^&& MID%-7[;&UL+3J]WEKK$HRNA4JWPR&KW.:R%UMIC%M;5=S$SP2FI<6W"AKH4] MK%"9_3P;9]W"M=Q5GA?RQ:P1.[Q!_[E96WK+>Y12UJB=-!HL;N?9@96LC'F*[]\*.?9B FAPL(S@J"_6WR+2C$0T?C68F9]2'8\?N[0 MWT?MI&4C'+XUZ@]9^FJ>7610XE8$Y:_-_B=L];QBO,(H%W]AGVRG%+$(SINZ M=:;W6NKT+^[:/!PY7(P><9BT#I/(.P6*+-\)+Q8S:_9@V9K0^"%*C=Y$3FHN MRHVW]%62GU^LA),.S!;6%AUJ+SA7L]P3-!OD10NS2C"31V"F\-%H7SGX09=8 MWO?/B5+/:]+Q6DV>!/PH[!"FXP%,1I/S)_"FORK^-ZFO;&20!I%B=^A1BN4.O!W M;'SR]43LLXY$8AP'+YX_NYA,1E<_+I?K^#B^>@DTB,C:HY4U;'MF4JZ M+E-T1I2::ASB"'#@#?!>AO'H[%,T6UHO"X6IP![ )Y&>( MV$,EI72%,B[8$Z2'\"%5R312LT:270M-LYM1!]$?G9=U+!XG0)1?:(2EAGG! M$J2+O4".FC.E*$81K.4U:@4;A'(OHU9)8BBRQ@*=H],B)DS 5D@+S5$W'_5A M*Z,\#<;%XR!,Y!W!U1NTJ=.Z:%QDVJ&?@K#4 MT!3I&AMC/9"N[WWJ*A-4R1'XU.6=0@GZ$G0ZUOI&O]$PQ__I=@ CNI=]IVT!.2DSWK'O"9 M3Q2IT>/&;6?!'@?M*.A6@GNX8H+MEU@T&ULK5EK;]LX%OTKA"<8V(":6/(S?01(TAE,=Z>=H.GL++#8 M#[1$6YS(I(>BXGA__9Y+4K3JL;6TDE[@RKF_6:F]V-J/3V72_MM0\^RU5IZ<'%U=L-7XE[87_?W!G< M740NA5P+54NMF!'+=[WK]/7-F.@=P3^DV-:=:T:6++1^H)L/Q;O>D!02E<@M M<>#X>12WHJJ($=3X*_#L19&TL'O=;]U@AEKRI M[&>]_44$>R;$+]=5[?ZSK:?-+GLL;VJKUV$Q-%A+Y7_Y4_!#9\%\>&)!%A9D M3F\OR&GYGEM^]=;H+3-$#6YTX4QUJZ&<5!24>VOP5F*=O;II:CRI:W8O5O"U MK=]>6+"EEQ=Y8''C660G6(S81ZUL6;.?5"&*P_474"?JE+4ZW60O,OS(S3D; MI0G+AMGX!7ZC:./(\1N=X!=,8Y_%1ALKU8K]ZWI16X.,^/RJ 6YE'TKG[\(9T.W[R@ZSCJ.GZ)^[?%XSM9L"^E8+=ZO>%JQV3- M.%M5>L$K9D5>*EWIU8[5NFJH3&JV,?I1%L(PO61"KKYE42\/A\<8M/^\J].,/\RR=O:G! M)6AKA/,K I:#1"OW$,K8CA5]/O#2H"&P P)\?4LKHQ1J$:0 MV2NAA.$6VI-NX@FX5H.8&UJ>-\99V5\,L%+7@@'W0$W9 FU0XY[2B%53<5/M MB#,@ MP6.Z]:*<62_197O1>Y=-#UD3\(DQ!7UI# NH%>\(@#%2*P&LY]$ 3 MOP*2%L!/DJL;XQRKV4(P7E4Z=P;@GD2V+DN<1?U\P, T&%[(.C?""K:4BJM< M(MQ=F90&CUQ6?%$A'GNM8Q3(6/'(J\8))"U+(4W[GA)@*2E"RAJY:%H[[)' M@@;9)0O'*/@2(D%JR/%Z+0X"DN"A1XL'G@MY$H9Y61(/KI5J0.)!B^RB+L32X:N_NRB3E)W@!A4 MU*5L$^L%7!)PWH-)D=JNIZ (VMAGPFGU&?B3L2PL2 MLHW!?5OO?;(O&[XA0G>9OAEXD@\'!<_N([JT2PX)VL7G[*?E4KA&'8W\J^$& M^>#8OF1P<@ 0:UZ(?;)XTUWFPZ5YR=6JA:MJ7TX(05XUKF;=*^3W5E95ZRO6 M*(+%X]YB'!X&VM5[=K8T0APC!=_2D0)=-LA(MI,IO-Z7>5HP"9ID@['K#^:3 ?LB[9(LC.69F"6#7$U ;,) M/4DGR7@^=^R'HRQ:$#I'OW)ZNU8=P@-9"3FZ+O5640]\%*X%5$U!@!R[7ZX- MHD05N8]KVSVZO2RV>".JMFWNUY;8PK38LFQ4[FUUA5](9*Q%CP\#3+?9MG/& MSG6(O5*T-7#MIZ4C_JZM)'$(Z7;+!*BTYQ72,993HZ@%;*4MI?JJU4=!'K): ME+PU1#\TBI/P"&>@I=;R-PSSG5M@U_(XEIL.#VO=K'GNAAV ME?1B?+U0('Q!%6(-#UO?=CB<0G@K*^DU@ >>%Q]3(B;,MTP7UF7C]Q4H;3)< M ^ED3A!)C(XAPC[)?6I_" -+].PKIS@*)LTF U9E5JX0?]_!O0+)W. MDLG4 ,Q373(WUR((NYYG#!VAFR%QR@-'%"A ML22N#$WAQ\X@Q.=IWV?(X#"I@^084S_DK'U!^=MLO6CB M]=4D< "&+LXR"'] M'6R7*)S=*S0QX:7*0G*S2]CM/[^X8@PI5\2P?D&&[P?H-C=A\OU&/W"%,/UQ MG?@8HU=/LVZ,DZ^"G";#X64,LH-E%VB_+?1^/Q'R-M(Q]-\:\@/7^XB322^' MFXK\5+0[G<^1=>-\W:P 0RR:V&0H0#=&%JO.&+K" M/>V^']IS#49G*C$Z@?RG)VECX76]^1U9W+'K5":3\]J3 &IZXDGZ 63AU3BA M+*G"PWA+=G+,K?SA^:(U-P_";=P+Z<]%J9.M.)GEC;D2!U"D2=G?=#B]QWFLGK);'@4F4CN1" M-[:M-Q55(,48.P.,*+0D*JH7E5P%ED5CZ!WU]7/:-'\33HV='_;Y=*!(B8H_ MFZ=#1X,"&U^F%&VJJYH0M-[X/2MMW-Y[Z=\D\S!UVT,H=C8;N<.W)W? 4ML7 M*O8X2"=MR1+(@5-(5MK'P/.U5@H9NI^8NP<%'9\[?6 RLL"G"G7"-$V)XW,V M!)\ZEPZX*,N=:2%WC6Y690C(;;-N,(T[;SW?W48?\##+018Y?#8ETSL>:<&H M4YLMQ(4= _PXGKEN*!7&;VQ%=VQKI!6O"B SXG8V&P\=D#ZSQ0\;9YD'6AVP ML97M0.@3-B=N7$EG1V$H_ZN1)J#0L19S"Y=P@TFT<<<^[1XY.>SVCNAH8[CE M5;$5%::D#P4O=;2=0*#"V*"HSCI'MNXX][,HY*O/&A5*]BF.%W0*CK M&@TV?6-D*/K7G\@(2HB2NNB"$_+P7=B-^)/)#4?IPR,^)DH\@1[:/<;L!T,@ M0N6.G["DACOJY8YMX,]7>47'K?3QQI4TWT@*/"_^1'&'$S::FK%]4+2_R2LN MUPA"\"!ES4((M0][P-?3IP[?"\G'CO4O.I]< $ K]V&)=B.(I__Z$I_&;U?7 M_I/-GMQ_^ (FK"1PJQ)++!V>SR8]9OS')']C]<9]P%EH"[1SE[2Y%(8(\'ZI MM6UO2$#\HG?U7U!+ P04 " !$:*=876L+\;8* >' &0 'AL+W=O M;S#"R^) L);9G'&?3 M[K39]<1I^Z'3#Q )2=A0! . ?O37]UP ?"FRD\YV)A-3)"[NZ]Q[#\CS>Z4_ MFYT0ECWLR\I<3';6UJ]/3TV^$WMNIJH6%9YLE-YSBY]Z>VIJ+7CAA/;E:3*; M+4[W7%:3RW-W[T9?GJO&EK(2-YJ99K_G^O&M*-7]Q22>M#<^RNW.THW3R_.: M;\6ML'^O;S1^G7:[%'(O*B-5Q;387$RNXM=O,UKO%OQ#BGLSN&;DR5JIS_3C ME^)B,B.#1"ER2SMP_+D3UZ(L:2.8\27L.>E4DN#PNMW]O?,=OJRY$=>J_*$$B"0.+L]HJ^XY9?G6MTS3:NQ&UTX5YTTC),5)>76:CR5D+.7 M'\6=J!IQ?FJQ&=TZS8/@6R^8/"&8L@^JLCO#?JX*48SE3V%$9TG26O(V>7;# M#UQ/61I'+)DEV3/[I9UGJ=LO?=XSMM%JSZYAJP8"$%V[8]G:GEM:IZ+BPG*P0A])R:7/_T0+V9OGK$^ZZS/GMO]N;Q\ER#[ MM(/KJD31R6K++%^7(E2>_(\PS.+QM=K7O'K\Z8=E$I^],,%^J38: MFV@\:K086);%T6)UQN9Q%,\R]DE9>%RA^?K@G[ 8NZ?P$5=P(H,>RJ3+B+2/ M3&V.IDZ'K$OC\5ZW5@'=E=D(K9&)02)) MFANU:%/B,THHATLUI)A%Q6S*+] M3IW^H ]2N=I6#D&M2H@X, R%Z.;]3N8[]ZC=GJFUQ9@P+*=J1*L+SK1 ZR" M>5&0ACM;40G-R_(1MT0U6F^E!:AK;@P!6HUU-3409':R=O@)B&UAO./ N1#5 M* I#\2D2"+#O)5#-@ :"C%=7*"BKE.TBZ\(ZB#\]Z\)4L*:R0/W(--*.%0+C MJ!@Z%,)?"".W%2?-]>[1R!P(*57."3]3]FN'%10J"2/>5.$AEIU5^+U55)VC MK-]#-?[YQF#^QTI&AT9.VA;][;)ZL@8\ZF]&B#EA"]1LNL)%LHH6\S-=>-[(L4!TCF:?[>R'OI&.;8>5!JCL]9%PG?4T*YJI=V(1D[!GAH@-5>&5%5YHT,_%09[NS9F'99# M@,)*I9_5$W8M^1H+O02U+H)U#J? "TCWH8K!\@A]%"<7RK[?T4^45M5@B&(2 ME!*QI)$ 6$!,NLGYC:*"AP54]^%G%'?3-N(\,,XH>(H#D7?5[E01,5,#&1OJ M[K" M?&!("(3J(3&LX(( B\D".[PU+H084'BV1X 9KPD'6E(,MC#!8P-SBW8-0: 3 M61NT0$!&0<+H5KET">SP.F57>:YH;")S84 ]B>SJ3I5W@T\$PZOK M<3I2+!Z L98@CW(E44K-WUD%1/^9I.#@^Y_3D?7Q" M0QS!YHZ7!"5*8=LEU!X] B55]J8%!FC!7GW:L-XTL*9?<0_4(F44?Q1T.66W M]'R8:K?B)%VEK/A^/]/I46K2I[H%G&??3U875&\:[284R'$./$ &WOZJ4"E9 M-P@#_NEN=QXXU(VA#T8A/8K>RPI]E()U:W'#:Z.H<-?WH('Z\E554>0_"AIZ MU CH=1!(VZN_=OSY47 = O .Q'Z_AJ5]#%K[CHW>/\;(;T;3T%-&.B#<.BSU M)^_^JF=K[>BE>41<,HWBC#ASO(B2.(9_TP7[$0?OZ0Q_>K'1'*-S]FH9DTP: MS\&RIRN2B(,IO9AXV*!9-1EB41.D_" MP.,(QF5XQV=");N"H96N;NF@1:\_(-.2%)00^*6KA'9#]L+W$)]WPDLR>].] M-J(S)B1?4:6Z9_&;E]Z$3GZTJU?THNLUI>18"!^$>=EVJY&F=R(K@SOG MOH*X3VRV7#GP\:+MN\/Y$"*8 5P)^Q1.J>%MQ7@1^$;9,BSNJ8 9I)&]6$7S MQ>SE@5$'A],3>DL39_$?"L<@:X.8_*V_^SV!B6+$Y4@+&'L^4,5>Q%&V.'L) MXH_S";A7B^;C,(OH=QA^^FLU<;3$V?(WUSR'#3V-S[X9P6@)TX>TB-YO!LEY?^(/$@V,$<.0D29(H M6<1^ M!G)4+5$V\S!N\)0SQ"%R6C<9[C^>=2;6'(2 5&V_S'EBT";#2C;UGV9HORAW?G/ M-]W=[N/7E?_FTR_W7\X^>'0"-1N(SJ9G\PG3_FN4_V%5[;X K97%&=)=[@0' M?:8%>+Y1H$SA!RGH/@E>_A=02P,$% @ 1&BG6(5&!DX(!@ (@X !D M !X;"]W;W)K&ULO5?;;MLX$/V5@5L4"2#8EF3Y MDB8!DG1[ 7K)-MWMPV(?:(FRV$BD0U)QO5^_AZ3LN*WC+?JP@&%1)&?FG.%< MJ-.5TK>FXMS2UZ:6YJQ76;L\&0Q,7O&&F;Y:%%VKJ M03(QJ*R;&)R? M+MF"WW#[Q_):XVVPU5*(ADLCE"3-R[/>17QR.7+[_88_!5^9G3$Y)G.E;MW+ MF^*L-W2 >,USZS0P/.[Y%:]KIP@P[CJ=O:U))[@[WFA_Z;F#RYP9?J7JSZ*P MU5EOVJ."EZRM[4>U>LT[/IG3EZO:^']:A;U9VJ.\-58UG3 0-$*&)_O:^6%' M8#I\1"#I!!*/.QCR*%\PR\Y/M5J1=KNAS0T\52\-<$*Z0[FQ&JL"@.:MV/^6=,T:>*4ZEJI+F0"[+,+7D5$HN0H;R"!#L9C+G M-%\CQ9=*!S'#%TA\"W7:2RZY%JK8:./%"7UDHH[H$\\KJ6JU$-Q$'MP- (L< M1M[(4C.<7)M;=XPWJFY=&0!,95E-EYU=9DB5](+GO)F#51=B*3W%(QJ-QQC$ M210G,09I$F73"5VI=L$T+5L-0@8J\ERUTCK2K/B"E/70GSV9)G'RG(Y&H^RX M^T<=0960R&NMNQWK="\V)!ZYYB@E-.UYCG< M%]';MU?]R!_$JA*PRW!HAZD;6G%XO!22U>(?Z-X'NT_7>Y1T,L$A1:M]( &N MK33GU(2:PEU-^=X+0N9UZ^9W<5B%H,J5+NCI*)DY$ NMC O ;>RR$+N.7ZBV M<)7FX4A,)98@(RQ8@Y.K[\[ /==H5\0:1.L&:Q>@L)#1FC-M^CX=-F[&LNN? MYB'NW6D+[2/%<@,$3,H6OEWOTBY5JV'\KF7:@#$UAN#N@5)0E+ MPJ!582LZ""C8BMEN%B0XU>*6PS*F)4EEP[H' %UTS^J6.VJL2U$'KY5!ON;& M!$&?X4SKM8^&QAUIGWX')V&9Z[Q0EENEP50'M^-7N"/: D.$<5];_@=H41?. MV[AQ>T(*^F@-*6H)X2-5(W+"LQ ^*J).R"F;M];#JD4C;*!3LSF""3><6P16 MA-O.<@D""'4ANQJE DE9AC##70C:<59]>JU6_-Z=-':8!X_EX##G((8"6(@\ MU$@?#/"0:>=?<,5QID.![2/I_S,P:(6LU+S+?HR=!PVN,HZ\\P5WO@W!C9F[ M?>>X-ZVW%,K6%]X=NX"G7?U'NM?%QASBL]NYU.I+N*LA6&$(>T&Y9/=*@_": M2JV:AW/YNL3>D*;]O:UGD]=(('_^2$4E?5GH&';)Z4OMY/EC5>&A_9C=_O-= M^?F\J0X7775XY0O-19ZW38MCQLI[W+"O,7((XJ%O)U/\'R7#]-AWF8RN]E>@ M>$S)-!J.IF@'DVCF]L?#*!YE]$FS@KM0,SXR;TLO.XT@^[NKS&/LF=#2+CRE)77<9 MS]!O7.,YRN(HCL<>/E3,IGL:Z2]Y)LV<]G@V\ZIA](!G)M$D3KQG@,Y[9H0> M>,@S8^>9J?=,-DN=9]+9^$?/9/!WXOP]=IZ99,ECGIF@12?9,'AFZ*\*1]DP M&L:QAX\YL-IWX1OLW-L;%^_NZ\3GA[3A"K^=W7X 781[_\/V\/6$>%R@P !8 M"=%A?Y+U2(SFQ1G8?A:>_PM02P,$ M% @ 1&BG6&>[],L4! 0D !D !X;"]W;W)K&ULC59M3R,W$/XKUAXZM1+'YA4X2"(%:-5*/15!V_M0]8.S.]GUX;7W M;"\A_[[/V,D")RZZ#[!^F7GF[9EQ9AOK'GQ-%,13HXV?9W4([46>^Z*F1OH3 MVY+!S=JZ1@9L797[UI$LHU*C\]%@<)HW4IEL,8MGMVXQLUW0RM"M$[YK&NFV M5Z3M9IX-L_W!G:KJP ?Y8M;*BNXI_-W>.NSR'J54#1FOK!&.UO-L.;RXFK!\ M%/A'T<:_6 N.9&7M V]^+^?9@!TB345@!(G/(UV3U@P$-[[N,+/>)"N^7._1 M?XVQ(Y:5]'1M]6=5AGJ>G6>BI+7L=+BSF]]H%\^4\0JK??PO-DEV.LE$T?E@ MFYTR/&B425_YM,O#"X7SP7<41CN%4?0[&8I>WL@@%S-G-\*Q--!X$4.-VG!. M&2[*?7"X5= +BV51V,X$+^ZH(/4H5YIF>0 P7^?%#N0J@8R^ S(6GZP)M1>_ MF)+*U_HY'.J]&NV]NAH=!/PDW8D8#X_%:#":', ;]U&.(][XQZ,4R[)43 RI MQ8WRA;:^<^3%O\N5#PYD^>^M/"0SD[?-< -=^%86-,_0(9[<(V6+]^^&IX/+ M T%,^B FA]!_M%0'0=YV\:WT7-?25,B'XMZ+$78OW[\Y'H\'E/=I.F4I(@]L2/%:<9&Y(04\8,)Y\E!Q>LL%0 MP[X%EW!>\LI;K4H9L+D/^& HP"30_VR)42!PG*#-'HYOC\8?3^/QT7 ZCO?%80\+1*U*<@Q9(YW6*5@1^^H J94AD./KNSS1R'3=[XQ'>#XGB/9RVAK2WS(58[%LQ3B.T3ZAVY7QL[P)X+ ML7QU>9TN_TC4NI(ZWLA8KQLXT:P0^H[*8W$DS@*4QY>>//3>/KS-S:^Z94C,3P>G@W$6_,M?_$LH2!5?'R]B!,C MO5#]:?^^+].S]BR>?AS :L5TT+2&ZN#D;)JA>/'!39M@V_C(K6Q ]>.RQF\4 M
&PO=V]R:W-H965TD!!LXV':@YM<&XO$SFRW ?[ZG9TV,*ET+\F=?=]WW]F^F[92/>L2T%UC)=N9%WG[A@:]+8Q>"^;1A:WQ$\Z.Y5^0%/4O! M:Q2:2P$*5S/O*IHL4AOO GYR;/4'&VPE2RF?K7-;S+S0"L(*(U5 M98E(QI\=I]>GM,"/]I[]JZN=:EDRC=>R>N*%*6?>R(,"5VQ3F0?9?L-=/0/+ ME\M*NR^T76P2>Y!OM)'U#DP*:BZZ/WO9G<,'P"C\!!#O +'3W25R*F^88?.I MDBTH&TULUG"E.C2)X\)>RJ-1M,L)9^:W8HO"2/4Z#0S1V<4@WT$7'33^!)K MG12FU/!%%%C\BP](1J\EWFM9Q$<)[YBZ@"3R(0[C] A?TM>6.+[D?[7!#==Y M)?5&(?RZ6FJCZ#'\/E1Q1Y@>)K0-,M$-RW'F40=H5%OTYF6F MQ]B/7\51Z&%A[^6_6US#EE4;+( 98%M4U'B02VU *A T ZBQ*_[&EA5V@3ZT M):=)0*$63#V,=$G?2X1K63=,O)Z=C.(HN]3$4C=24!X-<@6\3\GHT+N6YV^4 MEPLPA%[)BKBX6(-QR6B\N/4&%9>%!E>&,%A,@)Y%7KIW<8,YUDM28IVO7'!Z M]P6LI066$M=9"@9 MJS3$0S_+QA G_C@:]:?%4<.Y.Y13& W\;!B1D25^.A["H>L./G1AC6KM9HT] MEXTP74/VJ_TXN^JZ^#V\FX54\IH+.FY<$32\R 8>J&Z^=(Z1C>OII30T(9Q9 MTDA&90-H?R6EV3LV03_DYW\!4$L#!!0 ( $1HIUB@&?9#7P8 %0/ 9 M >&PO=V]R:W-H965T/]SE\26=U=/NV^? MI).%-M_L3 C'GG)5V-/6S+GRJ-.QZ4SDW+9U*0I\F6B3>:=< M=9(X/NCD7!:MLQ,_=F?.3G3EE"S$G6&VRG-NEB.A].*TU6TU _=R.G,TT#D[ M*?E4/ CWI;PS>.NLHF0R%X65NF!&3$Y;P^[1:)_LO<&?4BSLVC.CE8RU_D8O M5]EI*R9 0HG4402.O[DX%TI1(,#X7L=LK:8DQ_7G)OJE7SO6,N96G&OU569N M=MHZ;+%,3'BEW+U>?!+U>OH4+]7*^E^V"+:]?HNEE74ZKYV!()=%^.=/=1[6 M' [C-QR2VB'QN,-$'N4%=_SLQ.@%,V2-:/3@E^J] 4X65)0'9_!5PL^=7>MB M^OY1F)Q=B+%CO,C8O5#$L2<=AWG(NI/6,4BQJFB-;\E2Q)%)1B:I1A-:,M 3YF:"3;1"-\MB>@07D\Y\<2Y$*O*Q,/[E M7LRUFL."I49DTK$)3Z62;LEVV& 0[7\8X*'?C^*#F%W*@A>I8$J@O:P'-/%# MY,ZG1@BH@+.L?WC(DFZ//6K'%1L<1O%AGV(D@QZ[%M:B7XR!)?K#548ZB6"[ MW?Z'/?S&R=[:JDIMO"9X+!^2@X"E.^BRVX(-JRGZCG5[GF]8"ZWX7._'29)?#S2!J1!5?Q[]W@O8EBC0%:9+)SVII>Z,F[&AL@3 M.JXNJ76^INH$ Q-M#1<(D*XBISF$=5*0"'4Q0L2:? MXV6='T*? 4D@WTX_) M9^@>M^8(/*XP&NB=+G[%F^FQC1L\/\00%I6*BS 4. M*XIH:8+:450+DML)#V<5A&J$!-H; -GVNC@EGE3)ACAMZ@*J*\@Y=(#G&B6( M1&F;(CP$IV'C]*P(,PFA1WJ\P*SG"4)KFN2@"[QL3XT,.E3S._/\)@N$GV/A MM$R?F.NKT>W]^['/&H(\W%XV;\]\;M=,]MQ^+N!V,5A(I=@8K43Y0%Z0-E#7 M@'26A0FJ$B $6J&.1Z/>@(I$0,)+J2J$+4L%V2(VX?0ZE52/5QL:'% 5-;1; MZ&8?0Y)2/1=X=O:([?(];)M/,J]R]KO1V+BN!5*",S"[)ZF+Z%B)33NCY;S& M.-J/M9*9U_>K@O9HD16T ^["HW&N6^TEP#V6R5"1\?+'T3^.KAXOAE%=_9RX M5V@'-J<"7W?E'NNUDSX5KMM&JW@10]J="&1'FTH-O=1UCD&<#*))^SJXG$)N MK&<1N_.&/X4_[!F[TL_=CW\\=TKG AK9-G4==8S2R,*7YGP]#Y?RB?;2&4I/ M&?OU[ILWH8L!: +7 MN#W #&PO=V]R:W-H965TKK6YM14BP8^F5G86543M)(YM7F$C[%"W MJ/A+J4TCB+=F%=O6H"B\4E/'69*&W =DTCS/T" M:[V>16FT/?@L5Q6Y@W@^;<4*;Y"^M->&=W&/4L@&E95:@<%R%IVGD\78R7N! MOR6N[*-#?/5.PK?SI27# MI?'],7\#W/AQ.'==)K85.X469 *J-*=%:JPQ_!7A5#JFJ\M*P.)98U@D<6X%5#%D@BY;MJ.A+]? MNG370^; VE#(NB,L +>FCVIM&;-E!GE@8+UIQO)(_$'JPE$H9"Y8=<+V#>)> M3?E"<(\1?.H:-()8VR'\N>$)?.*.)Q6?X59&$!FY[(*GI.'#<#&$M]I2"%LK MU#T\A_%@/#KE]2@;I"?9,5RBTGPQ'9<)?/5=@.V+.Z:WPF#, K=#2\S/13)- M!J].,[^\SG;5=USY;=SV0:[*DKN<2X'WG_L<9RKOC"2)=@(WI/-;GRSNIB%; M;2V4A8PC^>+9699F;^!RJ]EJ0D52U'L6?Q+^B?7!^7X)HOB'VQK+K@^+U>NS MDZV;B\-B\QR2X3AU*4J&67(T>C 0\WVZ(?3_7]\+'>$>\T>*[[E1]CELGS MM0V]OC_M)^5Y&! /XF',LNV5Y-376+)J,GQU$H$)HRML2+=^7"PU\?#QKQ5/ M>S1.@+^7FNMCLW$&^O^'^7]02P,$% @ 1&BG6$^*B(*" P 0@ !D M !X;"]W;W)K&ULC55-<]LV$/TK.VS<7E12HF3' M=B7-V$XSS2$SGCAI#YT>('(IH@8!!@ MJ[^^#Z!$RXFCY$ )'_O>OMT%%O.- ML?>N9O;TV"CM%DGM?7N99:ZHN1$N-2UK[%3&-L)C:M>9:RV+,H(:E>7C\5G6 M"*F3Y3RNW=KEW'1>2>M6/,=^T_M MK<4L&UA*V;!VTFBR7"V2J\GE]2S81X,_)6_^ ;5BH00<;G'6_6V,';&LA.,;H_Z2I:\7R7E")5>B4_Z# MV?S!NWA. U]AE(N_M.EMI].$BLYYT^S 4-!(W?^+QUT>#@#GXV\ \AT@C[I[ M1U'E&^'%*@A<);H%C^\#) M\N>?)F?CWX[HG0UZ9\?8OUN.'T<3#BWYFO%99FKZ.G&H$R'+13VDF80NPV Z MBO8WIFF%WN+&%<8&:Z%)]L0>:>1'] /'9"IZE9]?$&X6\O!KV-I9A9W9Z.RB M)WZ.7K'F2OIHI*/H,"U'&^MVHX(#2B0<57U:X>T5OCH M]RS-3Z+7R45Z@4B!3 MV$#F'J3I'.A,56&)5EO 'X3J>C:AT'.%+OA9[%0@(JD[)!L*0N/V^ "L.J5> M0I-8P\#YHVI&M*DE,S! M4S&&*@ 4=HH.C@#:N=@%PY> '4*YU4Y0Q*)*OP7RKX\)BP0[N=.6,\V?>GN9P=M MN6&[CH^/"WZT[SOTL#J\;U=]6W\R[Q]'G+LU2D"**T#'Z>O3A&S_X/03;]K8 MY%?&X\F(PQIO--M@@/W*&+^?! ?#J[_\'U!+ P04 " !$:*=89DJYUD,& M #X#P &0 'AL+W=O@VTVS;AYU]H"7:8BN1*DG%\7[] J2DR*F=;5YL M222 ^ (,\V2G\W.><6'LI"FO-!;FUU.AZ;-.F MTIQE3J@LQG$83L:^W>J+,U7;0DA^J\'493FB_V_!%\(WI/0-Y MLE3J.[V\S\X'(0'B!4\M:6#X=\^O>%&0(H3QH]$YZ$R28/^YU?[.^8Z^+)GA M5ZKX*C*;GP_F \CXBM6%_:0V?_#&GS>D+U6%<;^P\7NGX0#2VEA5-L*(H!32 M_[.')@X]@?DA@;@1B!UN;\BAO&:679QIM0%-NU$;/3A7G32"$Y*2<#+!;#]3T? M7+SZ+9J&;Y]Q9=*Y,GE.^XNR]JRF_3@/J8>_&ZD&N(1B>PY4P3)JWJ M==XXYOV:'O*VCSUG329:[X0Q-2*H:FUJAE1'IV@_2L9P\Z,6=NMB^UZF2'X, MZFZF;PLFX34)#/9NIO7!L?LH,&+(G8RGW!BE@\9,.(6/I13+VOR"C7:G5SO" M4FR<415M-8"E"SA3C$6+%+$:N:*!"Y3VL>QK ,SQ0=3T*0!F< ZEN0.+JC?X M+M7_4UGSPI'!/L7754/+[ ,T)M?D\*:L"K5%YE\+%+0H\JXNBNWP"[(.==#F M3_BH14JOKAQAX=-Z)] ;U+Y%==$\0-1RR%MU6:/.(!W0W27GTM.!RI3:GZ-1 MCS:O?IO'T>RM(6^Q"ENGT&&&Z#/TU>T^8&1#H7,#ED#[6F)2UJSPUG)58)9, M8P1*'%*4.PH>-1I*0J[0M:;G/ZZYF0F?21I_7Q80M]Z/\F[#6N/D1:TIUQ;/CM"& MBDJI VDZ(%4/I*_/QS7'M=9%H@;N7&%K8,N"[]'FZ\B9QX]K+KEF6'Q@\; Y M='U?,Y+=^D;-_)#R;$080F5$C@*;'88Z$ZEK"(KZR$9@BT 6N=Y.T2JVGKK[ M( !;HUK/YUX*G!\M2-?U5IA)UQ2HL!"5)Z;A%=.^/CMTA9+KH47^@>C2@A,, M72W-"S%7>Q$]A]FC[15QDX5:G3:H/ MRG5BW#U?*HP$N+:UF. M2_[F@H/=.+&G>0WV5EWP O[Z2PK55CM&/.'<@#6<"'O:+^*N!QZJX:_N5H*O M"XP#7K+@8V^&,M>-KK'QE$MD5#.K$HBGD^!D%D(4!Y-P F^F89 D<#R9V]$L"6:3>1>+21C$\0G%(AG-(]AWEA_W;F,EUVMWYZ0)6TOK M+V;=U^Y:N_"WN&PO=V]R:W-H965TG1Z[-<^F--CW;I2U?3!"-M6E32/YU3JU*_KQBO$R7UO\5JR [/QB)K+5.5W$S+*A4'7[E0XS#8,/; MZ98-2=R0>+N#(F_EI73R]-CHE3 L#31^\*[ZW3!.U9R46V?P56&?.WTGE1&? M9=F2N")I6T.(N+/'$P=P%IED$>@\ "5;@.;B2M>NL.+G.J=\<_\$1O66)9UE MY\E.P"MIQF(^VQ/)-#G8@3?O/9U[O/FW/;U4-BLU.VO%'V>I=0;%\>=S/@?( M@^[3#XH#?X8!?ZOTG-?P(2'PL2%[IJ M9/V(0G9D4%^(B,/R@K?<^RUZ(:2U!'E9YZ)4,E6E<@J"S(9<@%J\@QZR0M9+ M$HU1&6%).A"R+7.1$MB;$=&JEPX+9"!VBX('WL-C^)'2-*# M<@'R)Z&")KS5F6IDR0"5MD[(_%[6#CU$MQ;D,'< 9TTLW:M:XP('R-KD9,K' MH%J&'I&26Q'5'48CC5.L"M$:^W"MXX)P&%J' &K:JF$0&WQ_!B+&H[4D5@6T ML%NJ7FX$I+=R#V9F99M[@0&X3-%:A5'VSN>#7>07"_&"#/+*[K&%TGOD*"MJ M]<7;&\55W;0P!E'OQ9YX)PI%1IJL0+0&B8;90##;8#:T(3HZ94[(M"1VK:W7 M[V-QO?X6D=".N5=WDWR>S-D15ZM9DS5/GJFVG;%26?+,\>0R1*NJ?2HW9A"N"/S(:6HXFX M58&,0T!IP42;&942$PMKWS%,5(9 M.!*Y.R@M4+<#30Z'>0@ ^R';T>ZO\K;A#J6;_0NA)K02 MG[A@8K 06ZQ:UEXURHY[U68-5.N6.A:WU^]N^@!"$4.R4\*N9&/%OOBH499Y MZSLD0H&B1('Z,AE*AU9JV3:PW3I0E_O O32*0[COA7)*W=ZPN(6LF!RY9SIY M0&^&YI)829/O PEU#:1OV,G!X[P@U(AN['=..UGRYA?)=&\ZG7HUW3,M%A3* M\*Q=XM@B9HF?W(F7BFMQFN,+%#9!OGQ\PBJ$(S28IX9M]-Q8KX/2BGYN;@V= MSY ?T;4+ PX?5>6K35:ZK6.RA\$,K&] 6WG4<5 $M[]D>B2N?1?/6N,'1FP1VXX)B,L--3H4SB6C?[_DVO[8Q?H Q-ZP MZ!. M&0YLS,!A PCM);1/T NE']-JK4:;95G?&)Z6F^]3QG>DP.8EIG8\,&I$EF=Q MZ0%B_]S&;13KFBY^YL>2/$]>C1>='7&ALS47FD\* MW"OP9'6ITB1ON(X3 !!ZZ[)?9^&6X>?$#KDX+H! MI^/9S6XZWV%[1[L % MQJ$DOK""_M\)I_\ 4$L#!!0 ( $1HIU@K)IP^D@4 '<. 9 >&PO M=V]R:W-H965TZX#M+KLIS99^O.3/+BT[46;VXUXO4RXO>Y7FI%OS M_E-Y9_'4:U$2G7/AM"G(\ORB9 ('&EP:STYJ4B>OW*_3WP7?X,E..;TSVETY\>M&9=BCA MN:HR?V^6OW#CS['@Q29SX4K+>NRHWZ&X\T"5;[VX0;BN$0:O( SIHRE\ZNBV2#C9G-\#FY;28$7I>K 7\*.R71I& M;VG0'XSVX U;%X9N:9^6?+F?*M;1'^]!_*#-[$7;SVX:E M/U*F&Y.7JGBF5#GRJ65&O;7#RC#,I\I3;![9DO:.4E/9[)E4D9!3F;(:<>4F MT(YT@?%,GPHM\7[P"+L[)5.P% Q8)C3C G27S0RDG MH-2P#I[&F7).SW6LQ$YW/31O?IH.HLF9VV#BQ)B@;WLE]%^G'O@N))1ASG. M6'E#:PGZ4,0F9WK@N++:/]-5[,G,*3J9C! BX& 4:HX.A=V@?W9[_^'A*MQ' M9T=U#'=X4)I,QW7J=/'(S@=;BTHG+ IR$BN,4$TP62$UD$_)H8$&%W:'I@'6 M(2RMVXB]IXR5\X$->IC.JUSRHN+8V$05,:/I^31\GE=%HHL%.0]^RB9.' Y^ M;=@D66\\_MV&JE[$FK!L!;UN:/-&%2I17<1W7::_PFYB\K?K05NSLU^.(9SJ MQ^0=/'&\)H9$._1Z$238S2L+!A98,)P!"@MG=[.6Z%UCY[JQ(Z5,OV,-+]EJ MD^@8-_7"&1L']Y<,*U#,W&1 &(J^4=F"5N%'/3','XZG1[B,CJ#NV"P*_15#"]!% MXZW0/%1&F7&.HF.*QJ_[ 5O1$!<0V>Y:N4KX96U*YC<#MRM!(K&#J-^G!&4& M[4E@ZBZ8UU&HJPSK$K*X6IA"PCFX'4SEZK.4BX@M$S#X:3 MUI0@=;<$^+])[K$D]_CXN\D]05X/I\,CNLH-&N_7T#W%;_1;4)&%1\?5)FJ\V'Y2X4& M"Q+874E#0/)48DI8!.$JD688$B9]#]]6':F9E[Q4V0M--I]DX[O2FJS M\WQKH,FV@"8GJX7G13-&?%=+G_M1.:+J&KBML*T[LJG8E41OUAOAR_V$*V'2 M6$A25HX]W5,DNW]+H6(K,I"*!C6H%!*HES"(M@BYA:]S%3<[NSHJ=4F$H@[K M67WV@,9<\%?JMW!2/,[$.FP.VY5H,VRAO]11:COW?ZVSS8XD)19)*XU&S<)$ M$Y3#8#L9@VE$@[&,/.E/Y3J&ULK5EK;]PV%OTKA!L4+3 9SXSM/)K$@..TVQ1- M:R3M[@*+_<"1.#.L)5$AI1E[?_V>1]G'ON(?5ZY_QU MV!C3J)NRJ,*;HTW3U-\='X=L8TH=IJXV%9ZLG"]U@Y]^?1QJ;W0N@\KB>#&; M/3LNM:V.SE_+O2M__MJU36$K<^55:,M2^]NWIG"[-T?SH^[&1[O>-+QQ?/ZZ MUFOSR32_UU<>OX[[67);FBI85REO5F^.+N;?O3WE^_+"7ZW9A=&UHB=+YZ[Y MXWW^YFA&@TQALH8S:/S9FDM3%)P(9GQ.W^]$D?\XX7^:*(/^J77SW;'&DLC8TKDR#84%IJ_A7 MWZ0XC :\F#TP8)$&+,3NN)!8^4XW^ORU=SOE^39FXX6X*J-AG*V8E$^-QU.+ M<MW'>Q0/S MGJ@/F&D3U/=5;O+]\<>PL3=TT1GZ=O'HA!^TGZJ3^40M9HO31^8[Z1T_D?E. M_JSC&?Q5[VS("A=:;]0_+I:A\4#//P]%(2YR>G@15M1WH=:9>7.$D@G&;\W1 M^==?S9_-7CWBPFGOPNECL_\/N?M_S*NNO,O;;+AWJRX+;J72%#2%?>K1$F,D]G!_F)[\*C^U;H+/.M+B9J MM['9AC;K_ _4'F8C<:B24"YN6?Y\)G,8GR$@X"V:EKG0\&_0A8%M[S$HSRUI M)UKQT(I[2V%*ZW*;Z2(N%5?G<)MC*;O"(V$R> XPN:*-OU;JNG*["I'+[=;F MG/:!.$_5[Q6'7.F,LZF/VA;>Z5Q]\_57+Q:+V:O?KSY^E,OYJV^9]LR;QJC? MK%$?=-,8KWZM<.41H_D)*W'^W M&!YT:TT4'#3,'K+D$%XT@Z8PA*"Z6'L3K[[A4FGPH1=ZRW>VV2CZ0LQ)J+9& M[,3_U5/T,V!KK0CC=8QH ET9G41$'XA3Y^=VJGZ>OB4( P>,W;_G+B* 7*I? MW%1=OE?SLZ=GSTXGW8K@F<9;9.H2,&\4FJQZY]IU 8SA#C(W4;^8I=?A6C-Y M.1;CL$/>W\\$3=G9 G#0MRD<>$.O,0)^XZKD$G3WR=EL,IO-)'#HW,"/>?I' MFZ]E!2NI"4U7'DN,KF*,M7JRD(&V+ WRC4FQ5K2&%LA+7-0;%B"C_N3TA8RH MM66V\5]H@/C(-FX+![4*]N;IK=$^E03*"].#F#$\5819K8STR&890&^4AB63Q"N!F9@0OLH8J?J7>LY62Q-ZW/U&9%-)8@@SJ5.,E=5 M2$HA8L7/G[\*"LP'A%IV@*Y57"%$F/NJ\YOD&'I&CGXC,P\[N]&(J"0) MQ-1F,8M/GDF46*@TL,\]4SZ5SG<0A+H(#KYD19LSAZIL&Z[JH4YU[&Y 6M<- MF:&B;ZHL5B^$);S/3#-D3D:PQ%FL8!%T1<-22:3M.\Z27BV!JS F)\Y3VQC6 MX(JY#7P&JU(UC?A1AF,=< )@$_TT-S6RPKX5*WZ4;$'^P3@P;@,?Y#'3O"$1 M3\3'!I4&';FQ869-/H4RWUKN* MCUDT",'/"'5!Q&2H65CRF)2I=.2'B0)_-6;"Y;$% +Q0:5NDVO(99CV&685# M5U>%WL7D(J52L0YR9)S1)!6:A/84&C/8.1T;U(,?9.@\$(X9P%0UU(/DR^SY M-UZS1#\0=&L*%7!NZ!B5_,KB6;522D@*JQW" 8W_I[8RZDP*_CEYYR^F,AXS M@S$!"@1/FN=.TZ?,H"#S@=+03PF53PQ5N!/YJ\'C"^KOVUXA?']UT?=TJILL M18IJ<5_"_QUY6E"/P /-#42LU/ M9W4!64(PT1>: 7E&ZNX8@W1C4VT M/M!F5H7N&FF-?SUQ,G_Y8A$7JXRT^\ BV>JBC?T)+F,'Q#8BG!*:T*$Q;J@- M08R6?]L1(%7#W:4U$016+L70Y:V\@)S2 *:K!M9OY"G2]60^G2O042%[=9B M&\^[&Q/)9NSX;,BQZYIH ](M6W\6:$]*K"9];2C6)5GX.S\1EAGJQ#0QX$!_ M=)$XLN1/CBKH*C6'EWM/XH:IW38)[4YB3@4) .$C(A0NJ;[:1?;XR?'B',SUV5,ZXH MEL(+58TR/ZI)A;V\Y<[F$($) :]'6^\L(6]5@%% M(,9W41.'ZT*#)84T$I@[RN?*22]KN@Y?--*516SUFB>6,QEU_O+Y,P[>83L# MT/3B)>(#>,BN(P:R9',,+B8UM*51V!&)^"8-Q(4EK5P^IPXNMB8]?WDZ'39] MBV?2CV>3'I-XN164@.#1703S%] 8%?YM9WV*T4> M@VB=+X>2!KS03B,B8FM'SK&I&K?&PS0M;_9B2_8\2*/B@0[HJ(MZ1YNO]H#/ M$#"YF@QM:VNBD(8Z#5_R<1\F&82E$VK-N;_C&AU6L5NJ=9;F)?O4(\6Q-)EN M0U_>!74JN\PR:J54/MN8HH?)=Y(@\Z^(:7/3])Z8T0NY(4;C$0::,9SJBZ4K M T1$-AKX?Q)1C[(!^*-*^NZ6Z._!CC@9 M6GX$>TK(4.E+T^R,B;O&,3\E("8YEC1 Y:JG\@2IQ^8P#)V&!=OMLO8). %6 M9I4V,E5OI19%J=HJ'IS+T]9[V,KRWD*=:RB3"<^N]#IR:\\L2U-8LS7WA$ZO M^."(66,)6X"?4$1 M?4],2FZ!*M'#!%EW+(9%4 _2JX;.A:VV#ANU*MPNR+:[QMY48@XZ3P/)W+JV MM(G=GA,B&[T^2:%".3H MH"<*>\UK\7@D21$563X;C\ MT8@B:CQOH2LZ0/8NX31,B'O$",_!%SJIOJ&^[57RG8>(A+D1SI!#L_Y4_]O^ MM $BA)R?'SK&XH [*1D7QR M?W$ON3KQ !2\_+:KM"$=K0DE0U]*G1MAW\&R&++]5]/>B&^/@'ZPB0U5=RCC M$YY7B3%Y_S$.;0NB#VO'HPRCVZ6OY_"M\4#7Q&VE_ MM__"?!$_K ZOQ\_3,&[-ST>%66'H;/K\[ AJ7S[YQA^-J^4S*^JJ<:5<;@RB MX/D"GJ\<""/]X +]=_?S?P-02P,$% @ 1&BG6)Y&?^9@ @ Q 4 !D M !X;"]W;W)K&ULK51M;],P$/XKIS"A36)-FZ0% MC332VC$-B:%J9?#93:Z--;\$VVFV?X_MI*$;78407QK?^9[G[KGZ+FVD>M E MHH%'SH2>!J4QU448ZKQ$3O1 5BCLS5HJ3HPUU2;4E4)2>!!G830<3D).J BR MU/L6*DME;1@5N%"@:\Z)>IHAD\TT& 4[QQW=E,8YPBRMR :7:.ZKA;)6V+,4 ME*/05 I0N)X&EZ.+>>+B?.X-3LI+RP1F?BVDP= 4AP]PX!F(_6YPC M8X[(EO&SXPSZE ZX?]ZQ7WOM5LN*:)Q+]H,6IIP&'P(H<$UJ9NYD:-G8\#B"OM9&\ ]L*.!7MESQV?=@#C%X#1!T@>@E(7@'$'2#V0MO* MO*PK8DB6*MF AL;D=0YAW>69MGNB5/#'<2F%*#9]$ M@<5S?&AK[@N/=H7/HJ.$MT0-(!Z]@V@8)0?JF?\]/#Y23MSW,?9\\;_T\5"[ M6KKD,)V;W0M=D1RG@1U.C6J+0?;VS6@R_'A(ZW\B>Z8\Z94GQ]BSKW;54)%+ MCG!JY>HS(,8HNJH-63$$(^'+8#: :ZD-*IA+7A'Q=*@C;9J)3^.6SS9+DGB2 MAMM]I7\&G4>C<=1'M1+"O8'@J#9^3VC(92U,^\1Z;[^*+OT$OO#/[(IJ-\IO MFG:_V0>TH4(#P[6E' [>VP%7[P0^V-IURPJ%V#OUU*:G>$2 M](L[^P502P,$% @ 1&BG6";:+PY$ @ B@8 !D !X;"]W;W)K&ULG95=;YLP%$#_BL6D/;6%0#ZV#)"2;M/RT"E*N^W9 MP1>P:FQFF]#^^]F&L&Q*J)278)M[C\]UY$O<"OFL2@"-7BK&5>*56M=+WU=9 M"156=Z(&;M[D0E98FZDL?%5+P,0E5

)-O./"CA:EM@M^&M>X@$?0/^JM-#-_H!!: 5=4<"0A3[S59+E> MV'@7\)-"JT[&R%:R%^+93C8D\0(K! PR;0G8/ YP#XQ9D-'XW3.]84N;>#H^ MTK^ZVDTM>ZS@7K!?E.@R\3YXB$".&Z9WHOT&?3TSR\L$4^X7M5UL]-%#6:.T MJ/ID8U!1WCWQ2W\.)PF&4I.GTXTY7@(2/4E,*"_02DK,"S#'KE7L:[.#C?.SGK;N:.$%6H0> M!->E0E\X ?)OOF_,!KWPJ+<.1X$/6-ZA:'*#PB"LV>Z%-[W+#TGPL0-H \SX7 M0A\G=H/A\Y/^ 5!+ P04 " !$:*=8O%#[D6@$ #Z"0 &0 'AL+W=O MN^.1L[VQWUV!Z.&A M5-K-D\+[ZCI-759@*=S05*CIR];84GAZM;O4519%'IQ*E4Y&H[=I*:1.%K.P MMK:+F:F]DAK7%EQ=EL(>5JC,?IZ,DW;A5NX*SPOI8E:)'=ZA_UJM+;VE'4HN M2]1.&@T6M_-D.;Y>7;)],/A3XMX=/0,KV1CSG5\^Y?-DQ(108>890=#?/;Y' MI1B(:/QH,),N)#L>/[?H'X-VTK(1#M\;]9?,?3%/KA+(<2MJY6_-_A=L]+QA MO,PH%WYA'VVGTP2RVGE3-L[$H)0Z_HN')@]'#E>C%QPFC<,D\(Z! LL/PHO% MS)H]6+8F-'X(4H,WD9.:BW+G+7V5Y.<7*^&D [.%M46'VHN0J[.U43*3Z,YG MJ:(J(DY>0)S"9Z-]X> GG6/^U#\E=AW%24MQ-3D)^%G8(4S' YB, M)I$\ MJ3B)]AZ3Q>M7X[>CFQ-L+SNVEZ?0^PO41_(TS!\%T@[(3%D)?6#IM19U+CWF M\-Y0H;2+3XXRD@M>_BBUT)D4"NXH*-)&] X*<8^P0=1 4BMAR4[J &QSLD;J M7E^$]R;#E94$4BG*\0XU6J'4@;]CY:.O)V)?=2 2XC@X>_WJ:C(9W?R\7*[# MX_CF'&C\D+5'*TO8=LRDCF,I[&^=Q^B,*#65LPX;WX$WP#L8QJ.++\%L:;W, M%,8:77%R;W%7JXAS=_'W$)9!$0E0AP$#'B WH(TGX$S5.>52*?:+L9Z2V!KC MR9246/Q12\[1Y@"L)JC@&BCT>"3#=0D> A?J@,)>($%EQP79"!52'(ZXDERY3QM6VA_00/L4JF4IJUDBR2Z%I M8C/J(/BC\[(,Q>,$B/P;#:[8,&\F;DO+"*4<2PA MCR6@H9(5W50!ZN20E#:RI"Z5.I>9X$.CK72+ZPOA*0<'8@#X4-$!PREO@G'Q M. @3^4!PY09M[+0V&A>9]O276EAJ:(ITBY6Q'DC78Y^ZPM0JYPA\UO).H01] MJW4\S+I&?](A?55_UI+D8Y$V1)LV!OYMN!I29$=D: 2$"<'[;OSNQL%2:RI/ M#\-?_R>8P'KU3IL..B$YVK/N 9_T1)$:/6S<9A;L<=",@G:E=L]73&V[)1;- MW)I/1ZKX:PA!J5/A;G"/Q(="]:0AX$A*XI,TNWI#G2JI2] -^T9\>G0>EVAW MX=;!(#04X]'&ULI5;;;N,V$/T50ELL M;$"-).IB)6L;2+(M&J#;#>)L^U#T@9;&EK 4Z9)4G/Q]AY2L.*EM)-@7B9?A MF3/#H]%,MU)]UQ6 (8\-%WKF5<9L+H) %Q4T3)_)#0C<64G5,(-3M0[T1@$K MW:&&!S0,LZ!AM?#F4[=VJ^93V1I>"[A51+=-P]33%7"YG7F1MUNXJ]>5L0O! M?+IA:UB ^;:Y53@+!I2R;D#H6@JB8#7S+J.+J\S:.X,_:]CJO3&QD2RE_&XG M-^7,"RTAX% 8B\#P]0#7P+D%0AK_]IC>X-(>W!_OT']UL6,L2Z;A6O*_ZM)4 M,R_W2 DKUG)S)[>_01]/:O$*R;5[DFUO&WJD:+6137\8&32UZ-[LL<_#6P[0 M_@!UO#M'CN5G9MA\JN26*&N-:';@0G6GD5PM[*4LC,+=&L^9^56K<45KLH U MYMIH,KIG2PYZ/ T,XENKH.BQKCHL>@0K)E^D,)4FOX@2RI?G ^0UD*,[L )F'GX/&M0#>/./'Z(L_'2":S)P34ZASQ?X^94M!R)7R+>0HJAY MS9R2WJ,)-=2:,GKDIG7-]"%=-+IX9#N*R2Q <51GYQ,RBOSX/!Z3-/*C,"&C.,W&Y%X:QA$BH@A&0QRE");:E2CU MDSQW\&%,R0E1I8.HTA\0U;'4O%MDITE8/752L*XZK930("9^B08SS5!%K[G] M7U=$X-UN.J+(Z9 8BSV>:&,3_3[MV;IC'_%>;GJ7%NB0V)_OK[NU&P1''X; M(_Y(-9"?'7'40D33L=-$GH_)5R2E2"T*V0 9];;CWCCVTSBSICF=C,DWP3!Y MA0NJD HIX' 'KYUHI4-K]PTKIM:X.XI1>]3Y3>GY&.EU'KF[Z25@6+"C8=BC MTWV"ZK4J'U%_$M'Q"1UF@PZS']#AI=: F=R7W5M4=]+E\=+V6HHUY^V@Q([) MRUI'ED^'Y'A"6?@?*RKW(_L,!31+O!L[>4/)B;*)GV:N&J03WPKQ:)&)Z+F? MIY1$<>AGV>2(3/J(:.Z?8^6BJ9]&V5"#8IKY21C9413[-,P.UIQ@K]MH %5E M>RK[L;7"=(W'L#JT;9==M_)LWO5\F)AUC=PYK/!H>#;!RJ&Z/JJ;&+EQO&ULK5=M;]LV$/XK!S^Y(G:RU^607B Z^5&5M3WL+YY;'@X'-%UA)V]=+K&EGIDTE'4W-?&"7 M!F41A*IR(*(H'512U;W)25B[,I,3O7*EJO'*@%U5E33WYUCJ]6F/]S8+UVJ^ M<'YA,#E9RCG>H/MC>65H-NBT%*K"VBI=@\'9:>^,'Y^G_GPX\*?"M=T9@_=D MJO4G/WE7G/8B#PA+S)W7(.GO#B^P++TB@O&YU=GK3'K!W?%&^]O@._DRE18O M=/F7*MSBM)?UH,"97)7N6J]_P]:?H=>7Z]*&7U@W9T=D,5]9IZM6F.:5JIM_ M^:6-PXY %GU#0+0"(N!N# 64;Z23DQ.CUV#\:=+F!\'5($W@5.V3-IC^K"HKG#WN3%,YY&KP^@3SKTR2'MDQLJ MPV)5(N@9M)Y8F-[#I?RH#5P97:S(F_6-+E=>TOJ#PS2&C,5Q M&NRRK9!"RYKC&]E,L)3PI0F+LX008BZM\QS+#3K<0A:<16,.(F$BR^#&(>[X M(R*61BF(E&4\A7?US) 20ULK@SO($L[2\0B&G/$H@5OMR..:NG83_"/@I#TF M'VE$3B1DYP#[AAW[AM_-OC?*ROGD4?S,?30:NM"*6J=I[ M@!3[E/@3CVD@QBP=CF@P'C(^3N'#'?D3#O$1BX@M7+ HB?PYRMR>?+;<.MHD M?IOAI[R*_W>OJ."R.&F\XB)KT(U3L>M5Q(;#R#-]/$HA%FPHTCU>M:5RM.'Q MEJV;-DU%I.YF8#RF-_;&7X"V4 MK9>;(+6<.-J$4<3]A-2+K"_@^8&J3KNJ3K^[JO=?B&R[?F8MNIWY>R6GJE3N M?E_9'[3[ _<-NI!D0K3OOLDW6*3'9H\?@;5P+DM9TZU#E/&-"W.LIA3DKCY" MB)-L'&@@BT(UY'?ZL6J@CLT%W+8-R3:/B(>'Z%786"-QF>=Z59,X["G&AY[OF(*7 MG"7IZ!4U%;KVZ(7L&P=M4O;GUH_Q"[6<8##7EJA$\W)5>/?,UV8XRZB-?" _ M#67F(_'1W^.6((Z>C"#+"/J^^ACL/)")W?/P&> #1[EJWLK=:O>E<=8\L+?' MF\\4LCI7Q)429R0:]4=TTYGFZ=],G%Z&Y_94.RJE,%S0UQ(:?X#V9UJ[S<0; MZ+Z_)O\!4$L#!!0 ( $1HIUAY,CI%0P0 ,$) 9 >&PO=V]R:W-H M965T9X9G#,R1G.ZD^ZXHQ U^:6NBY M5QG37DXFNJA80_6%;)G F8U4#3785=N);A6CI7-JZDD8!.FDH5QXBYD;>U"+ MF>Q,S05[4*"[IJ'JY9K5.3;RMB!R6+6TBU[8N;W]D%A;S)$*7G# MA.92@&*;N;)M7<&?W"VTT=ML)FLI?QL._?EW LL(%:SPM@(%'_/[(;5 MM0V$,/[9Q_2&):WC4D,7 M,R5WH*PU1K,-EZKS1G!)3Z]B*^M2M[1@L%++#D'+#1SR M.87Q;)33&%<5@XVLL72YV(*Q,@ W*Y <5 L4%3+&-' !VP.5:UI343!8OV#9 MME+U;IIML9@-AE/.LV6*R_(0C967\$AY[<.*%960M=QRIGVW+4^(A1>XR+W8 M*(J;T!7&[LB3K#M;VAI6TM :KO?K4FV9N&4%:]:HY[U:(O@!?WZRVU(%;: #4B=$W=F<,;)-3 B,39^*NWZWT+%F5=5(.N>Z01R2U2XJ>9 MA8R3>9[ &;TD@UZ2-^OEC@MNV(^_X-%X0O^G5'0V]MM5Y,H+M6"J7D>R::5P MLD)4=N0&1ZAX<:QE5U9A SBJ#]Y'2M+'4OH/GY_P4K3$.Q3O5Z=C8[L@:(-2)@F@;9:CBOPL01U%?HA !_&_ M0&ZUF48A0ICZ)(W'$*-XIW!'GZ5R%-;,2C5%NPQ&.1E#&%FAI#E*QVIHE!"? MD-3!QQ#Y]$1-_"]FHL1&)WGN0N.B9YC)_(R$CAE$YYB)4<[GF$DM,U/'3))' MEIDH3[]G)D&^0\MW:IG)DO U9C*LMC )>F8"5_6C)/ #0AQ\',.L3I75Y.A: MQ>2V[O&@P9T,_0T[C [ODV5_+7\U[Q\WJ,&PO=V]R:W-H965TUYLWXW72C^;$M'"2R6DF02EM?4H#$U68L7,N:I1TDZA=,4L3?4R-+5&EOND M2H1Q%%V$%>,R2,=^[4ZG8]58P27>:3!-53'].D.AUI.@%VP7[OFRM&XA3,5DP@W,EGGANRTDP#"#' M@C7"WJOU%]SX&3B\3 GCO[!N8P=7 62-L:K:))."BLOVSUXVY["3,(S>28@W M";'7W1)YE3?,LG2LU1JTBR8T-_!6?3:)X])=RH/5M,LISZ;3+%.-M ;N,4.^ M8@N!\A]VIWG.W0MA FZXR80RC48#/Z<+8S6]FE_[ MSJ&EZ>^G<94T,C7+171]P$2_,]$_A)X^4&7F#2E7!>PQ M= 930;7&9(9 50MSC600OBEC]CDYR+7?R6/ID!T)ETNP_A0-D@BBLR58VIZK MJF;R]?AH&/E\O7<.,";_#C+-[0RZK!>KMFTC@ PRC M*Y@W6J.T4*/F*H=:JQ7W?2.YNH GS2U^5$4!;$EMRM@=-2?)X/0?#GIS6=D] M.B+HG?4N(]AW<>%.X56HE[Z]&/!7TM9@M]IUL&E;N'_#V_9'K$O2!@(+2HW. M+P&PO=V]R:W-H965TN95QK23(-!%A0W39[)%03L+J1IF MR%7+0+<*6>E 31W$83@,&L:%ET_=VKW*IW)E:B[P7H%>-0U3[Y=8R_7,B[SM MP@-?5L8N!/FT94M\1/.MO5?D!3U+R1L4FDL!"A(5UK4E(AF_-IQ>G]("=^TM^XVKG6J9,XU7 MLG[FI:EFWLB#$A=L59L'N?Z*FWH&EJ^0M79?6'>Q2>Q!L=)&-ALP*6BXZ/[L M;7,..X!1^ $@W@!BI[M+Y%1>,\/RJ9)K4#::V*SA2G5H$L>%O91'HVB7$\[D MM^(5A9'J'3X]L7F-^O,T,,1K=X-BPW'9<<0?<"1P)X6I-'P1)9;_X@/2TXN* MMZ(NXX.$=TR=01+Y$(=Q>H OZ8M,'%_RWR*ON2YJJ5<*XV4B6Y9@3./6D&C>D4O/SF*AN'Y ;EI+S<]Q)X_4N>5JQI!+J"7OD_D M09K](I\JA"O9M$R\GQR-XB@[UU"0+P6ET38C[P^+T2EUSHN*RU*#RR4,EA.@>RPJ=Y'76& S1^6<&RXXO=@2EM("CF&0 M^8-!2$::^N,P@6=JY%,N3ELE"]0:(C]-8DC]83: ![:F]V\H&:LUQ$,_R\80 M)_XX&O6'Q5'#*0@::<RR$BOASLP:->\4QE:">&I7L5M;%'D 52I.DV085T+J:#X-:_=V/C4U M*:GQWH*KJTK8ETM49CN+NM'KPD*N2O(+\7RZ%BM\0/JQOK<\BUN67%:HG30: M+!:SZ*([N>S[^!#P4^+6[8W!5[(TYLE/;O)9E'A!J# CSR#XM\&OJ)0G8AE_ M=YQ1F](#]\>O[->A=JYE*1Q^->J7S*F<1>,(0U8Y,M0.S@DKJYB^>=^>P!Q@G[P#2'2 -NIM$0>65(#&?6K,%ZZ.9 MS0]"J0'-XJ3VE_) EG_!G=%4.OBF<\S_Q\YO'LF;BTR MG$5L#X=V@]'\TX?N,/ER1&F_5=H_QCY_8#?FM4(P!80[H_;.;C1KKMDHY ZI M/LI[6/5;@MPGR Q[T/DGP0]KMP:,AH6 T[B3C@>=(1SVX1>?8+M9R)-N#:BM),ME)=W!^RM\D/=T[ MMK6QH24$+>?IL-'2'77AT$W%>^ZJT*Y"#^%LIM;4&*U=;=O41>/.M_"FQ_%I MK:1V7&K!T.1L-(C -GVCF9!9!Z\N#;'SP[#D5HO6!_!^80R]3GR"MGG/_P%0 M2P,$% @ 1&BG6'89:RDZ P OP< !D !X;"]W;W)K&ULE551;]LV$/XK![4H$L"S9-E.4]-V. 2Z=?FSO(L[5A*6:-VTFBPN)XE5X/) M8N3M@\%O$K?NX!]\)"MC'OSDYW*69%X0*BS(,P@>'O$:E?)$+..O'6?2N?3 MP_\]^X<0.\>R$@ZOC?HJ2ZIFR64"):Y%J^B+V7[$73QCSU<8Y<(7MM%VG"50 MM(Y,O0.S@EKJ.(IONW,X %S^")#O 'G0'1T%E3>"Q'QJS1:LMV8V_Q-"#6@6 M)[5/RI(L[TK&T?Q66"WUQL$=6K@V=53?,KZ.I'Y7N0B/TKX2=@^# <]R+-\=(1OV 4]#'S# M4X*.T?Y^M7)D^8[\\5*\D6[T,IVOFXEK1(&SA O#H7W$9/[FU> B>W]$[*@3 M.SK&/E]R'9:M0C!K^+?P'BR$DP4(7<*-5"T]/_ 8P'$7]Q7"VB@N4"8'\GD' MA^1XT5(%Q-N%J9N61*@D%K+JG);1*>!>VIDRSIU#PPJ+>)]<.&'F"DR\(4WI M0.I2%H*A$[BO+.*32Q,R[3]#^-S6: 4QVC/\?\<3^,R]36I>P[V-(+)RU<9( MR< O_44?/AA'L0@:H;_#:QCU1L,+'L_RWF" M!J,S!]SX'+$^?Y*#K/?V(@_#N_P0?A#*?Y[;4Y+;]9K[F4]!B)\[&F>J:*TD MB6X"2S+%0T@6]\V8K48)[2#GDWSSZC(?Y._C/?'(QA!JDD(]\?C,^)GJD_/] M$XCR3VY@;+L][:S>78[W82Y..YO7D/5' Y^BK)]GY_L*.!&8=<"7RC0]:*I\ M S?AZ7!,TVJ*_;5;[5ZGJ]B4_S&/3QOWKXWD)"A<,S3KOQTG8.-S$2=DFM"B M5X:XX8??BE]8M-Z ]]>&,[6;> ?=FSW_&U!+ P04 " !$:*=8A(.F9U0# M )!P &0 'AL+W=O3S+A8EAT@*3 #23_N0V^9I!\/G3X(>\%J;(E*(B3WU]^5#"Z=$EYLR=H] M>\YJ=SW::G-O*T0'CTVM[#BJG%M?)8DM*FR$[>DU*CI9:M,(1UNS2NS:H"B# M4U,GG+%^T@BIHLDH?)N;R4AO7"T5S@W83=,(\S3#6F_'41KM/]S*5>7\AV0R M6HL5WJ'[LIX;VB4=2BD;5%9J!0:7XVB:7LUR;Q\,ODK"4+K>_]YI]R M'#%/"&LLG$<0]'K :ZQK#T0T?NTPHRZD=SQ<[]'?!>VD92$L7NOZFRQ=-8Z& M$92X%)O:W>KM!]SIN?!XA:YM>,*VM>VS"(J-=;K9.1.#1JKV+1YW>3AP&#[G MP'<.//!N P66-\*)RQJ-&>CQ)'8;QQ4NP@9RTD?P8R@X]:NY$@9WFN?BB4K,P=08H5;HUS'\ MJU4A; 5O'WT^$+Y/%]89*J ?Q[+1!LN/!_--=677HL!Q1%UCT3Q@-'GU(NVS M-R>DY)V4_!3ZY(Z:M-S4"'KI63^@=20J"(2I+WCIGHYQ/HEZG//G"F&I:^IB MJ5;@?'7L6EG^AQ8<'9.M,[+P%*ROJ]CW!QJSW\-&26=C$*J$-9HP4E2!KQ?A M*EH3?V8#?V_<=BV)H- FQ" _J4L+@9BB4%=P^SOLS3[>_ "^O>E0Z? MM"EM MIP]H:.K IXVSCH)Z4<+Z/-Y@@,@TBUD_AU'9^EE_%@R,_) MO7?)85K^I*X/->DE2Q*@_. "L16&="/59)#J-/CK_BM<2HS2M-?/X-JKKVNR M]4DEM"7*ED/,&#M@D&>#\^##CZ2#NJ^HNO:#=)#%@WS8Y2)G,>>7/A=9;YC" ML9I.#L93@V85AK"%0F^4:R=5][6;\]-VO/TV;W\21&8EE84:E^3*>H.+"$P[ M>-N-T^LP[!;:T>@,RXK^56B\ 9TOM7;[C0_0_?TF_P-02P,$% @ 1&BG M6/I19SB( @ .@8 !D !X;"]W;W)K&ULK57? M3]LP$/Y73MF$-@F17X4A:".U,#0DD! P]C#MP4FNC85C9[9#V7^_LY.&3FJS M/>PEML]WWWV?[;M,UTH_FPK1PFLMI)D%E;7-61B:HL*:F2/5H*2=I=(UL[34 MJ] T&EGI@VH1)E%T$M:,RR";>MN=SJ:JM8)+O--@VKIF^M<"A5K/@CC8&.[Y MJK+.$&;3AJWP >W7YD[3*AQ02EZC-%Q)T+B/:;,W!*G:+ZW(61(X0"BRL0V TO. %"N& B,;/'C,84KK [?D&_ MVFH6G 90XI*UPMZK]1?L]1P[O$()X[^P[GP_'0=0M,:JN@\F!C67W^W/8 M"CB-]@0D?4#B>7>)/,M+9EDVU6H-VGD3FIMXJ3Z:R''I+N7!:MKE%&>S*\8U M/#'1(MPB,ZU&.G%KX,,CRP6:C]/04A;G&Q8]XJ)#3/8@IG"KI*T,?)8EEG_& MA\1NH)AL*"Z24JQ+(5"&H) M;^0/86X,TE4Q6<(-9SD7W'(2TM]C"?3H[[%HM>9R!0MFN-FE;#3W;F7['@VS ME+!1VKJ$]!P1_MV3;KFH_#7?X L*B/LQZ<<4+K' .D<]ZG0M+1)/"]J!FC5K M#+R'^#!-8QH/WITF<7*^QY(DQZ.61V69 -:=^O\"W?4^PJUZKE&O?-N*2P,"EQ0:';D^I+M.U2VL:GQWR)6E7N.G%35W MU,Z!]I=*V&PO=V]R:W-H965TSR$BOA3DV-FD_6QE:">&DWL:LMBB(H52I.A\-) M7 FIH\4L[-W:QT\2J+=QIW/@B\E[AUK^;@/5D9\^07-\4\&GI"J# G MCR#X\XQ7J)0'8AK_=)A1;](KOI[OT'\-OK,O*^'PRJ@/LJ!R'DTC*' M&D5W M9OL;=OX$@KE1+HRP;65'PPCRQI&I.F5F4$G=?L5+=P^O%*:'%-).(0V\6T.! MY2^"Q&)FS1:LEV8T/PFN!FTF)[4/RCU9/I6L1XL[)&F1;YG@5@GMX.1!K!2Z MP2PFAO="<=Y!+5NH] !4!N^,IM+!M2ZP^%P_9EH]MW3';9D>!7PG["EDR4^0 M#M/1$;RL]S4+>-D!O.NJ5N8CXL\6E2 LX \I5E))DNC@K\N5(\M)\O<^SUO@ MT7Y@7S@7KA8YSB.N#(?V&:/%FQ^2R?#M$=JCGO;H&/KBG@NQ:!2"6<.?7*9+ MU+B6!%?&D=M']CB>4>"[9H$82#M5%#(ZDZ[E-U_,VI&M+33[YL,?M2]BCL_OIZ MX&"UP9-Z ^2[5O>T\&VX$$M\\?[Z,#N3RU#R6TEE.,LYG%:N&G^ACCMJ@4#& MG[!\'3KA_\V(1RV]I7MB@RXD0^)K(!G!E="B$'#&@4MW8K\S^\)4D$X32"=> M\GPX]6-V!OLB$K_J]17:37C1'+O#&=&V_7ZW?S0OV[?B/_'VQ>7^NI'LJ,(U MJPY/SS@*MGW%V@69.KP<*T/\#H5IR0\_6B_ YVMC:+?P!OJ_$HM_ 5!+ P04 M " !$:*=8!8(3[K@& #F/ &0 'AL+W=O=-NG:8$-^M-=&6LNOG:Y;U6YWKUUP$VX$9[9I M.FE__!E"0B#4"].W;YI _'ULPA,PG\+%FHNO4.%FR3"8\ M0X(]7@[>X_.0C(J"LL4_"5O+O?>HV)0'SK\6"Q_BRX%5C(BE+%(%@NJ7)W;- MTK0@Z7%\JZ"#79]%X?[[+=TO-UYOS .5[)JG_R:Q6EP.I@,4LT>:I^J.KT-6 M;5 YP(BGLOR+UINVH]$ 1;E4?%D5ZQ$LDVSS2I^K+V*O@) 7"DA50(XML*L" M^]@"IRIP6@6V]4+!J"H8'=O#N"H8'ULPJ0HFQQ9,JX)IN7S;622J(3])$*00NE MT%N7*9JD\AUZ@Y(,?5[P7-(LEA=#I?LN",.HZL?;]$->Z,=&-SQ3"XF\+&9Q M1WU@KI_\K#XTUV-B SUE[;[YLCVF[LB1N)'_G2*\.0/1"QBHR_W+GK[YEW' MP*[-F+_R[!39UD\QKAES0\51&.\8#"XQSA:#Y,:-#IQ_/,XTJN 71M7E@!GC MLFAO-)T;U3#!WOV&[))KO\"M?CKHCJVX4$DV1Q^RS5E%'YT[AGFUP3G=N.)L M=2Y7-&*7 WTZDDP\L<'L]]_PV/JS2R](F L)\R!A/B0L@(2%0+"&>LY./<=$ MGWW,EP],(/ZHYQ&%?/0A95NS)?IA^.5>&<%])82$N9 P;P,;E;!B(O<4RR=[IJTSM3)VD?VN.7*8:,3/"63EBJ0XPJ!8 U5SG:JG!E5N>;YG JTRD6TH)(A M&D4\S\H+*AK_ETOUTE36B.WK#"3,A81YD# ?$A9 PD(@6$-!;-5YF 5[,5_Q M@.P#I;F@- ^4YH/2 E!:"$5K.KB7R>*?' @SF<1,E,XA)6@F'YD0+$:*ZZ/B MMSP1#/%5V: X.!;S\\ZI5]7/_@4+'K!Q'BGT [F)C'AQ'LZU@9]6E9?=PAD[Z7TP MA*2YH#0/E.:#T@)06@A%:XI9A^L8.%W'H/$Z*,T%I7F@-!^4%H#20BA:T\$Z M9V8HVK4F'DX9[AUZ0HZL!"*UI2DSM:Q M.5SOFW28<;V- 1=LW9F*WA8'L,<"'23UV)JU\)83JLRE,':]C<[Y^ MRX3D6<925,G2?6 !3=9!:2XHS:MHC9V&<=L3R"X#?)C63QRKK\!#=I!:2XHS0.E^:"T !\&_,[$:1OU&HD\ MKB-Y?$PFSYX3A2(N7X@.0(-X4)H+2O- :3XH+:AH^X=$,B9MFUXCM,=U:H_- ML?T=3=)M6M"M$F@^#TIS06D>*,T'I06@M!"*UKSULD[I"7!*3T!3>E":"TKS M0&D^*"T I850M*:#=4I/S"G]+]Y,9:;V-O$PX2=V^PSA@O;I@=)\4%H 2@NA M:$W#ZDR>F#/Y7C=@F5F]O2('7IU@RSIKBW78C%CC4;.5!SHT'Y06@-)"*%I3 MF#HK)\8<=';-R_\(2D2S&-TP*K4K+]TT84;U]@4T)@>E>: T'Y06@-)"*%I3 MOSHF)P[PK PT- >EN: T#Y3F@]("4%H(16LZ6*?PY%5N<3=3>YL(&L:38VX[ M]T#[]$%I 2@MA*)M#!ON/3RY9&)>/D@K47GKX>9IP-W:W<.Z[\M'5%OK/7SN M;QZYK3&;)X!OJ)@GF40I>]1(ZW2B-T!L'JK=+"B^*A_1?.!*\67Y=L%HS$31 M0'_^R+G:+A0=[!YMGOT/4$L#!!0 ( $1HIU@TO)_H- 0 )45 9 M>&PO=V]R:W-H965TY;F8NJLI=S+!G/L%2W?.6*#2 M-W0S3',GFE1CCSR:L$*F-">/'(@BRS#_9T92MILZT-D//-'56I8#;C39X!59 M$/EE\\C5G=NB)#0CN: L!YPLI\X'>#='?IE01?Q%R4X<7(-2RC-C7\N;C\G4 M\4I&)"6Q+"&P^MF2.4G3$DGQ^-: .NT[R\3#ZSWZ;Y5X)>89"S)GZ=\TD>NI M$SH@(4MS5%1_P:Z)]1P0%T*RK$E6##*:U[_X>S,1!PD* M1Y^ F@1TG!"<2?";A&KFW)I9)>L>2QQ-.-L!7D8KM/*BFILJ6ZFA>?D9%Y*K MIU3ER6A6"#4B!%B0E?HZ4H!WX(G$+(]I2G$UTVRI1K8D+PA82(FKE2[<<-O5O-# M9_CYX('E\ P9 1\POP4^O '(0X&&S_SEZ;Z!CM_. MOU_A^6?PFLE4,[QA7-)\!3[F=7.JJ==-5PT7Z.'*IK\3&QR3J:.Z6A"^)4[T M]A,;"JW!-93'K;*P]=W M2WA26-INT809NF7<,AO;[I;Q:2/XX>"([6D0\GRDYPJ];KOSC&R?U 9U SZ3 M>)VSE*TH$3= [4RJ??B6QOKI-4->6D6VT/H3<+#?0[LMU.#94F\)K:\>=>K1 MZ]NHR3TLN1 -T?$RK@D;!GX8G"G-S@E XW;[GZ4)_@4O6^[-[[GXB_T,DP [ MEP #R_5JM!T7J[>$UE??.1%HMB+F>CTU%-IZ/0TSU6MG/:#9>[QBX6\0>U1& MH_"8\&D4\L]M4[#S#M"X04>J;C@6DA>Q+#@!"Y8690WII]:J<;"%UA?>60<8 M6FXAHQ>Y6+TEM+[ZSIY LS\QM]"IRPC@<#PZKDB-8X'0.]-"J',CR.Q&SI7D MBY=Z,_ZE7\H66G\V.FN"+%L39-6:V$+KJ^^L"?H?U@2=>@Y=G6K"3'7:61-D MMB:O6.H;Q,/_S=]!?WR\.>G"_,'PB+![<,"5$;ZJSOT$B%F1R_KHIQUMSQ8_ M5"=J1^,S>#>O3P@[F/K \@'S%56=EY*E@O1N1VH2>7T&6-](MJF.T9Z9E"RK M+M<$)X27 >KYDC&YORE?T)[$1C\ 4$L#!!0 ( $1HIUA-JE([JP, &8- M 9 >&PO=V]R:W-H965TU@_%/M#2V1(JD1I)Q]F_WY&2Y3=930L/V!>;I.X> M/?<<>3J.-T)^52F )B]%SM7$2;4N;UU7Q2D43-V($C@^60I9,(U3N7)5*8$E MUJG(7>IY [=@&7>BL5U[D-%8K'6><7B01*V+@LE_II"+S<3QG>W"8[9*M5EP MHW')5C '_50^2)RY#4J2%2Y04(>?]>@3O-.X[@_WJ)_L,%C, NF8";RSUFB MTXD3.B2!)5OG^E%L?H,ZH+[!BT6N["_9U+:>0^*UTJ*HG9%!D?'JG[W40NPY M($Z[ ZT=Z+%#[XQ#4#M8Y=R*F0WKCFD6C:78$&FL$=H,E'8/&",WBUF)B#4DBC^+M=.E#^>PT%PNU4S,%Y5:5+(:)@Q5#@7P&)_KY)W_@_=*FVX7 #E3L-2KVNM"C MG3IEI8Z13%I)V2('HNHMVR9"A3RPR*8(/D>4AIC:Y_W@3HWZWL[F@'._X=SO MYJQ3D'@Z8E$ N8(7+-0*S-'AH-MX5FC]/0I!/Q@<\3PUNO9#.FQG.FB8#CJ9 MWM<<<[OC%H#BPI:X9B_0*NO@A$EO,.H=T3TUNJ9#G[;3'39TAZ_<#/..M'=B M?._>OQ#80;AA$V[X_ZT@X255O!#8@8JC1L71?U9!1B>[N!^$_:.M?FI$O>#, M3O>]W=?<^\;1U(!B:%+7C_/EHP8Z+ T^/:;9:A:$X1FB>VV'?]%J5\-]H]RU M6'74.Y_NV-).MD^/PVDQ\_MT=":<78_A=WY\?ZR UYB#[@K>8M56PMV]CK4 E,DT\@JU77-= M]6[-:G-9>&];Y*/UJ;E$V$YX!U/=0+ S6V5Y 5#H.:-,3IV-4OFEZ\IT QF6%SP'IL^LN,BPTENQ=F4N "\M M**-NX'FQFV'"G&1BC]V)9,(+10F#.X%DD658_+X&RG=3QW?V!^9DO5'F@)M, M!G3Q8(R/ED?,GL[E= M3AW/9 044F4HL/[;P@PH-4PZCU\5J5-?TP /UWOV+U:\%O.()@])"*IY58)U!1ECYCY^K0AP _,$K M@* "!/\+""M :(66F5E9-UCA9"+X#@D3K=G,PM;&HK4:PDP;%TKHLT3C5')= M2'U$2K2 M>Z.DN@3FD/*64HHP;;2?(6NI 1]:B5XM@]$BJ,99Y)3LL0*ENCT M!A0F5)YIAH?%#3H].4,GB#!TO^&%Q&PI)Z[2&9OKNFF5W7697?!*=M^PN$"A M?XX"+QBTP&?=\!M(:WC8A+NZ3G6Q@KI8@>4+7^';2Y]#SH4B;(UN67DGZ3JU MJ2OI!NUTY@Z]E#E.8>KH6U""V(*3?/S@Q][G-JT]D364A[7RL(L]*0W0)K'$ MQ19GGAG;) SB@>=/W.UA\BUA?AAX<1W62&M0IS7H3.M[#@+;1M3V_8/FVH7G MZ![2#>.4KPG('P^C.#JR:$M8-+0/CC:+#NNTAF^WJ.Z)P%*)(E6% +3@M##] M:J)K%&)45V)4;_6'/6IO">RAO)QK7S\3FN.__5<,!Y%P9$U6\)" M+XZ'[=;TO9>7O]>9V /#E/+4OK]3+G1?]!+A5]/MIGMK2_IB:XH_F'S\?OU8 M\?6EOB>VIOJ74<;OG!&['U4>N]/!KEQO]?0+"!.CS*\[5?F,FX/J+)_D+ M4$L#!!0 ( $1HIUA&_$J,700 !88 9 >&PO=V]R:W-H965T/E&3)LF7.3OD2B]*]A_>0Q]3QS7#+^#>Q!)#H>YX58N0LI5S= MNJY(EI!3<N<3S(C>G:>&,A^6]1SX>LK7, MT@(>.1+K/*?\]0XRMATYV-G=>$H72ZEON./ABBY@"O+KZI&KD=N@S-(<"I&R M G&8CYR/^'9"0IU01OR9PE;L72--Y86Q;WKP939R/%T19)!(#4'5QP8FD&4: M2=7Q3PWJ-'/JQ/WK'?JGDKPB\T(%3%CV5SJ3RY$3.V@&<[K.Y!/;_@XUH;+ MA&6B_(NV5>R-[Z!D+23+ZV1509X6U2?]7B_$7H+"Z4\@=0(Y3 A.)/AU@E\2 MK2HK:=U32<=#SK:(ZVB%IB_*M2FS%9NTT-LXE5P]356>'#_!!HHUH%_0E&8@ MT,LK>J!_,XX>.9NM$XG^4 GH_3U(FF;B@XK[.KU'[]]]0.]06J#G)5L+6LS$ MT)6J&HWI)O7,=]7,Y,3,/GI@A5P*]%LQ@UDWWU4L&BID1^6.& $?*+]&/KY" MQ"-!3SV3\]-]0SE^L[)^B>>?P+M/!5TL."QHJ51QU%1X,=!OR#CIKK86-TCAX0*B2:L2#A(V!V\O74:H2[=$TM@'=:#AO7 MGA('-EE; NNPQE[[MO5^5(LUPK[,"/8&^$",?6$!.74\XCT_@(T53B5 9A2A M&>#2_;"%UJ5+6KK$GA!K+%O,+:%UF;?V!!M]P%E2](\UYD5>="C%GK HQM$) M*;96 IN]Q)=BSM71R)40UQS0E&5KO4G]I1JA+MX:2VA=XJU'P:%%45JU)[;0 MNLQ;@X*-3N L449':@MP-+@Y%.5Q6(BQ=^)MC5LS@[=/]LH757I[4Z!-M3+K'J M>FRA=9FWKH<8O<4YRJT1]B6)M28/E-L7%L9[/^:[%;;NA/R/.]G)\K718R7. MG0EXJX"M=EILH747J35()+ H8*L.R19:EWGKD(BYC7..@,/C!E(81H<_ZGO" M8M\_]*[N7H+H'.@.L ]7S.F-P-] 3-OP+& M_P%02P,$% @ 1&BG6#SI*?-W! <1H !D !X;"]W;W)K&ULM5E=;]LV%/TKA%8,+9!%(O5A*;,--,F&]2%8$+O;,R/3 MLE!)]$C:[H#]^)&2(EDVQ=HH^V+KX][#>\AC\IB<'BC[PC>$"/"U+"H^DDF_6E)58R%N6N7S+"%[5267A(L^+W!+GE3.?UL^>V7Q* M=Z+(*_+, -^5)6;_WI."'F8.=-X>O.391J@'[GRZQ1E9$/%Y^\SDG=NAK/*2 M5#RG%6!D/7,^PKL'%*N$.N*OG!SXT3505%XI_:)N/JUFCJ3QD] *:B)9JZJ/NFSI9L\DH-XT(P^3:7>6+^0O:DVA'P M"UCF$CX#= V6#%=\31AX_T@$S@O^0;[^O'@$[]]] .] 7H'EANXXKE9\Z@I9 MA()RT[;!^Z9!--*@#YYH)38<_%:MR&J8[\KB.P;HC<$],@(^878+?'@#D(<" M33T/EZ?[AG+\KD/]&L\?P7O,../.??X*1]ZN.IR6P >N@8QV8T.=+*G !*CGM<%P0K2P:@*@&4)/+ M?@Y1X"-OZNZ/66C"8!C$<1O*]^FL PB-A)2%,HA/YG4?%*(F07GUQ5UULK.[/ MO9Q,QY1G3+UV#"R!#5@F'$-F3>NQ%H7/8O$J>OF?,B98:&XCP/BP(_#D;$V3L' M:+8.WQ(G^ ]\<_4V-W'UD%E"&W9(;U5@:%&L5HV++;0A\]ZZ0*-'N$BLT;D* MP]!/3L5Z'A;ZL3\FUMYF0+//N$"LQL7>#'_U<%E"&W9&[VI@;%&H5GV.+;0A M\][I0*.EN$BHR9D"X<2+SY9\39@7AIY>J*@W)IA^QFX)ZGX,F%@5J MU=380ALR[TT-,N_57"+06+.5Z06G.YF:, 23R>F_>?=H\[XD+*O/-#A(Z:X2 MS2YX][0[-_E8GQ:&PO=V]R:W-H965T/\]QAX_)EO%7$0-(]):E5$RM6,K\QK9%&$-&1(_E0-7.DO&,2#7E*UOD M'$ADG++4QH[CVQE)J!5,S-H##R9L+=.$P@-'8IUEA/^;0L$.)CE9P0+D<_[ U#C>H7\WXI68%R)@SM(_ M223CJ36R4 1+LD[E(]O^@%+00..%+!7F%VT+6U^=&*Z%9%GIK.990HM_\E8& MXL!!X;0[X-(!-QWZ1QR\TL%$SBZ8&5EW1))@PMD6<6VMT/3 Q,9X*S4)U8]Q M(;G:392?#!YA W0-Z OZM0&.GM0C0@N2@D"7=R!)DHHKM?>\N$.7%U?H B44 M/<5L+0B-Q,26BH'&L M$]Y#GGN-L(/[+7SF'W?W3M#QJFAZ!L\[@G>7"+):<5@1DZ-LBF R1^K,$3ISKA') MV)K*-LT%D&^ ]!MF$^"QJY_RL/#[!?6=58#BJ6@_-8YL!#H%*]K-J8 M%F"C PY.#WM-IJU6(]S.U*^8^A]DFM!\+5$&,F91&\F3..>F4$=@-M15X8S>E83KN7VOD8XM5CYVW?9T'%+ND*KZSZXQ-WNRJ?$ZDIY1VAU MY7BO''=50B52K3H&XY';R,PV,]]S!T=R<]\:N"?OX'/+J$1KU!$>-]FVFO6; M)6\?=(@9\)5IG 4*=:R*;JM:K9KS6].2-M9GNFDWG><>INCX52^U2JA *2P5 MI-,;JKN1%TUT,9$L-WWH"Y.JJS7#6'UX -<&:G_)F-Q-] '5ITSP'U!+ P04 M " !$:*=8EO?\H'4# !!"@ &0 'AL+W=O4"#P\(M7Y?6+83I;,/6< ?V_>9&XRQLM>2\ FFXDD1#,0^NZ.6" M#IR /_$7A[TY&A/GRDJISV[R.I\'D2," 9EU*AC^[6 )0CA-R/&E41JT-IW@ M\?B@_3?O/#JS8@:62GS@N2WGP20@.11L*^RMVO\.C4-#IR]3POA?LF_.1@') MML:JJA%&@HK+^I_=-X$X$HCC,P)Q(Q![[MJ0I[QFEJ4SK?9$N].HS0V\JUX: MX;AT7^7.:MSE*&?36]B!W )Y199*6HU!0@!;DJ4W#9H\OP;+N# OR#/")7E7 MJJUA,C>ST*)YIR3,&E.+VE1\QM2 O$43I2&_RASRQ_(A8K?L\8%]$?*&/PN-8@+?EXJX1PNWNF\T]=T:HADFX(5XV79L,RF =8;@;T M#H+TYY_H*/JEQ\6D=3'ITYXNF/#TS!!5D&O(H%JA6TTP!UVXM<*15^AJ?9?& MTV0RG86[#HYARS'LY?@#(\IR#!Y6J"%6D>P0>^:BW9EEM<;A$4@2T[B;8]1R MC'HYWFDF30':D$*KZ@D%EGT=+>1C6::VTAKL2!GP'5L)Z&("GG#V8H+;K_^A^R?_(#L MG[;XT_\[^Z>G8:3GDI]&#\TWZ@4Y=%],)K66_!_(G^2?:"+*H;OA1J=Y1I/1 M^ S7T:5 >[E>RPRO> .NXZ-]W%X;-X;[#(P/6J:,?>GF8IOC+GKPU)-.7GK" M2R?#,V5!XP?UMT]]7DXW. M1[UT&UL MM57;;MLP#/T5PBN&%DACQ[D566*@33=L#\."I-T>ACXH-AT+M25/4B[]^U%R M8J2 FQ9#EX=8%_+H')*BQENI'G6&:&!7Y$)/O,R8O61UO%X?$#_XK23EB73 M.)7Y+YZ8;.)=>9!@RM:YFF1@47%1? MMMO'X<@A#%]P"/<.H>-='>18WC+#HK&26U#6FM#LP$EUWD2."YN4A5&TR\G/ M1'/PJCU:FVTX/.NI'N&"=SQPMK)%!:TI5,65P8+PY0!JE&D%.RX?AC9[/TB)5=4K4$V,+%WG74I#S<<-,WHX45D#VD^E-(>) M;>;U4QS]!5!+ P04 " !$:*=8%J]\TVL" #)!0 &0 'AL+W=O<[31THQL\\)+XSO=]]\-WEV^4OC4UHH6[1D@SC6IK MV],X-F6-#3/'JD5)-TNE&V9)U*O8M!I9Y4&-B-,D.8D;QF54Y%YWJ8M<=59P MB9<:3-%*@L;E M-#H;G<['SMX;?.&X,3MG<)DLE+IUPL=J&B4N(!186L? Z+?&.0KAB"B,'SUG M-+ATP-WSEOV]SYUR63"#,KE3#^"YM@ M.YE$4';&JJ8'4P0-E^'/[OHZ[ !&CP'2'I ^!(P? 60](/.)ALA\6N?,LB+7 M:@/:61.;._C:>#1EPZ5[Q6NKZ983SA97N$;9(;R$3TQKYFH*A^=H&1?FB+0W MU^=P>' $!\ E?*Y59YBL3!Y;\NT8XK+W,PM^TD?\9'"AI*T-O),55O?Q,<4\ M!)YN Y^E3Q)>,'T,V>@%I$DZWA//_-_AV1/A9$,=,\^7_:6.2ZT:F%.JFAJ4 MWM+6,/>OB!J^G2V,UW_?5[_ /][/[X;YU+2LQ&E$TVI0KS$JGC\;G21O]R7_ MG\CNE6(\E&+\%#N5HNK"C%++&";00$65L0K*FLD5B:1'8SD-(>YMIQX9RJH_"N_+ R4JI,V]-F@'?;1F1_#!_H9[:FP M5G[3A"5'7;3BTH# )5$FQZ]HRG58'$&PJO6SMU"6>L ?:]JUJ)T!W2^5LEO! M.1BV=_$+4$L#!!0 ( $1HIUA.]LN"X0, &T1 9 >&PO=V]R:W-H M965T>Q\^,9Y[!F>V5_F(2 $N^9JDT M;CR(;6*+&_YBMN-;6(']M%MJ'/D-2BPR MD$8H231LYMXUO;IAH\*@G/&7@+TYN":%*VNEOA2#^WCN!04C2"&R!03'GT>X MA30MD)#'/S6HUZQ9&!Y>/Z'_5CJ/SJRY@5N5?A:Q3>;>Q",Q;'B>V@>U_P-J MATJ"D4I-^4WV]=S (U%NK,IJ8V20"5G]\J]U( X,&#MBP&H#5O*N%BI9WG'+ M%S.M]D07LQ&MN"A=+:V1G)#%KJRLQJ<"[>SB=Z7BO4A3PF5,_K0):'(O+9=; ML4Z!7!L#UI!W9(79$.=X1VU(8_+F#BP7J7E+7A$AR<=$Y09AS,RWR*S ]Z.: MQ4W%@AUA,2 ?E+2)(;_*&.+O[7WTJ'&+/;EUPYR '[B^) -Z05C AN33ZHZ\ M>?76@3MHPC4H<0%U0=:P%5(*N<5D3;F,H(MJ!1:68$7=/BX&;#09S_S'#@ZCAL/(R0&K M!&M 8M9J#3+Z1JSFTJ2\K#Z1H>^VBTL%.CK@\HX.CU )&RKAF>$ &9^(1?AL M_0&=3D?=!,8-@;&3P*W*MUR37:ZC!#4#Q2=2N;0%%1[_C66-PM89#2=LSR2: M-*0GO9-[\@*\I@VOZ=!]2\"_(1HD2J5&T%F(M2 M/5?HMHB@6_ZV=KT)U-C+37V,Y6K1CO<4Q8,P_#(IK:Z3IWR MW%>\:M3SU(NV:D[/E?/3^E5#?1\1E+ C'%HUIVXY/Y7FY%_2NS#=2_?-N;8[ MT+!_.3@[2U]J;=^@+]0X:MS#- B.I$#;#ZA3UA?W3M3V .86\K\+5 MJ&?D%6LUGYVK^:?EC3T7?$K#\1'!9ZW@,[?@+S5$F-NH83+28($LM8HQT7]( MU]QK]LVTMFVP8>\B8,Z.TY=:VTV8NYOT#^GHV5FEXT^4: MU6&XN=N\2[BN3M#M].I%!!X=L4H-26&#IL'E& GHZFQ?#:S:E>?IM;)X.B\O M$^ QZ&("/M\H99\&Q0+-&Y;%?U!+ P04 " !$:*=8O J!%[8% !P* M&0 'AL+W=OWZ/N M\HZ,3C="?BN7G"OT/<^*\FRP5&IU,AR6LR7/67DL5KS0G]P*F3.E+^5B6*XD M9_,Z*<^&) A&PYREQ6!R6K]W*2>G8JVRM."7$I7K/&?R_BW/Q.9L@ ?R[ QTTWUDEME\_H+^K MQ6LQ-ZSD4Y%]3>=J>388#]"O+[AB:5:^T8&?KR[0ZU=OT"N4%NAZ*=:E!BY/ATIS MK;YQ.-OQ>KOE17IX?63R&%'\&R(!"1WI4W_Z!9\UZ=1.'^H5:I:)-,M$:CS: M@_2]%6:(ID_(^+1;H"\O6W"5XBS*J4:H_'G>344*QOG=W;26N MJ(#@)LJB͈R_%\]ELG:\SIO3-.<^%5.E_K/HCX:*Y18I:!(XBC/%HCZ14=4$N# S7#4,!QY&5[J M12S<%>U-/+2B@< LC7&C,09NYAA2.A"8)7W<2!^#-/.X4UN4[->?(X9&[NI+ M&GH)6",GW0XE =WCZ C"2>(FB0/CF0%$&^]0K XET1Y#5Q =]3!LN3KV,IS6 MDX,V<\FS>@7+9;IRV[ 7Z-#:AD*S91N7QM VC4%]&@K-EF^<&L-8]0ZF77-D M'(3[#>X*BV-,>HK3N#6&LVOL,&(<)YU&=\>1WDXRCHU!+!L[W#C 8:?;76%A MW,?2N#;VV_:U9'.]O]-[OWJ05]4E*EC.W44/:N50:+9T8^88VLTQJ)U#H=GR MC:%C&$?'7;N.DSC9KT]7U+C/,(VM8SA?QP[/#N.HTTFNL"BA;JK$>#L!\7;2 MM6U*R/YNQQ5%DYYN)\;=B=_=K_EL68A,+.Z=U$ ='0K-EMK:=X-OO&%WWC_# MT8EQ= +CZ*1KU92,*-FO1V=8-.XI2./H!,[1B<.IR1B/.KWCBM/.W]<]QM$) MB*.3KE6'X6A_1G)%Q5'/B$2,GQ._G[]C=T*RJM SSDKW+0+TE_D$W16#B!LW#B\.8$[]-T!,4]-*FQ;PIB MWSN4]CED>Z^P.ZMT!$4]YVO4F#?UF_?7^C\+U2K><1"[ZCT\B)_!#_IK_'G9-HJS< 6'CBP_4!/V)C[00^^ MT4!H]A*TGJP(H>L<=("#0K/EFP$N])\5O;S._?B> >8YF5N5P];C8-6S>!^9 M7*1%J2OV5D,%Q[%&EMO'V[872JSJ)\1NA-)3>OURR?7 (JL _?FM$.KAHGKH MK'G(&PO=V]R:W-H M965T#AVL-T&]NMW[;2A92$:4E\2V_$YON?8OC>#0JI[G0(8\IAQH8=>:DQ^ MYOLZ3B&C^E3F(/#+7*J,&NRJA:]S!31QH(S[0:O5\S/*A!<-W-A410.Y-)P) MF"JBEUE&U=,8N"R&7MO;#%RS16KL@!\-]MYS(9>BT;$'"(C66@^%K!!#BW1!C&PYK3 MJY:TP.WVAOW":4 MV_)(O-1&9FLP1I Q4;[IX]J'+0#RU ."-2!X">B\ @C7@- )+2-SLLZIH=% MR8(H.QO9;,-YX]"HA@F[BS=&X5>&.!-]D3(I&.>$BH3\,"DHCWP#49LU_7C=73C,KK@E>A".+WR%[X()9N#D&QJ;_.M[G5\E7Z>>SU[Y M,YW3&(8>WFD-:@5>]/Y=N]?Z5"=V3V0[TCN5]$X3>S1=JCC%^X<7.99+89A8 M$)K\QA.%.:)>>R/A6[679#U'9E/=*NH$'P?^JD92MY+4;91TYW(&[N1H!0I3 M8)V&1H:W:M@3V8[87B6VM^>CV]NG]#V1[4CO5]+[C?L\BA^63*'L>>D!=QZP M9P^H\^"8%)L#0@JL[B22/PK:[X6U4% MD_S"%5M-W&TM,VXU6M7SD2MC+\;'6.?+LOQ,4_XD8#Y=,*$)ASE2MD[[>*)5 M67C+CI&YJUTS:;#2N&:*_RJ@[ 3\/I?2;#IV@>KO)_H+4$L#!!0 ( $1H MIUB-Q@"BS0( .,( 9 >&PO=V]R:W-H965TLFCJ)-9! V#J(!+3=*K53!>OV,.W!) >QFMC,-M#]^YV=D-&. MHFYB>P'[ MQC#F\\Q8@Q_W%FR.$S2WBQM%.[]&27F!0G,I0.&L[PU:IZ.N]7<.GSFN]=8: M+).IE'=V:Y!:(ROE>87IW2!FZO-^@7CCMQF3*- M(YE_X:G)^MX;#U*5#EL!A+,[(*@"@LCQN$1T BP%'5W7S/;(L>H8-@#OZ8+2N$N'$CQR MX/9V6L7AVZCGK[;I[2W@+^EU:GJ=O?0F=!G16V_ >Q2H6 [4'C!(J6NY-E4_ MG9?T=G;-7O0_?<\' GL@1%0+$?W7!H@.*#EP?\&4XY_NU#D7&G*< M$63SI$OG494CM=P8N7!3:2H-S3BWS.@K!)5UH.E8J"QYDIQT M?S])OBQMW>QA+[8NY#F'I$E/]T(^J1Q1PW/!N)IYN=;EC>^K),>"J$M1(CBTHQRO).@JJ(@\O<"F=C/ MO('7'MS3;:[M@1]/2[+%->J'\DZ:G=^AI+1 KJC@(#&;>?/!S6)B[9W!3XI[ M=; &&\E&B">[^9;.O, *0H:)M@C$O':X1,8LD)'QJ\'T.DKK>+ANT;^XV$TL M&Z)P*=@C374^\ZX\2#$C%=/W8O\5FWC&%B\13+DG[&O;R=B#I%):%(VS45!0 M7K_)I+4V:';A0G7>1ASEMBAK+)J+A6<(\)TAW9,(0+F#-3+,(3!%-V6$I,J8;O0BE4<+I"32A39W " ME,./7%2*\%1-?6WT6%0_:;@7-7?X#O<0;@77N8+//,7TI;]OXNB""=M@%N%1 MP%LB+V$X.(.PK;V+KX+KJ;_K$3;NA(V/"EM64B+74**D(H52BAVUW=U' M7R.-#^B'UU$_?=311T?I'R75>"&R#,C6C"NE@;29ZE,0O5%P,1SW*YAT"B;_ M5QGDZ3_*,GE3EL%@$KR2Y1\,A +EUHT]!8ZEG@W=:3=9Y_5 ^6M>CV734^9C M4< P,Z[!I1UDLAYU]4:+THV7C=!F6+EE;OX.**V!N<^$T.W&$G3_F_@/4$L# M!!0 ( $1HIUAE57\UAP( ,H& 9 >&PO=V]R:W-H965TY;2P<.[/= M!O[];">-2ANZ/>PE\;7O.3XG]KW)6BZ>906@T$M-F9PZE5+-E>O*HH(:RPO> M -,K2RYJK'0H5JYL!.#2@FKJ!IZ7N#4FS,DS.WTYGV-( =\=;]B_6 MN_:RP!)FG#Z14E53Y])!)2SQFJI[WGZ%WD]L^ I.I7VBMLN-8@<5:ZEXW8.U M@IJP[HU?^N^P _"C=P!!#PC^%1#V@- :[9196W.L<)X)WB)ALC6;&=AO8]': M#6'F%!^4T*M$XU1^RS; %!>OZ'0."A,JS] Y>GR8H].3,W2""$/?*[Z6F)4R MT>#_Z=B#=]B_87&!0O\3"KP@&H'/CL/G4 SP\"WCG]4(JH:_3KS%_'6$T3FA*[$HVN("IHVM(@MB DW_\X"?> MYS&W_XGLC?=P\!X>8\^_$$;T-2G1BO/QH^SPB<6;XM_D<1K'7N9N=CT<9D71 MQ N'K#?BHD%<=%3E+ M#D[L,DX3?T_?858:1I-D3Y^[TVE,E]<%OB),(@I+C?,N4FU0=)VS"Q1O;/-9 M<*5;F1U6^F<#PB3H]27G:AN8?C;\OO(_4$L#!!0 ( $1HIUC-:C BX0( M ,0' 9 >&PO=V]R:W-H965T,9(."0:N- \;*&&^#<&"'&G];3Z:8TPNW[=_=;FQVS+*B"&\%_LDRO)L[( M(1GDM.9Z)C;?H0!9G"0A-:9F0&G&K(R /5&J0B9V2.>R>K.1"1$RO0G>"N5%K6^+=J14ZG MH"GCZ@M*GN=3Q#[$$7>W#,/9G!6O U M*Y]'6>_*@R]R.NJ/G ..\[A M41]/N#=7//)&X0[1?E48!O$!IJACBHXRW8-2V'NDQ+7"7J-KR32#WE6+ M]N8_\\.+'&*B'-@=!'%_?LQ(L@VL';KPI#/_9W^-RM M'FO.-VQ,2U8JW&HYZKSS&//)YLQH!EI4MNTNA,8F;F]7>,R"- 7X/A="OP], M)^\.[N0O4$L#!!0 ( $1HIU@,6^A?%@4 HA 9 >&PO=V]R:W-H M965TMH5!W%HSG1*I3OO3%F@-)RZ \\\,@Z/LYH84W M'I;7;OEXR#8RHP7<4[XTQ0RMAMYV'N^<$>7*ZDO^./AFBSA'N27]2U7 M9WY#26D.A:"L0!P6(V^"+^,PU %EB3\H[,3!,=)-F3/VH$\^IB,OT$\$&212 M(XCZV,(,LDR3U'/\64.]IDX=>'C\3+\J&Z\:,R<"9BS[2E.Y&GGG'DIA03:9 MO&.[#U WJ*=Y"T!8!X0O M B)\)""J Z*WUM"M [JE,E532AUB(LEXR-D.<5U:T?1!*689K9I/"]WO]Y*K MNU3%R?'OK%B^_PP\1S',)2)%BNX@(Q)2=$VD!"[0>W1#.">Z?]"[&"2AF?AU MZ$M5NV;X25W3M*HI/%+39+/L(!R=H3 (,?IR'Z-W/[=A9G;,->$=%.$2TWW& MH(1MH2"%;.'%=EX,2<.+VA_+5YHVPH:-L&')C8X)J\X16Z 9AY1*=$42FE'Y MU*9;!>JV@_3$OQ1KDL#(4S-; -^"-_[E)]P/?FM3SR4L=@0S!(P: 2,;O1$P MJ01(9*S32&12F)"JO%*BV6;J%;XJ:)6L'X)TYET.QX,NA>#( B&_O90 ML-<%>[V@'QP6-,3H-F)TK6+H%G2[J@3Y9<@!UOVTJ3JV-/+537,)B1S"C2P%= MPF)',$/ ?B-@WSH[KFE!\TV.%O11#<1DI68!E%\)7"U=D/[J8FUB5E <',Q6 MW EZYI2>6:L^525',$.E0:/2X+^60U3QVL1O"DM M9_"]3%R#C%0<=<*7J=A>WZECR!7-5.? >.'_:3K^O&OO9*L>IPY^I[38%S4+3JEQ:YHIHI[PXCMCO&$?%.!,#;RS:MTX])#QJYHICA[ XE_ M" =Y!UN6;95G?^GK6[O)J5]T2HM=TFT2DM=D4S5=S[1FPW MCO_P'9.=?K*R_52J6E.TO8W$/X2//)I)'+RGLBMP>@+"1:M< M+JUF[(IF;J7LG61H=Y)'\W1.'LLEWYQQ!2V3 5'/<6RC)7B587$45'\OUG[V M!SIY'^7?L)KAWFJ&=JMIRJ>^W9*$\52GT040N>%PAC*V _Y6&?'K%P^]=A6= MFC17-%/%@PT]JWWY_B"DA;I%!*@#E+ \IU+/[;;9.:VK,C:*C@Q$MQMZ3AV: M?[#OK'\E<*V^\E524P9LH?!!9Z"&"*\VWJL3R=;E5O2<2W6Y^_C#^&U!+ P04 " !$:*=8AC0.!@ $ !S#@ &0 'AL M+W=O_UL$@.^3>R<[4#[[V_LA! @!$['%TB13CBN4HH(Z\"R3Q-L?@U(0G?CBW7VBU\HZNUT@MV.,KPBLR)>LM>!;S9 ME968IH1)RAD29#FVGMVGJ1MH!2/Q%R5;67M&&LJ"\W?]\F<\MASM$4E(I+0) M#'\;,B5)HBV!'_^41JUJ3ZU8?]Y9_VC Y@%EF3*DQ\T5NNQ-;!03)8X3]0W MOOU$2D!=;2_BB32_:%O*.A:*4B?.$(+Y$I9@T M>V>\]M$7SM1:HA<6D_A0WX8(5&'P=F&8>*T&OV#10;[[@#S'"QK\F5ZO[K>X MXU>L^,:>?\;>USPE BLN$!Q4G:9EH.,RT&1'QUW")80[ U:B@CT3ZZ>FD!9; M!LU;ZG+Q)#,-S)V$)V@BD[09CW\"M6-,L!+ M=OBQ4H(N;, C\WLC>U)&> M"CUZ;M>KI X@="L(W5:"9X1Q.,V:XD:NNK?DZD;&#H#V*J"]5JY^F#H**8LW MD-$KLJL%<*-(!2FM:\\=+=-6WC?%HMB@6R/ =?H]N*><(Z8:!8<'@@<8^A6& M?BN&&EFU\WCI#%Z"U;\65J-@"ZQ!!6O0FH,ORR7/2NV8)N2&+33V0)9O(29\,3*CS//V7L5.P, M5:ZSOZ:=]AS<491Q19BB.#E(MHN>E^8ONMX@=\[W6HOA_J?S<^TM!ET$CO^& M'@ADM_^_CI1>'AZDX:#;$(0FR;8CYWK[6'BML9A<7SMT!Z4_F)5F1,5>_3I9 MG< ]1G,J]>ATSEQ@[KY%<5OO^'!V+8M78O&;L!Q#.15J@;+O)]SVAN(9#M3C MO@A>=Z""EH-2>GLJXCKN:1+9M?8=^KZ5F6HD!#%GJFAAJ]5J#[ MDD/=*5_T!M6<&?X+4$L#!!0 ( $1HIU@F4[NHJ ( $' 9 >&PO M=V]R:W-H965T\X]YV)?QQLAGU0!H,ES M57(U<0JMZPO756D!%54#40/'+[F0%=4XE4M7U1)H9D%5Z?J>%[D59=Q)8KMV M*Y-8K'3).-Q*HE951>7O*91B,W&&SF[ACBT+;1;<)*[I$NY!/]:W$F=NRY*Q M"KAB@A,)^<2Y'%[,(A-O [XQV*C.F!@G"R&>S.0ZFSB>$00EI-HP4'RM809E M:8A0QJ\MI].F-,#N>,?^Q7I'+PNJ8";*[RS3Q<0Y=T@&.5V5^DYLOL+6S\CP MI:)4]DDV36R(P>E*:5%MP:B@8KQYT^=M'3H Y.D'^%N OP\(WP $6T!@C3;* MK*TYU32)I=@0::*1S0QL;2P:W3!N_N*]EOB5(4XGUSP5%9 '^@R*',]!4U:J M$W)*'N_GY/CHA!P1QLE#(5:*\DS%KL:D!NJFVP33)H'_1H* W BN"T6N> ;9 M2[R+8EO%_D[QU#](>$/E@ 3#3\3W_+!'S^S]\." G* M8&#Y@G\6D,R92DNA M5A+(C\N%TA+WZ,^^BC6,83^C.;<7JJ8I3!P\F KD&ISDXX=AY'WNL_N?R%Z8 M#UOSX2'VG7F-YA? (6>ZSV[#$5D.TU76B7\^CMUUU\7KF--1.&R#7J@;M>I& M[U%WC/\$M_0"L.>LD?4$L#!!0 ( $1HIUA'T&PO=V]R:W-H965T2 M.+['YQ[;UZ<>;(5\5DM*-7K)4JZ&WE+KU;7OJWA),Z(NQ(IR^#(7,B,:7N7" M5RM)26*#LM0/@Z#G9X1Q;S2P;5,Y&HBU3AFG4XG4.LN(W(UI*K9##WO[A@>V M6&K3X(\&*[*@CU0_K:82WOP2)6$9Y8H)CB2=#[T;?#W!5R; ]OC&Z%8=/".3 MRDR(9_/R-1EZ@6%$4QIK T'@9T,G-$T-$O#X7H!ZY9@F\/!YC_ZG31Z2F1%% M)R+]ER5Z.?3Z'DKHG*Q3_2"V?]$BH:[!BT6J[%^TS?OV>AZ*UTJ+K @&!AGC M^2]Y*80X" B[;P2$14#X*@!WW@B(BH#()IHSLVG=$DU& RFV2)K>@&8>K#8V M&K)AW$SCHY;PE4&<'CUJ$3^?CT&(!$U$!JM#$:OO.?J;2$F,R.CLEFK"4O4% M6I\>;]'9KU\&OH;1#88?%R.-\Y'"-T:*T+W@>JG0'4]H4H_W@75)/=Q3'X=. MP'LB+U"$?T=A$'8:^$S>'QXYZ$2EDI'%B]Y2\$?37JT!%93 MIU.JTW&A%^LLSSH^5(>^F&?:E'R.V+.(IAQM1CB(HB (!O[F,*_C?OU^Y[!; MC7&W9-QU,KX#8K&V=)5&P%29B5.6L&W7 FVHTDW,NT>,.I<8'S-W,OC@C/3* M_'K._!YH+!:INGK;0ZHF&5:+AC]]>Q9AM*=026EVARDYAIQ\9?8.SE?%%L5X;TW4# MY =.8V:?X81P986PVPL]0&:260]AZTAC;DZ(DZ>R);1ZPI63PMV?L-A;,D^% M0I]AQ7#EQ;#;'+UCL;L!(KO8&\V4._*CJ55V"KO]U)1*>]L UJGX/],N>NNG M[(2C)W"A3_8!&X UR9P M1IZ:FG]PX9)1N;#W4 JO]B!BAO!D?_ M U!+ P04 " !$:*=8%U9*-Z\$ #7%@ &0 'AL+W=OU&M:M7>:STDG;0_?K:AF!;P1>2F>Y- @I_G^]A^/E_AV8'QKV)#J00O>5:(N;>1 MSM*!W'(A=GA/^SQ7-V&'N0>_UA_MTO9'Z!W\QVY(U?:#R<7O'U9U?1TG2 MG!8B907@=#7W+N'%%<9Z@'GB*:4'T;@&NI1GQK[JFS^2N1=H132C2ZE#$/6U MI]/O*JA7Y]0#F]>OT3^9XE4QST30:Y9]21.YF7L3#R1T17:9O&>' MWVE5T%C'6[),F$]PJ)X-/+#<"JHEH#,"H9P"J!B"CNTQD M5-X0218SS@Z ZZ=5-'UA2C6CE;BTT*OR(+GZ-U7CY.)!LN77\RM55P*N6:X6 M6Q S7>?@G@K)TZ54_YBG "D2<$>YV0K%DH*'#>$4/!:I%.###94DS<3'F2^5 M+!W<7U82KDH)J$<"!K>LD!L!?BL2FKP=[ZMRZIK0:TU7R!GPEO 1P/ ,H "% MX&?@ Z&5BNK+D0'7LX9-!MR3X8M9;#4QEWO*U>8%GSDI)% K0,$GDG+P1+(= M[9J*,F[8'5>WX(78DB6=>ZK'!.5[ZBU^^0E&P:\.U6&M.G1%7_RYDT*J14R+ M]1EXINNT*-2EVM296'V[ EO)RICZ"?QNSUU5-F2\V^73_[QA$C+EIJNE0SLE?8ARN,.Y7 4 M]@-65'[?R0QQ$84]Z:S[0[3X-C+JRAZWLYS# :!+UY+>V MV^,@B;+J7C MEM*^);). ]U6<^T GTM*U#5I09\<:S30[33?PIQ+4MS>13&.PTF/)FLAT.TA M77SH%. ,,Y0!UB#@]$> S6E+ XM"UE"0VU!. UL5_,V60&'0 Q9D/00Y<7XL MUZHH1_0KLJ1';M(?QS34)GI?9@MSY(;Y]Z89:E._3Z,E/G(3?R#-4-L"^J18 M^",W_$\@&6ISWK5M+>N1F_6-MJ_>O^U;]CR;=+:).,HP+C'[I#U$>1^TS@6;M-C>P9;VF,W[8^#&VY3_1Q.XTG/ M&Q:V6,=NK']OPN$V_R'LFR3K -CM ,9A]N6-.>5K.]:_UJ>VE^59I7V\//*])5RUF0 97:FA MP2A6R7EYBEK>2+8U)Y?/3$J6F\L-)0GE^@'U_XHQ^7JC$]1GV8O_ %!+ P04 M " !$:*=8!)\LG*(# #L$@ &0 'AL+W=O(U$5 M!>9?5Y"SX\+QG<>.#V2?2=WA+NRD5R])0HGE[>8C]N(O3ZU1OT"A&*_LY8)3!-Q=R5 M*A?-Z"9-W%4=-W@B;HCN&)690#%-(>WB736'=B+!XT16P2#A'>87*/1'*/"" M<4\^ZY?#PQYX- R/(!F$Q\/PFVK?PH,!,<+6U=#PA<^Z.D(KG&.: -J8NO,' M9U5)Z'Z$;@E5_03G:".Q-+:C-2[U\NWULXXX[H^HZ]FU*'$""T<5+ '\ ,[R MUU_\J?=[GQDVR2*;9+$ELHYMX]:V\1"[^HHX.=1K[B^"MR0G\NOHQ!ZV.W'M MG@EB:NV_\8/4E7N;@UI-50%ZV3+Z7Y^)P_'?RPRXJMT)KR!%>9,"@;[O83U( M=:Z%]O**+>75,7#2&C@93'1SQ&6?[(.H<]>.3;+()EELB:PC_;25?OK32][4 MIFTVR2*;9+$ELHYML]:VV0M+W@A1IIU0[N""553V.3)(=JXC-LDBFV1Q338U M9'JK?UBJC;_GS=U#C]27K=27@U*_I1)4;*EV;@DKH$_>RQ_BAN&LC5JK]N.8 M8#SICHD&$SE7#$MD' M3R_J34A+SEEEBZRRQ;;8NN:=G"Q]FZ5]F.UL7VRR15;9XH;MN?+NGISJU:9^ M;ZY3!$JT@/6YN.UMKVQNS$7%=_TK_WI=7[Q\HZGO@=2I=T^H0#GL%*5W,5,[ M.%Y?K=0-R4IS=[!E4K+"/&: 4^!Z@'J_8TP^-G2 ]H)K^3]02P,$% @ M1&BG6&F*X&G; P N1$ !D !X;"]W;W)K&UL MO5AM;]LV$/XKA%8,+9!&;[;C9K:!Q$ZZ LT:Q&WWF9'.-E&*U$C*SO[]2$J6 MK%5F'%3(%UNB[GGTW)WN=-1DQ\4/N0%0Z"FC3$Z]C5+YI>_+9 ,9EN<\!Z:O MK+C(L-*G8NW+7 !.+2BC?A0$(S_#A'FSB5V[%[,)+Q0E#.X%DD668?'O-5"^ MFWJAMU]X(.N-,@O^;)+C-2Q!?H%1!!0292BP_MO"'"@U3%K'/Q6I5]_3 ^/]^RW MUGGMS".6,.?T;Y*JS=0;>RB%%2ZH>N"[/Z%R:&CX$DZE_46[RC;P4%)(Q;,* MK!5DA)7_^*D*Q $@.@:(*D!T*B"N +%UM%1FW5I@A6<3P7=(&&O-9@YL;"Q: M>T.82>-2"7V5:)R:W6(BT'=,"T!W@&4A0.=(2?0>+?43DQ84$%^AQNH,74D) MV@"S%'TF^)%0H@C(/3I%.CQ M#F6T#^5UY&2\P^($9BH)HT"7(#5] 4L-CAYRXSFQL^>)G,WNFTT Q2P M M;6?X*'B1Z^R2V+;XS"*>PS;(&BL$N3$_C2&NJ)K.7CN/9Q_.H- M9MQG<'HB:P7G0QV<#WTTF))D>/#L!?][.ET6+65AT+SR@U^JF@KN4N4T:B+K>UGU/@9O7K=5+?L*T ]L;4#U PNH?/5?VKM5"Q# M=W?OLCK:WL-F?@C= \2S-30X25R'U7%QS? 0NE^V927%G;J;_@ND[:Z9GX(G6_@YVMH_--D M]I,LETDIRS_8'.NY>&V_&4B4\(*IN],;='FX IR",@;Z^XESM3\P-ZJ\UL_\ 4$L# M!!0 ( $1HIUADOH"%90, /D- 9 >&PO=V]R:W-H965TU[/C1D7SF24C=VJR4BF)N(";A71:1PS M]3R%2&[&#G5>!N[XDEN%/;?4$O 8A.92$ 7AV+FD%U,Z MM +9C%\<-GJK3:PK=[,'8\2P01+(Q5P?!O#5<01583Z5M]"1CK[)9MBKN>0 M1:J-C MA)(BYR/_94Q&(+0&_WR#@%P)^QIT;RBAGS+#)2,D-478V:K.-S-5, M&N&XL*MR;Q1^Y2AG)G=@N (,LR&W$1.:?"(W3"EF8T6.9V 8C_0).2)^JT*KYDZ M(QUZ2GS//RXIZW:2]Q%QABQ>=I MMMUM*(A(XSFH.MY<8S?3:$_N>M(=N>L:B&X)T6V%>!#<(,.]809J-TBK^#LC MU"OA>OM>T-X!6LE._E(/2_."-YH,B M;O,B;HT,@QT&6L\P+!F&>]_3PQT(OQZ">E5V]-Z$L1V TU=0FLR?"<1)))\Q M9G_)46URS*WTMN/C>0UP6ZF;O@,.GA*L>#@^WXE\QP0)6:Z]5\)V'CU;9G^X]_=-#Y']:%0"Z_PI M=TM PYFE50V@;RH"/[A8!C*NM7J(,D"K.D#W7@CH(2H!K4H!;:\%[UK:W9+0 ME FKFD#;B\*^,N%@)Y7TAPUL5:V@;RL6AT^$P]U$2/^_.+E;M_$8U#)[,3+)[O9S:?"E MD#57^#8#92?@]U!*\]*Q!LK7WN0?4$L#!!0 ( $1HIUAY*0:\K@, -P- M 9 >&PO=V]R:W-H965T4<6\ZMG/WV'JCS80_'1=T M#4O0C\6]Q)'?H*0L!ZZ8X$3":N+=A;?SL&\3+R1 M1U)8T3+3#V+[)]2"+,%$9,K^DFUM&W@D*946>>V,#'+&JW_Z4B_$@0/BN!VB MVB%J._3..,2U0VR%5LRLK 75=#J68DNDL48T\V#7QGJC&L;--BZUQ+<,_?3T M 323@/NBR7U&N2)79(FADI89$+$BWS"09L!AQ329"Z45>;< 35FFWJ/EXW)! MWKUY3]X0QLG?&U$JRE,U]C42,_!^4I.8522B,R1B\E5PO5'D$T\A/?;W45"C M*MJIFD6=@%^IO"9Q^(%$0=1S\)G_NGO<02=N%CFV>+TS>(^<:4C)4E,-SN7I M=#H[1GT>,S2A<8*1RE[F+& MQ!19,)5D0I427-I[E]1^(; C[?U&>[]SE[]P#8BJ28('Q:6TGZ># MP=A_/N1_:C(,&Y,C5H.&U:"3U:>7 C,F;HD$74I.,'469E.H4J"=P5CA]0\X M7 U&+9XNFYZ;Z+ A.NPD^@")6'/V$ZERS#J8WTLJ&*%Y%\*[5C_0?T.?R_KU/Z' =9O MIQV73=\=A&&T9Q9=.//4@$=IY:;7YNHP&ITY,>&^0H?=)?HN%U*SG]3VEMCX M%'C$L=O%[6()V+55!)L;HB4V2:SJ0'-12QR<43U:\R^18P[[VAIWE[?49 MM,8[)-%.] Z34.]N8M^9GYNIB^^\]3'7OP=9QS;"-SF"%D,'U$'G)ZBI1#;0H M;#?^)#3V]O9Q@]V2;I_/]M0 BE%K49>$MO< M>SCG^ +7DQWCCR(!D.@I2ZF86HF4FTO;%E$"&1;G; -475DQGF&IIGQMBPT' M')ND++4]QPGL#!-JA1.SMN#AA.4R)106'(D\RS#_>PTIVTTMUWI>N"/K1.H% M.YQL\!J6(.\W"ZYF=H42DPRH((PB#JNI=>5>SEQ?)YB(7P1VHC9&6LH#8X]Z M\CV>6HYF!"E$4D-@];>%&:2I1E(\_I2@5G5/G5@?/Z-_->*5F <=VWZ 4--1X$4N%^46[,M:Q4)0+R;(R63'(""W^\5-I1"U! MX;0G>&6"=Y@P>"7!+Q.,U+Q(M4DP%^HR6JE3B/ 7$5FC&A!1Z\"+N= X2DU2YV MYB?(]_]A#S'&[3PF;T]W>^@XU=F^P;/?P5O#BNU$BM7J>3D(3>% MK.U$J@'54_Z)=B@R.86NI)%L"W8(4?/[B!\Z5-C>D) MK"'QHI)X<93*O.C3@)[ &@:XSOY+[1RS-DOT>N&-@H/:;(D)O/;:=&L=AON6 MU^3*].('Z]?ZM&):[CU, M<=117>*:*#$IK!2DHZRO&Y/-$ MWZ ZPX7_ %!+ P04 " !$:*=8$#,XY%<& Z, &0 'AL+W=OH[,4%XX_VH._DCN>H[I$4E) MK P"ZX<=69 T-23=C_\J:*]NTP0>/W^EA\7@]6!>L"0+GOY+$[6YZTU[*"$K MG*?JD>]_)]6 1H87\U06?]&^.M?IH3B7BF=5L.Y!1EGYB+]5'\11@!YH=X!7 M!7@_!DS/! RJ@,&E+0RK@.&E :,J8/1CP+E!CZN \:4M3*J 23%9Y:=;3(V/ M%9[/!-\C8<[6-/.DF-\B6L\(94;%)R7TNU3'J?F"9QE5VBTE$68)6G"F*%OK M8_2)XA>:4D6)1!_0%RP$-MJ@MSY1F*;R'7J#*$-_;W@N=:B<]97ND,'VXZKQ M1=FX=Z;Q ?JLF]M(%+"$).WXOAY(/1KO=30/GA7X&8L;Y [>(\]Q;]'SDX_> MOGG7U:\+, /78+SA*P9ML5"'#IAOA_DDKF$#2Y\".^:);#7&*3"N!1->,#1O M7&"/&O$.C8]S5 MS8<2-^S&F2S^46YQ3.YZ.DU+(G:D-__U%W?L_-;E!"3,AX0%D+ 0$A8!P5JV M#&M;AC;Z_)-.36M<+&B2*)42D\40SGBN'_98Z)2"%$=<;8@X:_J#M8UK%2IA MXP)F-@&[^=1QG%E_=ZP&9(L!)"R$A$5 L)8:HUJ-D56-+WGVHB>=KZKD9)8P MM<%*;YYBHM>P!&&DDPH1.$6,*QH3E&J%=,C;*IN]0]^[$UMIC;7Y:ZV!A/F0 ML 2%D+"HA(V.OJFN*48(:V1%"> M=#E@)5WK@+U;[@ ="!9=EUL^9#<"2%@("8N 8"TK;FLK;B_<6FRYTLN%S@SI M02<)N>5,TI>4%%M-L^&@+$YSLPG5%\EX+4BY/_U^?BMJ;?A:B6Y/EY.3) +9 M8 )"R%A$1"LI8OK- 46YU)A*C$$^2^GHKPZT2G%U!.;528ADJY9L=C87+$W M>JTLH#0?E!: TL**=OR]\-K?B@BJP;8O1P4YU^I+P'94<&:2A=;A$Y?RN J" MGI1>D(I,\M<*A91A%AMMEES2XE(X^*9(E8@"EF=$E%?(7[A"OM[4I%QJ\<(4 MKSNMLG;M:JOL UW5G8^YWG"9;G;:!-FG )06@M(B*%I;/*\1S[/O=^)8Y'HV M=#Y"I"6AEJ9KN_%@!UZMBW>R]_4&M],?UJRNLX;NI'U6 -JS$)060=':T]S4 M6%UK46[^O'Q\[)Q,T&(J*,T'I06@M!"4%D'1VG(T)55W"%N!=T'KIZ T'Y06 M@-)"4%H$16M;TU1;77NY]9ZQO%C&7W]+K*KPG<*,+JB1+^P-7BT":%&T8P3C MDQ&$H&U&4+3V!#>54==>&CV[9H!60$%I/B@M *6%H+0(BM:6HRF6NA/@-0.T M8@I*\T%I 2@M!*5%4+2V-4UQU;67,6V_WG9*,SVY]1G M!SFAQ6N?T.JR K"?ZH+0 E!:"TB(H6OMF MKJ9TZME+IW8K&& M+O&AD.'\3W(_ 8S/_HJVL$=>K01H_1*4%H+2(BA:6XFF?NG9ZY?+7,0;+,G1 M=6BG%Z<%Q,Z\ %GS\T%I 2@M!*5%4+12@O[1GOBIG6I9UBO .5-SO6K M]8WQ]\7MX/WF]/*N^L]8K"F3*"4K'>K<3/2>090WJI<'BF^+^Z1?N%(\*YYN M"$Z(,"?H]U>AV6A&4U+(.4B['4Z<9A3+LEX M*)?Y=6[*8*:6THQ(OPT%[O8U'9%N_)$$3FZB4C8B]V?O?RV5N7H7N/O)AY.3 MSOWYU7[\K +.2>@5[;]"]**#ZUH,DXYWI9OAIU:KY9YBY$L/><-$:0-OSJV, M%3&L%WP\S)3:KKN]/MD0JIM-,E4Z9;I-TR5-:#P4+ ,[FL\7<#>J" $T M1N6VD7(Z5Y)6'AI&W;"R,R;$+3PH/[,=[56VM6<=V#'9-JVANNED7 ?TM]6< M]K9L[TVZ0<$?E/FRM-.151\JF]UHEO%5U5]EK0%,O8NKTZ(0Z\^"SV7.W.1? MG7 \I TO6"C-'VTV*)69#3!-@@>F#9]M1WYK6MRQE6G*:97AGGM'Z/GOKO.< M2::IV#9M:_^05_G-CJ/+?V6Y^J^R;]CKL7[[';K)_C&8C(_!Y!'49)06\F6>M*-N8"'J49OV-YA>-V[/@387ERE;L712 M=_5\6C4#V[!9ZPL(^\AU=?D1C.,P/P(8E@=S@'$<"\OS/\UG@,['89BW@1<9 MH)P!RG$L'S*I/E@>/R>QEW^F21)%<8RMZ&3B=3#!UBV.X>M7P[P! \L#F?YL MK?'=QBODY3K ]O2E"L%FBE8&"[@-4.Y/?G@9KR MRK<_'HU?@)02P,$% @ 1&BG6)>*NQS $P( M L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE( M2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'J)4IM=*E_J[S?ZK2$7]OM7];IW]8$6\AES( MI6_V!+F<20#IMWH=N.!*.Q^:,YKK2V#<*#AYMU4%^T,70;F1#.JGL]63-@_U M9> NVN@VFG;8?^X:\^6EMOM5%(:3) MQ5U8*R?&T)7FH>80 XQ)B:3+;))!EMD*>E',5*;T1C;__HI&Z:/+[(^Q@0X- MUCUC($H57697W%CS<+E0KA0CM0Q-Q\[J\U0N;F4(&).219?9%M?2&<@VO9C" M,S>T96F-F*^E.^A82A1=9E.,369+)1;RESJ('I07NLQBF >;/5Y"Y(7.A#:# M*_EW89=20I?9"3^D=N)>%I42MTKZRJFWP3>BK! Q6V&F@MXAB6DAS0$7)86( MN^2 QU^'IJF:\3J$\@_&1LUYH^428Y(U![,LIO)9;)H!V_S<9$J,M,\*6W6BW!$QNX-,JPZ*RHC22<2LDR-IU=&F MI)02,2OEO_SJ&%E,V21FM@F9:!W.P5!RB9GEM>O%2 6),2G_),S^><6LJR\GLR"V.JS%L/+!EM@_">6? MA-D_KY@S5:](UOV."C*,22ZJL/MGCXF">MW=NCAP4$(Y*&%V$)VEXW"44 Y* MF!U$8^)UE81R4'+6F@>OK"24@Y(SU#SH*<68E(,29@<=QQP4A=V^&>&DS,(A,&?*XZ(GI823,@OG5"G^ M$LTQ)B6)9\>]VMDU,+3(28EGUXCG_;^-<%INW]?%Q_%PJJMF-X[]CY3J>E>.;;WK^G(Z7]ETP[$= MS\MAF_IV_=YN2]+E,J?A=D;S_'0[<_'ZV9?_F=AM-OMU^=FM?Q_+:?S'X/2G M&][KKI2Q6;RVP[:,JR9]'*ZG:[H5-FC1WD$*0SA]D$&3S M!SD$^?Q! 4$Q?U"&H#Q_T#T$W<\?] !!#_,'/4+0X_Q!LD09EP1)$ZP)M!;D M6@B\%@1;",06)%L(S!9$6PC4%F1;"-P6A%L(Y!:D6PCL%L1;"/16U%L)]%;4 M6PGTULG'-H'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z& M>AN!WH9Z&X'>AGH;@=XVV2PAT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#; M4&\CT-M1;R?0VU%O)]#;46\GT-M1;R?0VR>;W01Z.^KM!'H[ZNT$>COJ[01Z M.^KM!'H[ZNT$>@?J'01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'K'Y&@>! MWH%Z!X'>@7H'@=Z!>@>!WAGUS@1Z9]0[$^B=4>],H'=&O?-WZEW'ST.IUYZO M-3[_.ZD>S_>6Z^,ORZ^3DU?E@G.ZK:C/?P%02P,$% @ 1&BG6.[5[1CF M 0 ]20 !, !;0V]N=&5N=%]4>7!E&ULS=I=3\(P% ;@OT)V:UCI MU_R(<*/>JA?^@;H=9&%;F[8@_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC,-JT M31>FV2)&=\58*!?4FI!;1UU:F5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB.?8UL M=GU+<[-JXNANDWX.M>VFF:&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( $1H MIUCP[LNLR@4 (\? 8 " @0X( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% M @ 1&BG6"=.1C7G @ - @ !@ ("!KQ4 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 1&BG6"@+D#G3 @ MN@8 !@ ("!9R, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1&BG6$29@JS& @ X 8 !@ M ("!F#4 'AL+W=O&UL4$L! A0#% @ 1&BG6/S55I&*"@ W1L !D M ("!+CT 'AL+W=O' &0 @('O1P >&PO=V]R M:W-H965T&UL M4$L! A0#% @ 1&BG6&>[],L4! 0D !D ("!&UD M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M1&BG6%",$_)D P 2P@ !D ("!_&8 'AL+W=OP >&PO=V]R:W-H965T>@P (,? 9 " @0Z! !X;"]W;W)K&UL4$L! A0#% @ 1&BG6)Y&?^9@ @ Q 4 !D M ("!OXT 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 1&BG6!7?VB0N! V H !D ("!<)< 'AL M+W=O&PO=V]R:W-H965TA !X;"]W;W)K&UL4$L! A0#% @ 1&BG M6+BFTV2B @ XP4 !D ("!L:4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1&BG6'89:RDZ P OP< M !D ("!7ZX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1&BG6$#L=%AF P 5@@ !D M ("!&K@ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 1&BG6$VJ4CNK P 9@T !D ("!$<< 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 1&BG6#SI M*?-W! <1H !D ("!\M( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1&BG6(:7HA"J @ E@< !D M ("!K=X 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 1&BG6+P*@1>V!0 <"@ !D ("! M2.@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 1&BG6.09E]B; @ >P8 !D ("!4?0 'AL+W=O'Y !X M;"]W;W)K&UL4$L! A0#% @ 1&BG6 Q;Z%\6 M!0 "B$ !D ("!^?P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1&BG6$?1P'@4! )10 !D M ("!7 D! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 1&BG6&F*X&G; P N1$ !D ("!9A8! M 'AL+W=O&PO=V]R:W-H965T 0!X;"]W;W)K&UL4$L! A0#% @ M1&BG6+^$MS\X P SPT !D ("!^2$! 'AL+W=O&UL4$L! A0#% @ 1&BG6)>*NQS $P( L M ( !32\! %]R96QS+RYR96QS4$L! A0#% @ 1&BG6$,MEE T8Y@$ /4D M 3 " <,W 0!;0V]N=&5N=%]4>7!E&UL4$L%!@ 0 !' $< :!, -HY 0 $! end XML 76 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 77 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 79 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 170 262 1 true 54 0 false 9 false false R1.htm 0000001 - Document - Cover Sheet http://www.lbfoster.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Parenthetical) Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSParenthetical CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Parenthetical) Statements 6 false false R7.htm 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 7 false false R8.htm 0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY Statements 8 false false R9.htm 0000009 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY (Parenthetical) Sheet http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY (Parenthetical) Statements 9 false false R10.htm 0000010 - Disclosure - Basis of Presentation Sheet http://www.lbfoster.com/role/BasisofPresentation Basis of Presentation Notes 10 false false R11.htm 0000011 - Disclosure - Business Segments Sheet http://www.lbfoster.com/role/BusinessSegments Business Segments Notes 11 false false R12.htm 0000012 - Disclosure - Revenue Sheet http://www.lbfoster.com/role/Revenue Revenue Notes 12 false false R13.htm 0000013 - Disclosure - Goodwill and Other Intangible Assets Sheet http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets Goodwill and Other Intangible Assets Notes 13 false false R14.htm 0000014 - Disclosure - Accounts Receivable Sheet http://www.lbfoster.com/role/AccountsReceivable Accounts Receivable Notes 14 false false R15.htm 0000015 - Disclosure - Inventory Sheet http://www.lbfoster.com/role/Inventory Inventory Notes 15 false false R16.htm 0000016 - Disclosure - Long-Term Debt and Related Matters Sheet http://www.lbfoster.com/role/LongTermDebtandRelatedMatters Long-Term Debt and Related Matters Notes 16 false false R17.htm 0000017 - Disclosure - Earnings Per Common Share Sheet http://www.lbfoster.com/role/EarningsPerCommonShare Earnings Per Common Share Notes 17 false false R18.htm 0000018 - Disclosure - Income Taxes Sheet http://www.lbfoster.com/role/IncomeTaxes Income Taxes Notes 18 false false R19.htm 0000019 - Disclosure - Stock-Based Compensation Sheet http://www.lbfoster.com/role/StockBasedCompensation Stock-Based Compensation Notes 19 false false R20.htm 0000020 - Disclosure - Fair Value Measurements Sheet http://www.lbfoster.com/role/FairValueMeasurements Fair Value Measurements Notes 20 false false R21.htm 0000021 - Disclosure - Retirement Plans Sheet http://www.lbfoster.com/role/RetirementPlans Retirement Plans Notes 21 false false R22.htm 0000022 - Disclosure - Commitments and Contingent Liabilities Sheet http://www.lbfoster.com/role/CommitmentsandContingentLiabilities Commitments and Contingent Liabilities Notes 22 false false R23.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 23 false false R24.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 24 false false R25.htm 9954471 - Disclosure - Basis of Presentation (Policies) Sheet http://www.lbfoster.com/role/BasisofPresentationPolicies Basis of Presentation (Policies) Policies 25 false false R26.htm 9954472 - Disclosure - Business Segments (Tables) Sheet http://www.lbfoster.com/role/BusinessSegmentsTables Business Segments (Tables) Tables http://www.lbfoster.com/role/BusinessSegments 26 false false R27.htm 9954473 - Disclosure - Revenue (Tables) Sheet http://www.lbfoster.com/role/RevenueTables Revenue (Tables) Tables http://www.lbfoster.com/role/Revenue 27 false false R28.htm 9954474 - Disclosure - Goodwill and Other Intangible Assets (Tables) Sheet http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables Goodwill and Other Intangible Assets (Tables) Tables http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets 28 false false R29.htm 9954475 - Disclosure - Accounts Receivable (Tables) Sheet http://www.lbfoster.com/role/AccountsReceivableTables Accounts Receivable (Tables) Tables http://www.lbfoster.com/role/AccountsReceivable 29 false false R30.htm 9954476 - Disclosure - Inventory (Tables) Sheet http://www.lbfoster.com/role/InventoryTables Inventory (Tables) Tables http://www.lbfoster.com/role/Inventory 30 false false R31.htm 9954477 - Disclosure - Long-Term Debt and Related Matters (Tables) Sheet http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables Long-Term Debt and Related Matters (Tables) Tables http://www.lbfoster.com/role/LongTermDebtandRelatedMatters 31 false false R32.htm 9954478 - Disclosure - Earnings Per Common Share (Tables) Sheet http://www.lbfoster.com/role/EarningsPerCommonShareTables Earnings Per Common Share (Tables) Tables http://www.lbfoster.com/role/EarningsPerCommonShare 32 false false R33.htm 9954479 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.lbfoster.com/role/StockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.lbfoster.com/role/StockBasedCompensation 33 false false R34.htm 9954480 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.lbfoster.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.lbfoster.com/role/FairValueMeasurements 34 false false R35.htm 9954481 - Disclosure - Retirement Plans (Tables) Sheet http://www.lbfoster.com/role/RetirementPlansTables Retirement Plans (Tables) Tables http://www.lbfoster.com/role/RetirementPlans 35 false false R36.htm 9954482 - Disclosure - Business Segments - Narrative (Details) Sheet http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails Business Segments - Narrative (Details) Details 36 false false R37.htm 9954483 - Disclosure - Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details) Sheet http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details) Details 37 false false R38.htm 9954484 - Disclosure - Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details) Sheet http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details) Details 38 false false R39.htm 9954485 - Disclosure - Business Segments - Reconciliation of Assets from Segment to Consolidated (Details) Sheet http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails Business Segments - Reconciliation of Assets from Segment to Consolidated (Details) Details 39 false false R40.htm 9954486 - Disclosure - Revenue - Sales by Major Product Line (Details) Sheet http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails Revenue - Sales by Major Product Line (Details) Details 40 false false R41.htm 9954487 - Disclosure - Revenue - Timing of Transfer (Details) Sheet http://www.lbfoster.com/role/RevenueTimingofTransferDetails Revenue - Timing of Transfer (Details) Details 41 false false R42.htm 9954488 - Disclosure - Revenue - Over Time Sales (Details) Sheet http://www.lbfoster.com/role/RevenueOverTimeSalesDetails Revenue - Over Time Sales (Details) Details 42 false false R43.htm 9954489 - Disclosure - Revenue - Contract with Customer (Details) Sheet http://www.lbfoster.com/role/RevenueContractwithCustomerDetails Revenue - Contract with Customer (Details) Details 43 false false R44.htm 9954490 - Disclosure - Revenue - Remaining Performance Obligation (Details) Sheet http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails Revenue - Remaining Performance Obligation (Details) Details 44 false false R45.htm 9954491 - Disclosure - Revenue - Narrative (Details) Sheet http://www.lbfoster.com/role/RevenueNarrativeDetails Revenue - Narrative (Details) Details 45 false false R46.htm 9954492 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) Sheet http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) Details 46 false false R47.htm 9954493 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details) Sheet http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details) Details 47 false false R48.htm 9954494 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details) Sheet http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails Goodwill and Other Intangible Assets - Narrative (Details) Details 48 false false R49.htm 9954495 - Disclosure - Accounts Receivable - Narrative (Details) Sheet http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails Accounts Receivable - Narrative (Details) Details 49 false false R50.htm 9954496 - Disclosure - Accounts Receivable - Allowance for Credit Losses (Details) Sheet http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails Accounts Receivable - Allowance for Credit Losses (Details) Details 50 false false R51.htm 9954497 - Disclosure - Inventory (Details) Sheet http://www.lbfoster.com/role/InventoryDetails Inventory (Details) Details http://www.lbfoster.com/role/InventoryTables 51 false false R52.htm 9954498 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details) Sheet http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details) Details 52 false false R53.htm 9954499 - Disclosure - Long-Term Debt and Related Matters - Narrative (Details) Sheet http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails Long-Term Debt and Related Matters - Narrative (Details) Details 53 false false R54.htm 9954500 - Disclosure - Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details) Sheet http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details) Details 54 false false R55.htm 9954501 - Disclosure - Income Taxes (Details) Sheet http://www.lbfoster.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.lbfoster.com/role/IncomeTaxes 55 false false R56.htm 9954502 - Disclosure - Stock-Based Compensation - Narrative (Details) Sheet http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails Stock-Based Compensation - Narrative (Details) Details 56 false false R57.htm 9954503 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details) Sheet http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails Stock-Based Compensation - Restricted Stock and Performance Share Units (Details) Details 57 false false R58.htm 9954504 - Disclosure - Fair Value Measurements - Narrative (Details) Sheet http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails Fair Value Measurements - Narrative (Details) Details 58 false false R59.htm 9954505 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details) Sheet http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details) Details 59 false false R60.htm 9954506 - Disclosure - Retirement Plans - Narrative (Details) Sheet http://www.lbfoster.com/role/RetirementPlansNarrativeDetails Retirement Plans - Narrative (Details) Details 60 false false R61.htm 9954507 - Disclosure - Retirement Plans - Schedule of Net Benefit Costs (Details) Sheet http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails Retirement Plans - Schedule of Net Benefit Costs (Details) Details 61 false false R62.htm 9954508 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details) Sheet http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails Retirement Plans - Schedule of Costs of Retirement Plans (Details) Details 62 false false R63.htm 9954509 - Disclosure - Commitments and Contingent Liabilities - Narrative (Details) Sheet http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails Commitments and Contingent Liabilities - Narrative (Details) Details 63 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 4 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:NumberOfReportableSegments, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - fstr-20240331.htm 4 fstr-20240331.htm fstr-20240331.xsd fstr-20240331_cal.xml fstr-20240331_def.xml fstr-20240331_lab.xml fstr-20240331_pre.xml fstr-20240331_g1.gif http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 82 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "fstr-20240331.htm": { "nsprefix": "fstr", "nsuri": "http://www.lbfoster.com/20240331", "dts": { "inline": { "local": [ "fstr-20240331.htm" ] }, "schema": { "local": [ "fstr-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/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-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" ] }, "calculationLink": { "local": [ "fstr-20240331_cal.xml" ] }, "definitionLink": { "local": [ "fstr-20240331_def.xml" ] }, "labelLink": { "local": [ "fstr-20240331_lab.xml" ] }, "presentationLink": { "local": [ "fstr-20240331_pre.xml" ] } }, "keyStandard": 229, "keyCustom": 33, "axisStandard": 24, "axisCustom": 0, "memberStandard": 34, "memberCustom": 20, "hidden": { "total": 11, "http://fasb.org/us-gaap/2023": 6, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 170, "entityCount": 1, "segmentCount": 54, "elementCount": 522, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 580, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.lbfoster.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CostOfRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R5": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R6": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSParenthetical", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "longName": "0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DeferredIncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R8": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "longName": "0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "c-10", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-10", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical", "longName": "0000009 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockRepurchasedDuringPeriodShares", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockRepurchasedDuringPeriodShares", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.lbfoster.com/role/BasisofPresentation", "longName": "0000010 - Disclosure - Basis of Presentation", "shortName": "Basis of Presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.lbfoster.com/role/BusinessSegments", "longName": "0000011 - Disclosure - Business Segments", "shortName": "Business Segments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.lbfoster.com/role/Revenue", "longName": "0000012 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets", "longName": "0000013 - Disclosure - Goodwill and Other Intangible Assets", "shortName": "Goodwill and Other Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.lbfoster.com/role/AccountsReceivable", "longName": "0000014 - Disclosure - Accounts Receivable", "shortName": "Accounts Receivable", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.lbfoster.com/role/Inventory", "longName": "0000015 - Disclosure - Inventory", "shortName": "Inventory", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMatters", "longName": "0000016 - Disclosure - Long-Term Debt and Related Matters", "shortName": "Long-Term Debt and Related Matters", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.lbfoster.com/role/EarningsPerCommonShare", "longName": "0000017 - Disclosure - Earnings Per Common Share", "shortName": "Earnings Per Common Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.lbfoster.com/role/IncomeTaxes", "longName": "0000018 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.lbfoster.com/role/StockBasedCompensation", "longName": "0000019 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.lbfoster.com/role/FairValueMeasurements", "longName": "0000020 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.lbfoster.com/role/RetirementPlans", "longName": "0000021 - Disclosure - Retirement Plans", "shortName": "Retirement Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilities", "longName": "0000022 - Disclosure - Commitments and Contingent Liabilities", "shortName": "Commitments and Contingent Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R23": { "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": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": null }, "R24": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.lbfoster.com/role/BasisofPresentationPolicies", "longName": "9954471 - Disclosure - Basis of Presentation (Policies)", "shortName": "Basis of Presentation (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.lbfoster.com/role/BusinessSegmentsTables", "longName": "9954472 - Disclosure - Business Segments (Tables)", "shortName": "Business Segments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.lbfoster.com/role/RevenueTables", "longName": "9954473 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables", "longName": "9954474 - Disclosure - Goodwill and Other Intangible Assets (Tables)", "shortName": "Goodwill and Other Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.lbfoster.com/role/AccountsReceivableTables", "longName": "9954475 - Disclosure - Accounts Receivable (Tables)", "shortName": "Accounts Receivable (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.lbfoster.com/role/InventoryTables", "longName": "9954476 - Disclosure - Inventory (Tables)", "shortName": "Inventory (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables", "longName": "9954477 - Disclosure - Long-Term Debt and Related Matters (Tables)", "shortName": "Long-Term Debt and Related Matters (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.lbfoster.com/role/EarningsPerCommonShareTables", "longName": "9954478 - Disclosure - Earnings Per Common Share (Tables)", "shortName": "Earnings Per Common Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.lbfoster.com/role/StockBasedCompensationTables", "longName": "9954479 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.lbfoster.com/role/FairValueMeasurementsTables", "longName": "9954480 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.lbfoster.com/role/RetirementPlansTables", "longName": "9954481 - Disclosure - Retirement Plans (Tables)", "shortName": "Retirement Plans (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "longName": "9954482 - Disclosure - Business Segments - Narrative (Details)", "shortName": "Business Segments - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProceedsFromDivestitureOfBusinesses", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-64", "name": "us-gaap:AssetAcquisitionConsiderationTransferred", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R37": { "role": "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "longName": "9954483 - Disclosure - Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details)", "shortName": "Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-50", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R38": { "role": "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "longName": "9954484 - Disclosure - Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details)", "shortName": "Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-50", "name": "us-gaap:InterestIncomeExpenseNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R39": { "role": "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "longName": "9954485 - Disclosure - Business Segments - Reconciliation of Assets from Segment to Consolidated (Details)", "shortName": "Business Segments - Reconciliation of Assets from Segment to Consolidated (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:Assets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-52", "name": "us-gaap:Assets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R40": { "role": "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "longName": "9954486 - Disclosure - Revenue - Sales by Major Product Line (Details)", "shortName": "Revenue - Sales by Major Product Line (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-74", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R41": { "role": "http://www.lbfoster.com/role/RevenueTimingofTransferDetails", "longName": "9954487 - Disclosure - Revenue - Timing of Transfer (Details)", "shortName": "Revenue - Timing of Transfer (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-82", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R42": { "role": "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails", "longName": "9954488 - Disclosure - Revenue - Over Time Sales (Details)", "shortName": "Revenue - Over Time Sales (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-1", "name": "fstr:OverTimeSalesAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "fstr:OverTimeSalesAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails", "longName": "9954489 - Disclosure - Revenue - Contract with Customer (Details)", "shortName": "Revenue - Contract with Customer (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "fstr:ContractWithCustomerAssetAdditions", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R44": { "role": "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails", "longName": "9954490 - Disclosure - Revenue - Remaining Performance Obligation (Details)", "shortName": "Revenue - Remaining Performance Obligation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.lbfoster.com/role/RevenueNarrativeDetails", "longName": "9954491 - Disclosure - Revenue - Narrative (Details)", "shortName": "Revenue - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "longName": "9954492 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)", "shortName": "Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R47": { "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails", "longName": "9954493 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)", "shortName": "Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "longName": "9954494 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details)", "shortName": "Goodwill and Other Intangible Assets - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-104", "name": "us-gaap:FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-104", "name": "us-gaap:FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails", "longName": "9954495 - Disclosure - Accounts Receivable - Narrative (Details)", "shortName": "Accounts Receivable - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProvisionForDoubtfulAccounts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-126", "name": "us-gaap:ProvisionForDoubtfulAccounts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R50": { "role": "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails", "longName": "9954496 - Disclosure - Accounts Receivable - Allowance for Credit Losses (Details)", "shortName": "Accounts Receivable - Allowance for Credit Losses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.lbfoster.com/role/InventoryDetails", "longName": "9954497 - Disclosure - Inventory (Details)", "shortName": "Inventory (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryFinishedGoodsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryFinishedGoodsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails", "longName": "9954498 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)", "shortName": "Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LineOfCredit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FinanceLeaseLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R53": { "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails", "longName": "9954499 - Disclosure - Long-Term Debt and Related Matters - Narrative (Details)", "shortName": "Long-Term Debt and Related Matters - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LineOfCredit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-133", "name": "fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R54": { "role": "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails", "longName": "9954500 - Disclosure - Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details)", "shortName": "Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R55": { "role": "http://www.lbfoster.com/role/IncomeTaxesDetails", "longName": "9954501 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "unique": true } }, "R56": { "role": "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "longName": "9954502 - Disclosure - Stock-Based Compensation - Narrative (Details)", "shortName": "Stock-Based Compensation - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails", "longName": "9954503 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)", "shortName": "Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails", "longName": "9954504 - Disclosure - Fair Value Measurements - Narrative (Details)", "shortName": "Fair Value Measurements - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-147", "name": "us-gaap:DerivativeNotionalAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-147", "name": "us-gaap:DerivativeNotionalAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails", "longName": "9954505 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)", "shortName": "Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DerivativeAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:DerivativeAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "longName": "9954506 - Disclosure - Retirement Plans - Narrative (Details)", "shortName": "Retirement Plans - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-1", "name": "fstr:NumberOfDefinedContributionPlans", "unitRef": "plan", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "fstr:NumberOfDefinedContributionPlans", "unitRef": "plan", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails", "longName": "9954507 - Disclosure - Retirement Plans - Schedule of Net Benefit Costs (Details)", "shortName": "Retirement Plans - Schedule of Net Benefit Costs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-157", "name": "us-gaap:DefinedBenefitPlanInterestCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-157", "name": "us-gaap:DefinedBenefitPlanInterestCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "longName": "9954508 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details)", "shortName": "Retirement Plans - Schedule of Costs of Retirement Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanCostRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanCostRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails", "longName": "9954509 - Disclosure - Commitments and Contingent Liabilities - Narrative (Details)", "shortName": "Commitments and Contingent Liabilities - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-1", "name": "fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "fstr-20240331.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsNotesAndLoansReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable - net (Note 5)", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of accounts and financing receivables, classified as current. Includes, but is not limited to, notes and loan receivable." } } }, "auth_ref": [ "r258", "r673" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "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": [ "r21", "r701" ] }, "us-gaap_AccountsReceivableAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableAdditionalDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Accounts Receivable Additional Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accounts Receivable, Allowance for Credit Loss", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r817" ] }, "us-gaap_AccrualForEnvironmentalLossContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccrualForEnvironmentalLossContingencies", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrual for environmental loss", "label": "Accrual for Environmental Loss Contingencies", "documentation": "Total costs accrued as of the balance sheet date for environmental loss contingencies." } } }, "auth_ref": [ "r296", "r676", "r791", "r792", "r833", "r835" ] }, "fstr_AccruedLegalSettlementCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "AccruedLegalSettlementCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of accrued settlement (Note 13)", "label": "Accrued Legal Settlement Current", "documentation": "Accrued Legal Settlement Current" } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other accrued liabilities", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r23" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r30", "r31", "r104", "r165", "r539", "r574", "r575" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Loss", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r3", "r14", "r31", "r495", "r498", "r519", "r570", "r571", "r796", "r797", "r798", "r805", "r806", "r807" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquired finite-lived intangible assets, weighted average amortization period", "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r120" ] }, "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": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r752" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r96", "r701", "r899" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Paid-in Capital", "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": [ "r464", "r465", "r466", "r585", "r805", "r806", "r807", "r880", "r901" ] }, "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": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r758" ] }, "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": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r758" ] }, "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": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r758" ] }, "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": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r758" ] }, "us-gaap_AdjustmentForAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentForAmortization", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization", "label": "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": [ "r11", "r55" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r66", "r67", "r430" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income (loss) to cash used in operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "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": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r723", "r734", "r744", "r769" ] }, "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": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r726", "r737", "r747", "r772" ] }, "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": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r758" ] }, "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": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r765" ] }, "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": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r730", "r738", "r748", "r765", "r773", "r777", "r785" ] }, "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": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r783" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expense", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r459", "r467" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Allowance for doubtful accounts, beginning balance", "periodEndLabel": "Allowance for doubtful accounts, ending balance", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r166", "r259", "r263", "r264", "r267", "r893" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for Doubtful Accounts", "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Write-off against allowance", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance." } } }, "auth_ref": [ "r266" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization expense", "label": "Amortization of Intangible Assets", "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": [ "r11", "r52", "r55" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Anti-dilutive shares (in shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "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": [ "r220" ] }, "us-gaap_AssetAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetAcquisitionAxis", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Acquisition [Axis]", "label": "Asset Acquisition [Axis]", "documentation": "Information by asset acquisition." } } }, "auth_ref": [ "r874" ] }, "us-gaap_AssetAcquisitionConsiderationTransferred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetAcquisitionConsiderationTransferred", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration transferred to acquire operating assets", "label": "Asset Acquisition, Consideration Transferred", "documentation": "Amount of consideration transferred in asset acquisition. Includes, but is not limited to, cash, liability incurred by acquirer, and equity interest issued by acquirer." } } }, "auth_ref": [ "r698", "r875", "r876", "r877" ] }, "us-gaap_AssetAcquisitionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetAcquisitionDomain", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Acquisition [Domain]", "label": "Asset Acquisition [Domain]", "documentation": "Asset acquisition." } } }, "auth_ref": [ "r874" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL ASSETS", "terseLabel": "Assets", "label": "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": [ "r135", "r164", "r196", "r229", "r244", "r250", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r486", "r491", "r507", "r535", "r615", "r701", "r714", "r839", "r840", "r884" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "ASSETS", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "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": [ "r158", "r169", "r196", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r486", "r491", "r507", "r701", "r839", "r840", "r884" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets, Fair Value Disclosure", "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r80" ] }, "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": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r780" ] }, "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": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r781" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r776" ] }, "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": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r776" ] }, "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": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r776" ] }, "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": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r776" ] }, "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": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r776" ] }, "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": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r776" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458" ] }, "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": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r779" ] }, "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": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r778" ] }, "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": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r777" ] }, "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": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.lbfoster.com/role/BasisofPresentationPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "fstr_BridgeGridDeckProductMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "BridgeGridDeckProductMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Bridge Grid Deck Product", "label": "Bridge Grid Deck Product [Member]", "documentation": "Bridge Grid Deck Product" } } }, "auth_ref": [] }, "country_CA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "CA", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Canada", "label": "CANADA" } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "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": [ "r38", "r160", "r665" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents at beginning of period", "periodEndLabel": "Cash and cash equivalents at end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for 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": [ "r38", "r114", "r194" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase (decrease) in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "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": [ "r2", "r114" ] }, "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": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r756" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "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": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r757" ] }, "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": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r757" ] }, "fstr_CoatingsAndMeasurementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "CoatingsAndMeasurementMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Coatings and Measurement", "label": "Coatings and Measurement [Member]", "documentation": "Coatings and Measurement" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilities" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingent Liabilities", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r122", "r292", "r293", "r661", "r834" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r704", "r705", "r706", "r708", "r709", "r710", "r711", "r805", "r806", "r880", "r896", "r901" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in USD per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r95" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r95", "r603" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares issued (in shares)", "label": "Common Stock, 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": [ "r95" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r15", "r95", "r603", "r621", "r901", "r902" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at March\u00a031, 2024 and December\u00a031, 2023, 11,115,779; shares outstanding at March\u00a031, 2024 and December\u00a031, 2023, 10,789,231 and 10,733,935, respectively", "label": "Common Stock, Value, Issued", "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": [ "r95", "r538", "r701" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r762" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r761" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r763" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r760" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income (loss) attributable to L.B. Foster Company", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r32", "r177", "r179", "r186", "r532", "r549" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Amounts attributable to noncontrolling interest", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r9", "r72", "r75", "r177", "r179", "r185", "r531", "r548" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Less comprehensive (loss) income attributable to noncontrolling interest:", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Total comprehensive income (loss)", "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r75", "r132", "r177", "r179", "r184", "r530", "r547" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r198", "r231", "r242", "r243", "r244", "r245", "r246", "r248", "r252", "r299", "r300", "r301", "r302", "r304", "r305", "r307", "r309", "r310", "r839", "r840" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r198", "r231", "r242", "r243", "r244", "r245", "r246", "r248", "r252", "r299", "r300", "r301", "r302", "r304", "r305", "r307", "r309", "r310", "r839", "r840" ] }, "fstr_ContractWithCustomerAssetAdditions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ContractWithCustomerAssetAdditions", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net additions to contract assets", "label": "Contract With Customer Asset Additions", "documentation": "Contract With Customer Asset Additions" } } }, "auth_ref": [] }, "fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]", "label": "Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]", "documentation": "Contract With Customer Asset After Allowance For Credit Loss Current" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Contract with Customer, Contract Asset, Contract Liability", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "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": [ "r842" ] }, "us-gaap_ContractWithCustomerAssetNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNet", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets - net (Note 3)", "periodStartLabel": "Balance as of December 31, 2023", "periodEndLabel": "Balance as of March\u00a031, 2024", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "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." } } }, "auth_ref": [ "r339", "r341", "r352" ] }, "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetReclassifiedToReceivable", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Transfers from contract asset balance to accounts receivable", "label": "Contract with Customer, Asset, Reclassified to Receivable", "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": [ "r684" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance as of December 31, 2023", "periodEndLabel": "Balance as of March\u00a031, 2024", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r339", "r340", "r352" ] }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Reduction in sales due to changes in estimates", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price", "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained." } } }, "auth_ref": [ "r683" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue (Note 3)", "label": "Contract with Customer, Liability, Current", "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": [ "r339", "r340", "r352" ] }, "fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ContractWithCustomerLiabilityIncreaseFromCashReceipts", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Increase in billings in excess of cost, excluding revenue recognized", "label": "Contract with Customer, Liability, Increase from Cash Receipts", "documentation": "Contract with Customer, Liability, Increase from Cash Receipts" } } }, "auth_ref": [] }, "fstr_ContractWithCustomerLiabilityOtherAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ContractWithCustomerLiabilityOtherAdjustments", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other adjustments", "label": "Contract With Customer, Liability, Other Adjustments", "documentation": "Contract With Customer, Liability, Other Adjustments" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Revenue recognized from contract liabilities", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r353" ] }, "fstr_ContractWithCustomerLiabilityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ContractWithCustomerLiabilityRollForward", "presentation": [ "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract With Customer Liability [Roll Forward]", "label": "Contract With Customer Liability [Roll Forward]", "documentation": "Contract With Customer Liability" } } }, "auth_ref": [] }, "fstr_CorporateExpenseAndOtherUnallocatedCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "CorporateExpenseAndOtherUnallocatedCharges", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Unallocated corporate expenses and other unallocated charges", "label": "Corporate Expense And Other Unallocated Charges", "documentation": "Corporate Expense And Other Unallocated Charges" } } }, "auth_ref": [] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unallocated corporate assets", "label": "Corporate, Non-Segment [Member]", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r17", "r243", "r244", "r245", "r246", "r252", "r813" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Total cost of sales", "label": "Cost of Revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r108", "r196", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r507", "r839" ] }, "fstr_CougarMountainPrecastLLCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "CougarMountainPrecastLLCMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cougar purchase accounting adjustment", "label": "Cougar Mountain Precast, LLC [Member]", "documentation": "Cougar Mountain Precast, LLC" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "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.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "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": [ "r69" ] }, "us-gaap_DebtAndCapitalLeaseObligations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtAndCapitalLeaseObligations", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Debt and Lease Obligation", "documentation": "Amount of short-term and long-term debt and lease obligation." } } }, "auth_ref": [ "r140" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMatters" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Term Debt and Related Matters", "label": "Debt Disclosure [Text Block]", "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": [ "r123", "r195", "r312", "r318", "r319", "r320", "r321", "r322", "r323", "r328", "r335", "r336", "r337" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Axis]", "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r19", "r92", "r93", "r136", "r137", "r198", "r313", "r314", "r315", "r316", "r317", "r319", "r324", "r325", "r326", "r327", "r329", "r330", "r331", "r332", "r333", "r334", "r515", "r677", "r678", "r679", "r680", "r681", "r801" ] }, "fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum": { "xbrltype": "pureItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "DebtInstrumentCovenantInterestCoverageRatioMinimum", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum fixed charge coverage ratio", "label": "Debt Instrument, Covenant, Interest Coverage Ratio, Minimum", "documentation": "Debt Instrument, Covenant, Interest Coverage Ratio, Minimum" } } }, "auth_ref": [] }, "fstr_DebtInstrumentCovenantLeverageRatioMaximum": { "xbrltype": "pureItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "DebtInstrumentCovenantLeverageRatioMaximum", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum leverage ratio", "label": "Debt Instrument, Covenant, Leverage Ratio, Maximum", "documentation": "Debt Instrument, Covenant, Leverage Ratio, Maximum" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Name [Domain]", "label": "Debt Instrument, Name [Domain]", "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": [ "r25", "r198", "r313", "r314", "r315", "r316", "r317", "r319", "r324", "r325", "r326", "r327", "r329", "r330", "r331", "r332", "r333", "r334", "r515", "r677", "r678", "r679", "r680", "r681", "r801" ] }, "fstr_DebtInstrumentNumberOfFinancialCovenants": { "xbrltype": "integerItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "DebtInstrumentNumberOfFinancialCovenants", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of financial covenants", "label": "Debt Instrument, Number Of Financial Covenants", "documentation": "Debt Instrument, Number Of Financial Covenants" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentRedemptionPeriodAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodAxis", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Redemption, Period [Axis]", "label": "Debt Instrument, Redemption, Period [Axis]", "documentation": "Information about timing of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodDomain", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Redemption, Period [Domain]", "label": "Debt Instrument, Redemption, Period [Domain]", "documentation": "Period as defined under terms of the debt agreement for debt redemption features." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodOneMember", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Redemption, Period One", "label": "Debt Instrument, Redemption, Period One [Member]", "documentation": "Period one representing most current period of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodTwoMember", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Redemption, Period Two", "label": "Debt Instrument, Redemption, Period Two [Member]", "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTerm", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument term", "label": "Debt Instrument, Term", "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Tax Expense (Benefit)", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r11", "r129", "r148", "r480", "r481", "r803" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liabilities (Note 9)", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r469", "r470", "r536" ] }, "fstr_DeferredStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "DeferredStockUnitsMember", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred Stock Units", "label": "Deferred Stock Units [Member]", "documentation": "Deferred Stock Units" } } }, "auth_ref": [] }, "us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanAmortizationOfGainsLosses", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": { "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Recognized net actuarial loss", "label": "Defined Benefit Plan, Amortization of Gain (Loss)", "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan." } } }, "auth_ref": [ "r356", "r394", "r418", "r694", "r695" ] }, "us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanAmortizationOfPriorServiceCostCredit", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": { "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of prior service costs and transition amount", "label": "Defined Benefit Plan, Amortization of Prior Service Cost (Credit)", "documentation": "Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan." } } }, "auth_ref": [ "r356", "r395", "r419", "r694", "r695" ] }, "us-gaap_DefinedBenefitPlanContributionsByEmployer": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanContributionsByEmployer", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined benefit plan, contributions by employer", "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer", "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets." } } }, "auth_ref": [ "r371", "r381", "r422", "r692", "r693", "r694", "r695" ] }, "us-gaap_DefinedBenefitPlanDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanDisclosureLineItems", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Defined Benefit Plan Disclosure", "label": "Defined Benefit Plan Disclosure [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_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined benefit plan, expected future employer contributions, current fiscal year", "label": "Defined Benefit Plan, Expected Future Employer Contributions, Current Fiscal Year", "documentation": "Amount of contributions received and expected to be received by defined benefit plan from employer in current fiscal year." } } }, "auth_ref": [ "r695", "r844" ] }, "us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanExpectedReturnOnPlanAssets", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": { "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Expected return on plan assets", "label": "Defined Benefit Plan, Expected Return (Loss) on Plan Assets", "documentation": "Amount of expected return (loss) recognized in net periodic benefit (cost) credit, calculated based on expected long-term rate of return and market-related value of plan assets of defined benefit plan." } } }, "auth_ref": [ "r356", "r393", "r417", "r694", "r695" ] }, "us-gaap_DefinedBenefitPlanInterestCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanInterestCost", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": { "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest cost", "label": "Defined Benefit Plan, Interest Cost", "documentation": "Amount of cost recognized for passage of time related to defined benefit plan." } } }, "auth_ref": [ "r356", "r360", "r392", "r416", "r694", "r695" ] }, "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanNetPeriodicBenefitCost", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net periodic pension income", "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)", "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan." } } }, "auth_ref": [ "r390", "r414", "r694", "r695" ] }, "fstr_DefinedBenefitPlanNumber": { "xbrltype": "integerItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "DefinedBenefitPlanNumber", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Number of defined benefit plans", "label": "DefinedBenefitPlanNumber" } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanCostRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanCostRecognized", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expenses associated with contributions made", "label": "Defined Contribution Plan, Cost", "documentation": "Amount of cost for defined contribution plan." } } }, "auth_ref": [ "r426" ] }, "us-gaap_DefinedContributionPlanDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanDisclosureLineItems", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined Contribution Plan Disclosure", "label": "Defined Contribution Plan Disclosure [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": [ "r426" ] }, "us-gaap_DefinedContributionPlanTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanTable", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined Contribution Plan [Table]", "label": "Defined Contribution Plan [Table]", "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans." } } }, "auth_ref": [ "r426" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation", "label": "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": [ "r11", "r56" ] }, "fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag": { "xbrltype": "stringItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag", "label": "Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag", "documentation": "Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag" } } }, "auth_ref": [] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssets", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate swaps", "label": "Derivative Asset", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r170", "r171", "r506", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r609", "r610", "r649", "r651", "r652", "r653", "r655", "r656", "r670", "r706", "r897" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Contract [Domain]", "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r594", "r596", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r616", "r617", "r618", "r619", "r630", "r631", "r632", "r633", "r636", "r637", "r638", "r639", "r649", "r650", "r652", "r655", "r704", "r706" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Instrument [Axis]", "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r76", "r77", "r78", "r79", "r594", "r596", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r616", "r617", "r618", "r619", "r630", "r631", "r632", "r633", "r636", "r637", "r638", "r639", "r649", "r650", "r652", "r655", "r670", "r704", "r706" ] }, "us-gaap_DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Liability, Statement of Financial Position [Extensible Enumeration]", "label": "Derivative Liability, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative liability." } } }, "auth_ref": [ "r493" ] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative, notional amount", "label": "Derivative, Notional Amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r878", "r879" ] }, "srt_DirectorMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "DirectorMember", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Director", "label": "Director [Member]" } } }, "auth_ref": [ "r815", "r898" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue", "label": "Disaggregation of Revenue [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": [ "r351", "r685", "r686", "r687", "r688", "r689", "r690", "r691" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "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": [ "r351", "r685", "r686", "r687", "r688", "r689", "r690", "r691" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "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": [ "r843" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-Based Compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r428", "r432", "r460", "r461", "r463", "r697" ] }, "us-gaap_DisposalGroupClassificationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupClassificationAxis", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group Classification [Axis]", "label": "Disposal Group Classification [Axis]", "documentation": "Information by disposal group classification." } } }, "auth_ref": [ "r156" ] }, "us-gaap_DisposalGroupClassificationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupClassificationDomain", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group Classification [Domain]", "label": "Disposal Group Classification [Domain]", "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations." } } }, "auth_ref": [] }, "us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupNotDiscontinuedOperationGainLossOnDisposal", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other exit costs", "label": "Disposal Group, Not Discontinued Operation, Gain (Loss) on Disposal", "documentation": "Amount before tax of gain (loss) recognized on the sale or disposal of a disposal group. Excludes discontinued operations." } } }, "auth_ref": [ "r286", "r800", "r830" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r718" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r751" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "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_DomesticPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DomesticPlanMember", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Domestic Plan", "label": "Domestic Plan [Member]", "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r845", "r846", "r847" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Per share data attributable to L.B. Foster shareholders:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic earnings (loss) per common share (in USD per share)", "label": "Earnings Per Share, Basic", "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": [ "r187", "r204", "r205", "r206", "r207", "r208", "r213", "r215", "r217", "r218", "r219", "r223", "r501", "r502", "r533", "r550", "r671" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted earnings (loss) per common share (in USD per share)", "label": "Earnings Per Share, Diluted", "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": [ "r187", "r204", "r205", "r206", "r207", "r208", "r215", "r217", "r218", "r219", "r223", "r501", "r502", "r533", "r550", "r671" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.lbfoster.com/role/EarningsPerCommonShare" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings Per Common Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r212", "r220", "r221", "r222" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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": [ "r882" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.lbfoster.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate (as a percent)", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r472" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued payroll and employee benefits", "label": "Employee-related Liabilities, Current", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r23" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract", "lang": { "en-us": { "role": { "label": "Employee-related Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected cost on shares expected to vest", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r462" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recognition period for compensation expense not yet recognized", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r462" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Option", "label": "Employee Stock Option [Member]", "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": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Street Name", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Suite", "label": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "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": [ "r716" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding (in shares)", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "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_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityDomain", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Entity [Domain]", "label": "Entity [Domain]", "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r716" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Commission File Number", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "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": [ "r716" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "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.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "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": [ "r790" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "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": [ "r716" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "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": [ "r716" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r716" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "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": [ "r716" ] }, "fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag": { "xbrltype": "stringItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag", "label": "Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag", "documentation": "Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "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": [ "r15", "r153", "r180", "r181", "r182", "r199", "r200", "r201", "r203", "r209", "r211", "r224", "r261", "r262", "r338", "r464", "r465", "r466", "r476", "r477", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r508", "r509", "r510", "r511", "r512", "r513", "r519", "r570", "r571", "r572", "r585", "r642" ] }, "fstr_EquityLossIncomeAndRemeasurementGain": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "EquityLossIncomeAndRemeasurementGain", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Equity in income of nonconsolidated investments", "label": "Equity Loss Income and Remeasurement Gain", "documentation": "Equity Loss Income and Remeasurement Gain" } } }, "auth_ref": [] }, "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": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r759" ] }, "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": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r723", "r734", "r744", "r769" ] }, "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": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r720", "r731", "r741", "r766" ] }, "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": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r765" ] }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails", "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions", "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_FairValueByBalanceSheetGroupingTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByBalanceSheetGroupingTable", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails", "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]", "label": "Fair Value, by Balance Sheet Grouping [Table]", "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities." } } }, "auth_ref": [ "r80", "r81", "r82" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Hierarchy [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r326", "r381", "r382", "r383", "r384", "r385", "r386", "r505", "r520", "r521", "r522", "r678", "r679", "r692", "r693", "r694" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurements" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements", "label": "Fair Value Disclosures [Text Block]", "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": [ "r503" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r326", "r381", "r386", "r505", "r520", "r692", "r693", "r694" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r326", "r381", "r386", "r505", "r521", "r678", "r679", "r692", "r693", "r694" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r326", "r381", "r382", "r383", "r384", "r385", "r386", "r505", "r522", "r678", "r679", "r692", "r693", "r694" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r326", "r381", "r382", "r383", "r384", "r385", "r386", "r520", "r521", "r522", "r678", "r679", "r692", "r693", "r694" ] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiability", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": { "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Finance leases and financing agreements", "label": "Finance Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r517", "r518" ] }, "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableAllowanceForCreditLossesLineItems", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]", "label": "Financing Receivable, Allowance for Credit Loss [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": [ "r152", "r817" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Amortization Period In Years", "label": "Finite-Lived Intangible Asset, Useful Life", "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", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r162", "r284" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r282", "r283", "r284", "r285", "r527", "r528" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Gross Carrying Value", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r121", "r528" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets", "label": "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": [ "r527" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "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": [ "r53", "r54" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Other intangibles - net (Note 4)", "terseLabel": "Net Carrying Amount", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r121", "r527" ] }, "us-gaap_FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase accounting adjustments", "label": "Finite-Lived Intangible Assets, Purchase Accounting Adjustments", "documentation": "Amount of increase (decrease) to assets, excluding financial assets and goodwill, lacking physical substance with a finite life for purchase accounting adjustments." } } }, "auth_ref": [] }, "us-gaap_ForeignPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignPlanMember", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Plan", "label": "Foreign Plan [Member]", "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r845", "r846", "r847" ] }, "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": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r727", "r738", "r748", "r773" ] }, "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": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r727", "r738", "r748", "r773" ] }, "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": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r727", "r738", "r748", "r773" ] }, "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": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r727", "r738", "r748", "r773" ] }, "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": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r727", "r738", "r748", "r773" ] }, "fstr_FourthAmendedAndRestatedCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "FourthAmendedAndRestatedCreditAgreementMember", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fourth Amended And Restated Credit Agreement", "label": "Fourth Amended And Restated Credit Agreement [Member]", "documentation": "Fourth Amended And Restated Credit Agreement" } } }, "auth_ref": [] }, "country_GB": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "GB", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United Kingdom", "label": "UNITED KINGDOM" } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfBusiness": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfBusiness", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 18.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Loss on asset divestitures", "negatedLabel": "Loss on asset divestiture", "label": "Gain (Loss) on Disposition of Business", "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant." } } }, "auth_ref": [ "r490", "r800" ] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Gain on sales and disposals of property, plant, and equipment", "label": "Gain (Loss) on Disposition of Property Plant 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": [ "r11" ] }, "fstr_GlobalFrictionManagementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "GlobalFrictionManagementMember", "presentation": [ "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Global Friction Management", "label": "Global Friction Management [Member]", "documentation": "Global Friction Management" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill (Note 4)", "periodStartLabel": "Goodwill, beginning balance", "periodEndLabel": "Goodwill, ending balance", "label": "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": [ "r161", "r270", "r529", "r675", "r701", "r819", "r826" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Other Intangible Assets", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r119" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation impact", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r277" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Line Items]", "label": "Goodwill [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": [ "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r675" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cougar purchase accounting adjustment", "label": "Goodwill, Purchase Accounting Adjustments", "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", "r825" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r107", "r196", "r229", "r243", "r249", "r252", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r507", "r672", "r839" ] }, "us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss attributable to noncontrolling interest", "label": "Income (Loss) from Continuing Operations, Net of Tax, Attributable to Noncontrolling Interest", "documentation": "Amount after tax of income (loss) from continuing operations attributable to the noncontrolling interest." } } }, "auth_ref": [ "r70", "r132" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 }, "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income (loss) before income taxes", "terseLabel": "Income (loss) before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "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", "r105", "r141", "r229", "r243", "r249", "r252", "r534", "r543", "r672" ] }, "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 }, "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 }, "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "totalLabel": "Net income (loss)", "netLabel": "Net income (loss)", "verboseLabel": "Net income (loss)", "label": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r132", "r196", "r202", "r229", "r243", "r249", "r252", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r502", "r507", "r543", "r672", "r839" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r287", "r289", "r626" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r289", "r626" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "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": [ "r197", "r468", "r473", "r474", "r475", "r478", "r482", "r483", "r484", "r582" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax expense (benefit)", "verboseLabel": "Income tax benefit", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r145", "r149", "r210", "r211", "r237", "r471", "r479", "r551" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Income taxes paid (received)", "label": "Income Taxes Paid, Net", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r39" ] }, "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsAndOtherReceivables", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts and Other Receivables", "documentation": "The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in 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": [ "r10" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Contract assets", "label": "Increase (Decrease) in Contract with Customer, Asset", "documentation": "Amount of increase (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." } } }, "auth_ref": [ "r799" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Increase (Decrease) in Contract with Customer, Liability", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r525", "r799" ] }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued payroll and employee benefits", "label": "Increase (Decrease) in Employee Related Liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in 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": [ "r10" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Change in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Other current liabilities", "label": "Increase (Decrease) in Other Accrued Liabilities", "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInOtherCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherCurrentAssets", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Other current assets", "label": "Increase (Decrease) in Other Current Assets", "documentation": "Amount of increase (decrease) in current assets classified as other." } } }, "auth_ref": [ "r799" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Other noncurrent assets", "label": "Increase (Decrease) in Other Noncurrent Assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r799" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Other long-term liabilities", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends", "calculation": { "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock compensation plans (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Nonvested Shares with Forfeitable Dividends", "documentation": "Number of additional shares included in diluted EPS for potentially dilutive effect of nonvested equity-based payment award containing forfeitable rights to dividends or dividend equivalents, whether paid or unpaid." } } }, "auth_ref": [ "r42", "r808", "r809", "r810", "r811" ] }, "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": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r730", "r738", "r748", "r765", "r773", "r777", "r785" ] }, "fstr_InfrastructureSolutionsSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "InfrastructureSolutionsSegmentMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Infrastructure Solutions", "label": "Infrastructure Solutions Segment [Member]", "documentation": "Infrastructure Solutions Segment" } } }, "auth_ref": [] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r783" ] }, "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]" } } }, "auth_ref": [ "r719", "r789" ] }, "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": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r719", "r789" ] }, "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": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r719", "r789" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "verboseLabel": "Interest expense - net", "label": "Interest Expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r85", "r144", "r183", "r233", "r514", "r627", "r712", "r900" ] }, "us-gaap_InterestIncomeExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNet", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest expense - net", "label": "Interest Income (Expense), Net", "documentation": "The net amount of operating interest income (expense)." } } }, "auth_ref": [ "r143" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Interest paid", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "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": [ "r189", "r192", "r193" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/Inventory" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r268" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/InventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "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": [ "r118", "r667" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 }, "http://www.lbfoster.com/role/InventoryDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories - net (Note 6)", "totalLabel": "Inventories - net", "label": "Inventory, Net", "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": [ "r167", "r666", "r701" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/InventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "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": [ "r118", "r669" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/InventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work-in-process", "label": "Inventory, Work in Process, Net of Reserves", "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": [ "r118", "r668" ] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWriteDown", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory write-down", "label": "Inventory Write-down", "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels." } } }, "auth_ref": [ "r269" ] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentIncomeInterest", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest income", "label": "Investment Income, Interest", "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities." } } }, "auth_ref": [ "r110", "r232" ] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Legal Entity [Axis]", "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS\u2019 EQUITY", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r100", "r139", "r542", "r701", "r802", "r816", "r881" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "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": [ "r24", "r159", "r196", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r487", "r491", "r492", "r507", "r701", "r839", "r884", "r885" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": { "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails", "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving credit facility", "verboseLabel": "Line of credit facility, amount outstanding", "label": "Long-Term Line of Credit", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions 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": [ "r19", "r137", "r892" ] }, "fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LineOfCreditAccordionFeatureLowerBorrowingCapacityOption", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit, accordion feature, lower borrowing capacity", "label": "Line of Credit, Accordion Feature, Lower Borrowing Capacity Option", "documentation": "Line of Credit, Accordion Feature, Lower Borrowing Capacity Option" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lender Name [Axis]", "label": "Lender Name [Axis]", "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": [ "r22", "r801" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility, Lender [Domain]", "label": "Line of Credit Facility, Lender [Domain]", "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": [ "r22", "r801" ] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Line of Credit Facility", "label": "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": [ "r801" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit facility, maximum borrowing capacity", "label": "Line of Credit Facility, Maximum 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": [ "r22" ] }, "fstr_LineOfCreditFacilityMaximumIncreaseInCommitments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LineOfCreditFacilityMaximumIncreaseInCommitments", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit facility, maximum increase in commitments", "label": "Line Of Credit Facility, Maximum Increase In Commitments", "documentation": "Line Of Credit Facility, Maximum Increase In Commitments" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Line of Credit Facility [Table]", "label": "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": [ "r22", "r801" ] }, "us-gaap_LitigationSettlementAmountAwardedToOtherParty": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LitigationSettlementAmountAwardedToOtherParty", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Litigation settlement amount", "label": "Litigation Settlement, Amount Awarded to Other Party", "documentation": "Amount awarded to other party in judgment or settlement of litigation." } } }, "auth_ref": [] }, "fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LitigationSettlementAmountAwardedToOtherPartyCurrent", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Litigation settlement amount, current", "label": "Litigation Settlement, Amount Awarded to Other Party, Current", "documentation": "Litigation Settlement, Amount Awarded to Other Party, Current" } } }, "auth_ref": [] }, "fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LitigationSettlementAmountAwardedToOtherPartyNonCurrent", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Litigation settlement amount, non-current", "label": "Litigation Settlement, Amount Awarded to Other Party, Non-Current", "documentation": "Litigation Settlement, Amount Awarded to Other Party, Non-Current" } } }, "auth_ref": [] }, "fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Litigation settlement amount warded to other party", "label": "Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year", "documentation": "Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year" } } }, "auth_ref": [] }, "fstr_LitigationSettlementInstallmentPaymentTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LitigationSettlementInstallmentPaymentTerm", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payment period", "label": "Litigation Settlement Installment Payment Term", "documentation": "Litigation Settlement Installment Payment Term" } } }, "auth_ref": [] }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivable" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable", "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses." } } }, "auth_ref": [ "r814" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebtAndCapitalLeaseObligations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligations", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 }, "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": { "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Long-term debt (Note 7)", "terseLabel": "Long-term portion", "label": "Long-Term Debt and Lease Obligation", "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent." } } }, "auth_ref": [ "r19", "r537" ] }, "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": { "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0, "order": 1.0 }, "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Current maturities of long-term debt (Note 7)", "negatedLabel": "Less current maturities", "label": "Long-Term Debt and Lease Obligation, Current", "documentation": "Amount of long-term debt and lease obligation, classified as current." } } }, "auth_ref": [ "r23" ] }, "us-gaap_LongTermPurchaseCommitmentAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermPurchaseCommitmentAmount", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase commitment", "label": "Long-Term Purchase Commitment, Amount", "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment." } } }, "auth_ref": [] }, "fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "LongtermPurchaseCommitmentAnnualCommitmentAmount", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Annual commitment amount", "label": "Long-term Purchase Commitment, Annual Commitment Amount", "documentation": "Long-term Purchase Commitment, Annual Commitment Amount" } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r257", "r687", "r843", "r894", "r895" ] }, "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": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r757" ] }, "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": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r757" ] }, "us-gaap_MinorityInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterest", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Noncontrolling interest", "label": "Equity, Attributable to Noncontrolling Interest", "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r29", "r138", "r196", "r260", "r299", "r302", "r303", "r304", "r310", "r311", "r507", "r541", "r605" ] }, "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": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r776" ] }, "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": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r784" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r257", "r687", "r843", "r894", "r895" ] }, "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": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r758" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) financing activities", "label": "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": [ "r191" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by investing activities", "label": "Net Cash Provided by (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": [ "r191" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash (used in) provided by operating activities", "label": "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": [ "r114", "r115", "r116" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income (loss) attributable to L.B. Foster Company", "terseLabel": "Net income (loss) attributable to L.B. Foster Company", "label": "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": [ "r106", "r116", "r142", "r157", "r176", "r178", "r182", "r196", "r202", "r204", "r205", "r206", "r207", "r210", "r211", "r216", "r229", "r243", "r249", "r252", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r502", "r507", "r546", "r623", "r640", "r641", "r672", "r712", "r839" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator for basic and diluted earnings (loss) per common share:", "label": "Net Income (Loss) Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss attributable to noncontrolling interest", "label": "Net Income (Loss) Attributable to Noncontrolling Interest", "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r74", "r133", "r176", "r178", "r210", "r211", "r545", "r798" ] }, "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": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r757" ] }, "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": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r727", "r738", "r748", "r765", "r773" ] }, "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": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r755" ] }, "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": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r754" ] }, "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": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r765" ] }, "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": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r784" ] }, "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": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r784" ] }, "us-gaap_NoncontrollingInterestMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncontrollingInterestMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Noncontrolling Interest", "label": "Noncontrolling Interest [Member]", "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest." } } }, "auth_ref": [ "r70", "r338", "r805", "r806", "r807", "r901" ] }, "fstr_NumberOfCompaniesReceivingGeneralNoticeLetter": { "xbrltype": "integerItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "NumberOfCompaniesReceivingGeneralNoticeLetter", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of companies that received a general notice letter (company)", "label": "Number Of Companies Receiving General Notice Letter", "documentation": "Number Of Companies Receiving General Notice Letter" } } }, "auth_ref": [] }, "fstr_NumberOfDefinedContributionPlans": { "xbrltype": "integerItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "NumberOfDefinedContributionPlans", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Defined contribution plan number", "label": "Number of Defined Contribution Plans", "documentation": "Number of Defined Contribution Plans" } } }, "auth_ref": [] }, "fstr_NumberOfPartiesRequiredToPerformRemedialWork": { "xbrltype": "integerItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "NumberOfPartiesRequiredToPerformRemedialWork", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of parties required to perform remedial design work", "label": "Number of Parties Required to Perform Remedial Work", "documentation": "Number of Parties Required to Perform Remedial Work" } } }, "auth_ref": [] }, "fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement": { "xbrltype": "integerItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "NumberOfPotentiallyResponsiblePartiesIncludedInAgreement", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of potentially responsible parties included in agreement", "label": "Number of Potentially Responsible Parties Included in Agreement", "documentation": "Number of Potentially Responsible Parties Included in Agreement" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reportable segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r812" ] }, "fstr_NumberOfRetirementPlans": { "xbrltype": "decimalItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "NumberOfRetirementPlans", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Number of retirement plans", "label": "NumberOfRetirementPlans" } } }, "auth_ref": [] }, "us-gaap_OffMarketFavorableLeaseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OffMarketFavorableLeaseMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Favorable lease", "label": "Off-Market Favorable Lease [Member]", "documentation": "Identifiable intangible asset established upon acquisition based on a favorable difference between the terms of an acquired lease and the current market terms for that lease." } } }, "auth_ref": [ "r829" ] }, "fstr_OmnibusPlanAndEquityAndIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "OmnibusPlanAndEquityAndIncentivePlanMember", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Omnibus Plan and Equity and Incentive Plan", "label": "Omnibus Plan and Equity and Incentive Plan [Member]", "documentation": "Omnibus Plan and Equity and Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 }, "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "totalLabel": "Operating profit", "terseLabel": "Segment Operating Profit (Loss)", "verboseLabel": "Operating profit for reportable segments", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r229", "r243", "r249", "r252", "r672" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term operating lease liabilities", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r517" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets - net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r516" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Segments", "label": "Operating Segments [Member]", "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": [ "r242", "r243", "r244", "r245", "r246", "r252" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/BasisofPresentation" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r88", "r131", "r576", "r577" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other current assets", "label": "Other Assets, Current", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r168", "r701" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r163" ] }, "us-gaap_OtherAssetsNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrentAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other assets:", "label": "Other Assets, Noncurrent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedLabel": "Pension liability adjustment", "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Tax and Reclassification Adjustment, Attributable to Parent", "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent." } } }, "auth_ref": [ "r5", "r13", "r104", "r132" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustment", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to noncontrolling interests." } } }, "auth_ref": [ "r9", "r13", "r132" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustment", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity." } } }, "auth_ref": [ "r9", "r13", "r132" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain (loss) on cash flow hedges, net of tax expense of $0", "verboseLabel": "Unrealized derivative gain on cash flow hedges", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax", "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r172", "r173" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain on cash flow hedge, tax", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax", "documentation": "Amount, before reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r174" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustment", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r4" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income, net of tax:", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive (loss) income, net of tax:", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification of pension liability adjustments to earnings, net of tax expense of $4 and $2, respectively", "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax", "documentation": "Amount, after tax, of reclassification adjustment from accumulated other comprehensive (income) loss for net periodic benefit cost (credit) of defined benefit plan." } } }, "auth_ref": [ "r7", "r104", "r127", "r175" ] }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification of pension liability adjustments to earnings, tax", "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax", "documentation": "Amount of tax (expense) benefit for reclassification adjustment from accumulated other comprehensive (income) loss of defined benefit plan." } } }, "auth_ref": [ "r6", "r132" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Other long-term liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r26" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 }, "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "negatedLabel": "Other (income) expense - net", "terseLabel": "Other income (expense) - net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r111" ] }, "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": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r757" ] }, "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": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r725", "r736", "r746", "r771" ] }, "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": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "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": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "fstr_OverTimeInputMethodMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "OverTimeInputMethodMember", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Over time input method", "label": "Over Time Input Method [Member]", "documentation": "Over Time Input Method" } } }, "auth_ref": [] }, "fstr_OverTimeOutputMethodMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "OverTimeOutputMethodMember", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Over time output method", "label": "Over Time Output Method [Member]", "documentation": "Over Time Output Method" } } }, "auth_ref": [] }, "fstr_OverTimeSalesAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "OverTimeSalesAmount", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Over time sales, amount", "label": "Over Time Sales, Amount", "documentation": "Over Time Sales, Amount" } } }, "auth_ref": [] }, "fstr_OverTimeSalesPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "OverTimeSalesPercent", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Over time sales, percentage", "label": "Over Time Sales, Percent", "documentation": "Over Time Sales, Percent" } } }, "auth_ref": [] }, "fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association", "label": "PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association [Member]", "documentation": "PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association" } } }, "auth_ref": [] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PatentsMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Patents", "label": "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": [ "r130" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r753" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Treasury stock acquisitions", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r36" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Capital expenditures on property, plant, and equipment", "label": "Payments to Acquire 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": [ "r113" ] }, "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": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r756" ] }, "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": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r756" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/RetirementPlans" ], "lang": { "en-us": { "role": { "terseLabel": "Retirement Plans", "label": "Retirement Benefits [Text Block]", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r355", "r378", "r380", "r386", "r404", "r406", "r407", "r408", "r409", "r410", "r424", "r425", "r426", "r694" ] }, "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": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r755" ] }, "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": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r765" ] }, "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": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r758" ] }, "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": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r754" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance-Based Stock and Share Units", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "fstr_PersonnelExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "PersonnelExpenses", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Personnel expenses", "label": "Personnel Expenses", "documentation": "Personnel Expenses" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r848", "r849", "r850", "r851", "r852", "r853", "r854", "r855", "r856", "r857", "r858", "r859", "r860", "r861", "r862", "r863", "r864", "r865", "r866", "r867", "r868", "r869", "r870", "r871", "r872", "r873" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r848", "r849", "r850", "r851", "r852", "r853", "r854", "r855", "r856", "r857", "r858", "r859", "r860", "r861", "r862", "r863", "r864", "r865", "r866", "r867", "r868", "r869", "r870", "r871", "r872", "r873" ] }, "fstr_PrecastConcreteProductsSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "PrecastConcreteProductsSegmentMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Precast Concrete Products", "label": "Precast Concrete Products Segment [Member]", "documentation": "Precast Concrete Products Segment" } } }, "auth_ref": [] }, "fstr_PresentValueOfProposedRemedialWork": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "PresentValueOfProposedRemedialWork", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Present value of remedial work", "label": "Present Value of Proposed Remedial Work", "documentation": "Present Value of Proposed Remedial Work" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromDivestitureOfBusinesses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromDivestitureOfBusinesses", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from business dispositions", "label": "Proceeds from Divestiture of Businesses", "documentation": "The cash inflow associated with the amount received from the sale of a portion of the company's business, for example a segment, division, branch or other business, during the period." } } }, "auth_ref": [ "r33" ] }, "us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfOtherLongTermDebt", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from debt", "label": "Proceeds from Issuance of Other Long-Term Debt", "documentation": "Amount of cash inflow from issuance of long-term debt classified as other." } } }, "auth_ref": [ "r35" ] }, "us-gaap_ProceedsFromMinorityShareholders": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromMinorityShareholders", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Investment of noncontrolling interest", "label": "Proceeds from Noncontrolling Interests", "documentation": "Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from the sale of property, plant, and equipment", "label": "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": [ "r112" ] }, "us-gaap_ProductLiabilityContingencyLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductLiabilityContingencyLineItems", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product Liability Contingency", "label": "Product Liability Contingency [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": [ "r297", "r835", "r836", "r837" ] }, "us-gaap_ProductLiabilityContingencyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductLiabilityContingencyTable", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product Liability Contingency [Table]", "label": "Product Liability Contingency [Table]", "documentation": "Information and financial data about the reasonably possible loss or the recognized and additional reasonably possible loss from product liability related to an individual product." } } }, "auth_ref": [ "r297", "r835", "r836", "r837" ] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Sales of goods", "label": "Product [Member]", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r685" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Products and Services [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r254", "r526", "r563", "r564", "r565", "r566", "r567", "r568", "r664", "r685", "r702", "r795", "r837", "r838", "r843", "r894" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Products and Services [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r254", "r526", "r563", "r564", "r565", "r566", "r567", "r568", "r664", "r685", "r702", "r795", "r837", "r838", "r843", "r894" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "verboseLabel": "Net income (loss)", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r157", "r176", "r178", "r190", "r196", "r202", "r210", "r211", "r229", "r243", "r249", "r252", "r260", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r485", "r488", "r489", "r502", "r507", "r534", "r544", "r584", "r623", "r640", "r641", "r672", "r699", "r700", "r713", "r798", "r839" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Property, plant, and equipment - net", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r794", "r831" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails", "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Reserve for uncollectible accounts, expense", "terseLabel": "Current period provision", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r188", "r265" ] }, "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": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r753" ] }, "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": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r753" ] }, "fstr_RailProductsBusinessUnitMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "RailProductsBusinessUnitMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rail Products", "label": "Rail Products Business Unit [Member]", "documentation": "Rail Products Business Unit" } } }, "auth_ref": [] }, "fstr_RailProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "RailProductsMember", "presentation": [ "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rail Products", "label": "Rail Products [Member]", "documentation": "Rail Products" } } }, "auth_ref": [] }, "fstr_RailTechnologiesAndServicesSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "RailTechnologiesAndServicesSegmentMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rail, Technologies, and Services", "label": "Rail Technologies and Services Segment [Member]", "documentation": "Rail Technologies and Services Segment" } } }, "auth_ref": [] }, "fstr_RailTechnologiesProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "RailTechnologiesProductsMember", "presentation": [ "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technology Services and Solutions", "label": "Rail Technologies Products [Member]", "documentation": "Rail Technologies Products" } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r294", "r295", "r297", "r298", "r378", "r427", "r455", "r456", "r457", "r523", "r524", "r569", "r595", "r596", "r645", "r646", "r647", "r648", "r657", "r662", "r663", "r674", "r682", "r696", "r703", "r706", "r832", "r841", "r887", "r888", "r889", "r890", "r891" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r294", "r295", "r297", "r298", "r378", "r427", "r455", "r456", "r457", "r523", "r524", "r569", "r595", "r596", "r645", "r646", "r647", "r648", "r657", "r662", "r663", "r674", "r682", "r696", "r703", "r706", "r832", "r841", "r887", "r888", "r889", "r890", "r891" ] }, "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Reconciliation of Assets from Segment to Consolidated", "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]", "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets." } } }, "auth_ref": [ "r49", "r50" ] }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]", "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]", "documentation": "Disclosure of information about the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment." } } }, "auth_ref": [ "r48", "r50" ] }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Reconciliation of Operating Profit (Loss) from Segments to Consolidated", "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]", "documentation": "Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment." } } }, "auth_ref": [ "r48", "r50" ] }, "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Reconciliation of Revenue from Segments to Consolidated", "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]", "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues." } } }, "auth_ref": [ "r47", "r50" ] }, "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]" } } }, "auth_ref": [ "r720", "r731", "r741", "r766" ] }, "fstr_RemedialWorkAnticipatedCleanUpPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "RemedialWorkAnticipatedCleanUpPeriod", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Anticipated clean period", "label": "Remedial Work Anticipated Clean Up Period", "documentation": "Remedial Work Anticipated Clean Up Period" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfOtherLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfOtherLongTermDebt", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Repayments of debt", "label": "Repayments of Other Long-Term Debt", "documentation": "Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer." } } }, "auth_ref": [ "r37" ] }, "us-gaap_ReportingUnitAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReportingUnitAxis", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reporting Unit [Axis]", "label": "Reporting Unit [Axis]", "documentation": "Information by reporting unit." } } }, "auth_ref": [ "r280", "r281", "r675" ] }, "us-gaap_ReportingUnitDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReportingUnitDomain", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reporting Unit [Domain]", "label": "Reporting Unit [Domain]", "documentation": "Level of reporting at which goodwill is tested for impairment." } } }, "auth_ref": [ "r280", "r281", "r675" ] }, "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": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r721", "r732", "r742", "r767" ] }, "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": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r722", "r733", "r743", "r768" ] }, "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": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r729", "r740", "r750", "r775" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock", "label": "Restricted Stock [Member]", "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met." } } }, "auth_ref": [ "r43" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r97", "r126", "r540", "r573", "r575", "r581", "r604", "r701" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r153", "r199", "r200", "r201", "r203", "r209", "r211", "r261", "r262", "r464", "r465", "r466", "r476", "r477", "r494", "r496", "r497", "r499", "r500", "r570", "r572", "r585", "r901" ] }, "us-gaap_RetirementPlanSponsorLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanSponsorLocationAxis", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retirement Plan Sponsor Location [Axis]", "label": "Retirement Plan Sponsor Location [Axis]", "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r405", "r408", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r845", "r846", "r847" ] }, "us-gaap_RetirementPlanSponsorLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanSponsorLocationDomain", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retirement Plan Sponsor Location [Domain]", "label": "Retirement Plan Sponsor Location [Domain]", "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r405", "r408", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r845", "r846", "r847" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total net sales", "netLabel": "Net Sales", "label": "Revenue from Contract with Customer, Including Assessed Tax", "documentation": "Amount, including 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": [ "r230", "r231", "r242", "r247", "r248", "r254", "r256", "r257", "r350", "r351", "r526" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.lbfoster.com/role/Revenue" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue from Contract with Customer [Text Block]", "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": [ "r150", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r354" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue remaining performance obligation", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r146" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r147" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r147" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue remaining performance obligation (percentage)", "label": "Revenue, Remaining Performance Obligation, Percentage", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r793" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving credit facility", "label": "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": [] }, "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": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r784" ] }, "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": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r784" ] }, "us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCostsOfRetirementPlansTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Costs of Retirement Plans", "label": "Schedule of Costs of Retirement Plans [Table Text Block]", "documentation": "Tabular disclosure of the costs related to the various types of retirement plans including defined benefit pension plan cost, defined contribution plan cost, other postretirement benefit plan cost, and net periodic benefit cost." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtInstrumentsTextBlock", "presentation": [ "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-term Debt Instruments", "label": "Schedule of Long-Term Debt Instruments [Table Text Block]", "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer." } } }, "auth_ref": [ "r25", "r57", "r58", "r83", "r84", "r86", "r87", "r124", "r125", "r678", "r680", "r804" ] }, "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Defined Benefit Plans Disclosures [Table]", "label": "Schedule of Defined Benefit Plans Disclosures [Table]", "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets 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 or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r12", "r61", "r62", "r63", "r64" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/EarningsPerCommonShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "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": [ "r811" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "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": [ "r504", "r505" ] }, "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]", "label": "Financing Receivable, Allowance for Credit Loss [Table]", "documentation": "Disclosure of information about allowance for credit loss on financing receivable." } } }, "auth_ref": [ "r151", "r817" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "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": [ "r53", "r54", "r527" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "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": [ "r53", "r54" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill [Table]", "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r675" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r675", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/InventoryTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventory", "label": "Schedule of Inventory, Current [Table Text Block]", "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": [ "r20", "r101", "r102", "r103" ] }, "us-gaap_ScheduleOfNetBenefitCostsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfNetBenefitCostsTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Net Benefit Costs", "label": "Schedule of Net Benefit Costs [Table Text Block]", "documentation": "Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments." } } }, "auth_ref": [ "r128" ] }, "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfNonvestedShareActivityTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Nonvested Share Activity", "label": "Schedule of Nonvested Share Activity [Table Text Block]", "documentation": "Tabular disclosure of the changes in outstanding nonvested shares." } } }, "auth_ref": [ "r65" ] }, "fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ScheduleOfRevenuesByMajorProductLineTableTextBlock", "presentation": [ "http://www.lbfoster.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenues by Major Product Line", "label": "Schedule of Revenues by Major Product Line [Table Text Block]", "documentation": "Tabular disclosure summarizing sales by major product line." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r44", "r45", "r46", "r51" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r429", "r431", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r715" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r717" ] }, "us-gaap_SegmentDiscontinuedOperationsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDiscontinuedOperationsMember", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Discontinued Operations", "label": "Discontinued Operations [Member]", "documentation": "Component or group of components disposed of or classified as held-for-sale and representing a strategic shift that has or will have a major effect on operations and financial results. Includes a business or nonprofit activity on acquisition classified as held-for-sale." } } }, "auth_ref": [ "r8", "r89", "r90", "r91" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r226", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r252", "r257", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r290", "r291", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r675", "r795", "r894" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.lbfoster.com/role/BusinessSegments" ], "lang": { "en-us": { "role": { "terseLabel": "Business Segments", "label": "Segment Reporting Disclosure [Text Block]", "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": [ "r225", "r226", "r227", "r228", "r229", "r241", "r246", "r250", "r251", "r252", "r253", "r254", "r255", "r257" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information", "verboseLabel": "Segment Reporting Information", "label": "Segment Reporting Information [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_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]", "label": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [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_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Selling and administrative expenses", "label": "Selling, General and Administrative Expense", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r109" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling, General and Administrative Expenses", "label": "Selling, General and Administrative Expenses [Member]", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_ServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ServiceMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "Sales of services", "label": "Service [Member]", "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service." } } }, "auth_ref": [ "r685" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ShareBasedCompensationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Noncash Expense [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Vesting period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r697" ] }, "fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest": { "xbrltype": "sharesItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Adjustment for incentive awards expected to vest (in shares)", "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest", "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest" } } }, "auth_ref": [] }, "fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment for incentive awards expected to vest (in USD per share)", "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value", "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cancelled and forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r449" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average grant date fair value, cancelled and forfeited (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r449" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r447" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Granted (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r447" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding, beginning balance (in shares)", "periodEndLabel": "Outstanding, ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r444", "r445" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock, Deferred Stock Units and Performance Share Units", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding, beginning balance (in USD per share)", "periodEndLabel": "Outstanding, ending balance (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r444", "r445" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Grant Date Fair Value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Vested (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r448" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r448" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award", "label": "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": [ "r429", "r431", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares granted in period (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r440" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails", "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails", "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r155", "r226", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r252", "r257", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r288", "r290", "r291", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r675", "r795", "r894" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r15", "r27", "r153", "r180", "r181", "r182", "r199", "r200", "r201", "r203", "r209", "r211", "r224", "r261", "r262", "r338", "r464", "r465", "r466", "r476", "r477", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r508", "r509", "r510", "r511", "r512", "r513", "r519", "r570", "r571", "r572", "r585", "r642" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement", "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": [ "r199", "r200", "r201", "r224", "r526", "r578", "r586", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r616", "r617", "r618", "r619", "r620", "r622", "r624", "r625", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r642", "r707" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "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": [ "r199", "r200", "r201", "r224", "r526", "r578", "r586", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r616", "r617", "r618", "r619", "r620", "r622", "r624", "r625", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r642", "r707" ] }, "fstr_SteelProductsSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "SteelProductsSegmentMember", "presentation": [ "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Steel Products", "label": "Steel Products Segment [Member]", "documentation": "Steel Products Segment" } } }, "auth_ref": [] }, "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": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "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": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "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_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common shares issues net of shares withheld (in shares)", "label": "Stock Issued During Period, Shares, New Issues", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r15", "r94", "r95", "r126", "r579", "r642", "r658" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common shares, net of share withheld for taxes", "label": "Stock Issued During Period, Value, New Issues", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r15", "r94", "r95", "r126", "r585", "r642", "r658", "r713" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase of common shares for treasury (in shares)", "label": "Stock Repurchased During Period, Shares", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r15", "r94", "r95", "r126", "r580", "r642", "r659" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchase of common shares for treasury", "label": "Stock Repurchased During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r15", "r94", "r95", "r126", "r585", "r642", "r659", "r713" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total L.B. Foster Company stockholders\u2019 equity", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r95", "r98", "r99", "r117", "r605", "r621", "r643", "r644", "r701", "r714", "r802", "r816", "r881", "r901" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r70", "r71", "r73", "r153", "r154", "r181", "r199", "r200", "r201", "r203", "r209", "r261", "r262", "r338", "r464", "r465", "r466", "r476", "r477", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r508", "r509", "r513", "r519", "r571", "r572", "r583", "r605", "r621", "r643", "r644", "r660", "r713", "r802", "r816", "r881", "r901" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental disclosure of cash flow information:", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "fstr_Swap2Member": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "Swap2Member", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Swap 2", "label": "Swap 2 [Member]", "documentation": "Swap 2" } } }, "auth_ref": [] }, "us-gaap_SwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SwapMember", "presentation": [ "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Swap", "label": "Swap [Member]", "documentation": "A forward-based contract in which two parties agree to swap streams of payments over a specified period. The payment streams are based on an agreed-upon (or notional) principal amount. The term notional is used because swap contracts generally involve no exchange of principal at either inception or maturity. Rather, the notional amount serves as a basis for calculation of the payment streams to be exchanged." } } }, "auth_ref": [ "r134", "r610", "r614", "r619", "r633", "r639", "r654", "r655", "r706" ] }, "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": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r764" ] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technology", "label": "Technology-Based Intangible Assets [Member]", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r18" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceAxis", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Timing of Transfer of Good or Service [Axis]", "label": "Timing of Transfer of Good or Service [Axis]", "documentation": "Information by timing of transfer of good or service to customer." } } }, "auth_ref": [ "r690", "r843" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceDomain", "presentation": [ "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails", "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Timing of Transfer of Good or Service [Domain]", "label": "Timing of Transfer of Good or Service [Domain]", "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time." } } }, "auth_ref": [ "r690", "r843" ] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Axis]", "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r815", "r883" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Domain]", "label": "Title of Individual [Domain]" } } }, "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": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r756" ] }, "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": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r763" ] }, "us-gaap_TrademarksAndTradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TrademarksAndTradeNamesMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trademarks and trade names", "label": "Trademarks and Trade Names [Member]", "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r68" ] }, "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": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r783" ] }, "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": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r785" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.lbfoster.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransferredAtPointInTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredAtPointInTimeMember", "presentation": [ "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Point in time", "label": "Transferred at Point in Time [Member]", "documentation": "Contract with customer in which good or service is transferred at point in time." } } }, "auth_ref": [ "r690" ] }, "us-gaap_TransferredOverTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredOverTimeMember", "presentation": [ "http://www.lbfoster.com/role/RevenueTimingofTransferDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Over time", "label": "Transferred over Time [Member]", "documentation": "Contract with customer in which good or service is transferred over time." } } }, "auth_ref": [ "r690" ] }, "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": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r786" ] }, "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": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r787" ] }, "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": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r785" ] }, "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": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r785" ] }, "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": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r788" ] }, "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": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r786" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Treasury Stock", "label": "Treasury Stock, Common [Member]", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r59" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Treasury stock shares - at cost, common stock (in shares)", "label": "Treasury Stock, Common, Shares", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r59" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "negatedLabel": "Treasury stock - at cost, 326,548 and 381,844 common stock shares at March\u00a031, 2024 and December\u00a031, 2023, respectively", "label": "Treasury Stock, Common, Value", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r28", "r59", "r60" ] }, "fstr_UPRRMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "UPRRMember", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "UPRR", "label": "UPRR [Member]", "documentation": "The UPRR" } } }, "auth_ref": [] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails", "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "fstr_UndiscoveredRemedialWork": { "xbrltype": "monetaryItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "UndiscoveredRemedialWork", "crdr": "credit", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Undiscovered remedial work", "label": "Undiscovered Remedial Work", "documentation": "Undiscovered Remedial Work" } } }, "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": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r782" ] }, "fstr_UprrMember": { "xbrltype": "domainItemType", "nsuri": "http://www.lbfoster.com/20240331", "localname": "UprrMember", "presentation": [ "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "UPRR", "label": "UprrMember" } } }, "auth_ref": [] }, "srt_WeightedAverageMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "WeightedAverageMember", "presentation": [ "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average", "label": "Weighted Average [Member]" } } }, "auth_ref": [ "r662", "r663", "r886", "r888", "r891" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "calculation": { "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Dilutive potential common shares (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r811" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract", "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of dilutive securities:", "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted weighted average shares outstanding (in shares)", "totalLabel": "Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "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": [ "r214", "r219" ] }, "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesIssuedBasic", "calculation": { "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average shares outstanding (in shares)", "label": "Weighted Average Number of Shares Issued, Basic", "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic)." } } }, "auth_ref": [ "r40", "r41" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS", "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic weighted average shares outstanding (in shares)", "totalLabel": "Denominator for basic earnings (loss) per common share (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "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": [ "r213", "r219" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "presentation": [ "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator:", "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]" } } }, "auth_ref": [] } } } }, "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": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(i-k)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-15" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1D", "SubTopic": "20", "Topic": "205", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-1D" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r10": { "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" }, "r11": { "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" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "20", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r15": { "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" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "e", "SubTopic": "470", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13" }, "r19": { "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" }, "r20": { "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" }, "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.19(a))", "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.19(b),22(b))", "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.20)", "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.21)", "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": "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" }, "r26": { "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" }, "r27": { "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" }, "r28": { "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" }, "r29": { "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.31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r35": { "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" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "68B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-68B" }, "r43": { "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" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r59": { "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" }, "r60": { "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" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4I", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r85": { "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" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-1A" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-1B" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-1C" }, "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(19))", "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(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r94": { "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(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r108": { "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" }, "r109": { "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" }, "r110": { "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.7(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r111": { "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.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r121": { "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" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r126": { "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" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "715", "SubTopic": "20", "Subparagraph": "(h)", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r130": { "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" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "15", "Paragraph": "83", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480647/815-10-15-83" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r139": { "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" }, "r140": { "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,16)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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.10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r144": { "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" }, "r145": { "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" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r149": { "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" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(c)", "Publisher": "SEC" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "c", "Publisher": "SEC" }, "r153": { "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" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5C" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r169": { "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" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-17A" }, "r176": { "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" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r178": { "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" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r185": { "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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r186": { "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(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r233": { "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" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r237": { "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" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r267": { "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" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2" }, "r270": { "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" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r354": { "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" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3A" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r378": { "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" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r404": { "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" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r481": { "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.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1B" }, "r491": { "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" }, "r492": { "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" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r519": { "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" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r531": { "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(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r532": { "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(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r538": { "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" }, "r539": { "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)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r540": { "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" }, "r541": { "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)(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r546": { "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" }, "r547": { "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(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r548": { "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(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r549": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r550": { "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" }, "r551": { "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" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r575": { "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" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r578": { "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" }, "r579": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r589": { "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" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-12" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "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" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r657": { "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" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r662": { "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" }, "r663": { "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" }, "r664": { "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" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r671": { "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" }, "r672": { "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" }, "r673": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r674": { "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" }, "r675": { "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" }, "r676": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481899/410-30-55-16" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18" }, "r696": { "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" }, "r697": { "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" }, "r698": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479908/805-50-55-1" }, "r699": { "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" }, "r700": { "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" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "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" }, "r713": { "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" }, "r714": { "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" }, "r715": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r716": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r717": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r718": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r719": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r720": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r721": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r722": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r723": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r724": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r725": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r726": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r727": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r728": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r729": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r730": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r731": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r732": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r733": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r734": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r748": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r751": { "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" }, "r752": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r768": { "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" }, "r769": { "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" }, "r770": { "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" }, "r771": { "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" }, "r772": { "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" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r778": { "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" }, "r779": { "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" }, "r780": { "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" }, "r781": { "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" }, "r782": { "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" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r791": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r792": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r794": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r795": { "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" }, "r796": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r797": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r798": { "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" }, "r799": { "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" }, "r800": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r801": { "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" }, "r802": { "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" }, "r803": { "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(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r804": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r805": { "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" }, "r806": { "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" }, "r807": { "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" }, "r808": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r809": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r810": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r811": { "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" }, "r812": { "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" }, "r813": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r815": { "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" }, "r816": { "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" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r818": { "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" }, "r819": { "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" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r822": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r825": { "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" }, "r826": { "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" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-5" }, "r831": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r832": { "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" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-7" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r837": { "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" }, "r838": { "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" }, "r839": { "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" }, "r840": { "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" }, "r841": { "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" }, "r842": { "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" }, "r843": { "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" }, "r844": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r845": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1" }, "r846": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9" }, "r848": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r850": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r851": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r852": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r854": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "15", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480123/805-50-15-3" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480060/805-50-25-1" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-1" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-2" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r880": { "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" }, "r881": { "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" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r883": { "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" }, "r884": { "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" }, "r885": { "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" }, "r886": { "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" }, "r887": { "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" }, "r888": { "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" }, "r889": { "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" }, "r890": { "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" }, "r891": { "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" }, "r892": { "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" }, "r893": { "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" }, "r894": { "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" }, "r895": { "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" }, "r896": { "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" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r900": { "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" }, "r901": { "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" }, "r902": { "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 83 0000352825-24-000108-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000352825-24-000108-xbrl.zip M4$L#!!0 ( $1HIUC E-:DK0< '\E 0 97@M,S$Q<3$R,#(T+FAT M;>U:;6_;1A+^WE^QM7&I#4BRJ!<[EA0#:9("N9?VF@;HQ\.2.Q077G+975*R M^NMO9I9ZLZ1:QJ6U8UR V"9W=G=>GGEFEN0DJW)S,\E JIMO)M^VV^*]3>H< MBDHD#F0%2M1>%U/QJP)_*]KM1NJ=+1=.3[-*]+J]@?C5NEL]DV&\TI6!F^4Z MDXMP/;G@32:Q58N;B=(SH=6;$]U+>G$$LILFJC^0Z=7UH-^[C)+X,E6]ZV%Z M^9_H!*>B>)CCJX6!-R>Y+MH9T/ZC_F59C>=:5=DHZG;_=K(E5\%=U99&3XL1 M:XNCJ47;FN'$&NM&IUW^-Z:1=BIS;1:C[S[K'+SX$>;BD\UE\5W+R\*W/3B= M!D&O?P?<$3?GRWG0Y@K7,;J I791CU3Z<)?I6%>B'W6BR07)+VW:M4RZ*1I7 MV7(4O<;%-RQ(T)O@GLB$=^ JG>I$5MH6HBX4./$+)'3UZC2Z[([[W9ZPJ:@R MV+9P?S2>U)9?I(ME ;[]TYV!A7B;5*1YK]OM'51](RS7Y9\/H\%>O3^VQ-]M M5H@?.N(?TH-IB82CLD"OR^K5Z?#U^$@#QJ54"M.Z;2!M4HB#HS&N135J$_2> MR,BHL[3AK]]]VRU1MS,D-WP4F9R!<##3,$="K#+MQ<^U=(A@LQ"?H+0.$81Q ML2X74;?],\'IGYWO.WC'HQ"R95[*8H$1NGX!$>H]NPA]C]F@* +Y0MP6=FY M3:$5 N5">)1%%0J+90UWD+H0& ^DL.:AW&3(L&"&4A2)-IA@42Q J+'I MAA>"P/[7@T 0J2XPQ@27=4Q;"#\4QV&W,:Z+%!DD5%A=)*96N";B9B. +<2< M)M8I,>R$6$*R,6M(-FCP][9&U"M-"[=(HC8H@#BT"!;>SK,^B?292(V=^R5( M'4RUKYS$C23=#'JCEJT-K/FE,CO:OA"X#9X=W#YOQ>;5Z>M>=#7V#:":IH ( MPJ;8LH$[\^<F:HC9ISH&1'-6F>JTCTVHHD 8UTA7JXJW1BL^DOHZ]5EHZ30;H4&.9 M> M:J?94]S@;/!=)IB7K 17"TRA/*K%_TTEM)+$IFL5*K.LGS@C5>+.)P+]B M($$D/)P/ZFB">]:HB>^CYNADW '/\6E\-(80=S.M"!K2VT(2:TF/L*+&B? B MG5K&#M&D9:R-KA94P?9M2TCF,',$ PBW1#<:+R;'N\:@LG8E(LASQ4T2ZQ0K MP"W8% HLI :!A"-0$D))!-O+ !9$LBZ1F5X&7))S\6$F3)EJ\> MA^ )?@R"P:4-OOH *^2#X+O=&-"QJ2FX/+(WT(]@ :H,-DEJ1Y[>H.$]J^9X MF,;[].@(U_()+O1;.(6+LP-34H0,YN<]Z49Q;'>!3WQT&"SJE5[G0:M,^E7- MHLQFB(%BRF-_-'2TP'/=+9CF^'=/OO4_N^A1L'K>??3PY?31_$1(+9.DM28% MXJA-H*[Y@:#VB,*ZTQ"MM)/8%%76^54MXQNX9)[KJ@+X P:.+59+&E<:]>-% MSA#.2'B>"!5_4VNVS$'XK=:H/N=;7?"S7G_^8AKEMWALIN:#GVJC"G2F2#1@ M()HZM&I8YR!OJ;"$XL^EA=L6?C:T/$(_*KQ-;QE.8WMX1"JAT#0[ M. 7CB3U)*U0WCZ7-USE& YW"QC3TO?=AP\NI7-C)OL4"E3I,B18Z&3B1,4S\ MX*R)9ROPNRYFULR 2+Z0T^;YGVMR'_+2V 7@Z#RS(=OE%EHPNE^D G9V?/Z% M77=]E.?".YRE+A5WV8T&,<(*7!L5,;+T,%K^,4;Z*XUO[;K=,.KN\KA?[7=X9':7K!_W5)@B0 NA3010^M+6;PY MZ9\L99I4'W5%Q%++/9Y6M#'DH3F]\HYF;;Y$)LQCS[Y&5MFOJ MP[YX7G;MO&1%NX)JBFH2EY@1G^])ZN3F7W(AKEK\X< C;'X$5+YN]P0J?G4Z MP#K"/[=?^FZY[,@\>/+D/3(BV%\\41;^*/.0A?]W]I_O[,_T05#P]K\==M+4 M-7*3^B[3D(H/=Y#4]#!'_!2.7;M1N.!F8Z=INIG$-'B@B=W\8*BTGE^'C<(# MZ!D<_(2HZ62ZZRDR]M;4U>Z4@TIL_0P?0%WPAU?_!5!+ P04 " !$:*=8 M$.DG6L,' #[)@ $ &5X+3,Q,G$Q,C R-"YH=&WM6OUOVS83_GU_!9?@ M[1+ =BQ_-(GM!NC:#BCP;GO7%>N/+RCQ9!&A1(V4['A__>Z.\E?L+ [6-6FP M DTB\8Z\CX?/'25-LBHW5Y,,I+KZ9O)MNRW>VJ3.H:A$XD!6H$3M=3$5GQ3X M:]%N-U)O;+EP>II5HM?M#<0GZZ[U3(;Q2E<&KI;S3,["]>2,%YG$5BVN)DK/ MA%:OCO1E=YCTSI7L#]-H,!C$\7 PZ/>C"ZEZZN7%4/X_.D)5% \ZOEH8>'64 MZZ*= :T_ZK\LJ_%5GXM@>GTR#H]1^ *^+B?#D/UISC M/$87L+0NZI%)[VXR'>M*]*-.;W)&\DN?=CV3;HK.5;8<11)Q59WNMV>W>:OI&6R_*?A]%@K]WO6^*3-D;+7/S8$1\S:7#*ED@X M-0L,O:Q>' \OQ@=Z,2ZE4KBWVP;29A]QAC0FMZA&;<+?(WD:=98^?/G5M\,2 M=3M#"L-[D9=&$ MPF)MPQ6D+@3F [FL&6#W(Y 0EX M+]V"1')Y#42$ZSD]WE-H#"YIN&H&IA2)=E@E4:Q ]895YYE.,N%K^K'6GX.# M9A)R(-?>8#FERCS7588.^A+9F%:G>4LTS2IT:9JX11*U00'$H46P\'*>[4FDST1J[-PO0>I@JGWE)"XDZ6:P M&ZUL;6#-+XW9L?:9P&WPY.#V<2LW+XXO>M'YV#> :IH"(@B;8M\&[L2? M"^F (8(IU[$!2J4 Q&5LM,](@\1RY$?B2+I6VB?&^AKUB#F=-0$KI;,)*+SM MQ0E"0P%B+>3_W4V2R6(*W%Q]J U*1'W9CH8G$*R(AHHMCL9\+]S4U!06 :FT MBB#^V@!P !19=/!RZ6JY<'7*WMZ&-4I0>3^X>QK>"]7'ZQ)/Y*EX"QZ[;(P- MEY'[T]>B"I?(VA^N0J4F!DQ"LU(H7K9V. %2PDQ[)AJ4@H+GH?9T35&;-.? M2,YJ4[W6F6DU%$B#&ND*;?'6:,4'4U_'7BLMG28'=*BQ3+P%S51[JGN\&SP7 M2:8EZP$-PB,I*Y78O^FD-I+8%-UB(];U$S5"-=YL(O"O&$@0"0_U01U,<$\: M-?%MU!R\&7? <_@V/AA#B+N95@0-Z6TAB;6D1UA1XT1XD4XM3XTWC4%F[$A'DN>(FB76*#> 6; H%%E*#0,(1 M* FA)(+M90 +(EF7R$S/ R[)J7@WDZ;FG4BQA#2EQP$SC(+?TSJLRM,!S!(N M]W<3C Y41%;PH6>);5W=;<$AW"=7TD -67I_"RWB9:O'@(<0"7X6@LFE!;[Z M!"OD@Q"[W1S0L:DIN#RR-]$/8 &J##9):D>1WJ#A/;/F>)C&^_3\".?R"4[T M>SB%BY,[5%*$#.[/6]*-X=CN I_XZ#!8U"N[3H-5F?2KFD4[FR$&BBF/X]'0 MT0+/===@FN/?+?G6WP[1@V#UM/OHX?/IH_F)D%INDM::%(BC-H&ZY@>"V@,* MZTY#M+).8E-46>=7M8QOX)1YKJL*X"\8.+98+6E<:;2/)SE!."/A>2)4_$VM MV7(/PN^U1O-YO]4%/_#UI\^F47Z-QV9J/OC1-II 9XI$ R:BJ4.KAG4.\IH* M2RC^7%JX;>%G0\LC](/2V_26X32VAT>D0D4/*QJY$PI-LX,JF$_L25JANGDL M;;[.,1L8%':FH>^]#QN>3^7"3O8U%JC4X99H89"!-S*FB1^<-?EL!7[7Q3J]Z-8EI\(ZSP^;' M6J7U_!9R%)[[S^#.S[>:!K*[5I&QMZ:N=E7N-&+K9_CX[(P_>OL34$L#!!0 M ( $1HIUA$G_^U9;5/; M1A#^WE^Q-=.$S"!9DF7 LF'&,69*F^ $F])^ZIRE$[K)2:?>G0'WUW?O9$$< MQPUTPDMGS# >Y-W;EV=?]"#U,IWSPUY&27+X0^]'QX$C$<]R6FB()26:)C!3 MK+B$BX2J3^ X"ZV!*.>2768: B\(X4+(3^R*5'+--*>'M9U>L[KN-:V3WE0D M\\->PJZ )0<-%K;B9)^$M.T'83C="SK);INTIRVOU9JFR7[\I]_ HZA>G5%Z MSNE!(V>%DU'C/VKMEKI[S1*=1;[G_=18TM/T1CN$L\LBLM&B-!68VT(<"RYD MM.79GZZ1."G)&9]'KR5U% MLX=V."MH'9T?F)"&-QF;,@VMP/5Z3:-?Y[2:&9&7F)P69=1!VY\E$".85#Y3 M!H/AV>3D^&30GPSAP_G9^+Q_.H')"/Q].'?'[L"%\7 P.1F=@M]J>SO0'T/_ M:/1A,CQ:4J^5.MXNC(YA\O,0QOVSM_W3X=@9_?YN^ ?T!Q,C"3PO6$9J+4:/ MCDCX541."HA%4=!8,U' -=,9Z(S"QQF16"8^AS-:"JE!I/#.?>O"L5#X/0Y. M7I)B#MM&^=76?A!XW<5W]LKOO@&T=RQD#K[G?(142&NXQ#!% K1(<";?$QEG MK[;\7:_;\G?L#.X 49 RCM+;8,8TGDFF&69-B@2&-W%&BDMJ@LB94B9P_#6: M"8XZ9%12#/?ST*HDZLAVK.X,0Y *6Q)=Q51JELZAG$DU(U@%+8Q7@TD5GJDT MVK31$#DE!57.Z(;3.?1C"XZI-(H).FGO=]?6O"1)@GO(X33%F??JT6 82Z$C MQ]]_MD;PW3KHI_?>78+%]]RV@6&"8"^Z+YUQ;,48&XR;+KCM#$G_FC%)S8)6 MI@J+FN'T;A-L0 E^>SMY9/58@6.? M$UL2W#*:,#-LS,PJ4[>U)/E"FR933&NBID+A, M',2;DU+1J/ZCFS!5ZB\4_%5J+/$*TNE=F_\2$+^Z1MJLJ\1TG M<+V*%V@,1R>UYX78M:*F3E9EH=OR.FNEGNNOE?V;5;_M!GOA=S<;^FZ[LU[\ M7\VV0C<,]NYEMFGQE;5"W>>VI\U!+*W"7CIHM!I?K(7( ]]JU3Z>5W61R+?. M!.6-.?4Y13-S_&5+5MWX]-O-]OP1KH+E^^JWL7A9>:W04W'3:E[KZ#:\:<.;7MHVV/"FEYK7 MAC<])F^Z8)PSDL-[%R89X>A[O7(VB"6 M/JLW@4W[!O(?4$L#!!0 ( $1HIUB3_2F#80(! -<5#P 1 9G-TMWXDBR./C]_A5:>O9.U1[ Z,'+5ZL-Z)$9[XB,Q]?_\S:RI!?J M>J9C__I7N5CZJT1MW3%,^_G7OS:[-^WV7_]/XW^^_E^%PC^_/=U+MXX^&5'; MEVY<2GQJ2*^F/Y3\(97^<-R?Y@N1'BWB#QQW5"@$M]TXXZEK/@]]22DI6G19 M]*M[331:5[2J5B@;1KF@Z76M0.1*N2#7=*+VM9JF5>OYYVN]:E0K5?A>D8U: M0:M4*H6Z7*\52+G<']0K\.B2D3>N:Q5=5>MZ5=-*=:U<*]<&M$R)/#!J5#,4 MO<3>._1AS[!OV[LVJ/EK;NC[X^NKJ[>^:Q4]JA>?G9OK:Y%=[+C/5Z9MF39%X%SY+K$]W#OQ 9IX>ZE04@JR$CT$;S+C'Z.42BH\ MR_.)K=/H>GCRSP\NQY_[Q)M=_N8M/_Q5C:Z5K_[Y_;ZK#^F(%-Z_!)]IO(-" M>%OE*O@QNG3@^>[2&ZS^P/%\ZA9U9X3[U4JJ*H=7QRU%KM?K5V\(_QE(5G0L:S&P;$Z[.+PQ^6L*8[$]MWI_$H#G]1+*\=? MYQ2Q;M&RND 5"P14@#5J!_3LR77W,WCNT#QQ=ZTS'0C!Y\ M^C7GTS?_BF'RJO$___,_7WW3MV@#*:00$<+7J^#+KU?!H_N.,6U\-V"+3:]NQ*2S ?+O&"ZD;_&D:!K79G_#[ X@=U]2#][_Y3W3P:TXO M %1L,L(G4?.Z"8+)0.%T9Y'GG&0"G 8%I9)K#(CET:]72P]*\-Q(YMV9GDZL M?U'BWL$WWNP-U5P#=YS6"Q[A7=7W(S<=TE*+5LXQ9T1/0>M91K%$ 8%M1U.[ESB8Y4 M+TUL,WB%1Y\1,+G5]QI4-T> UU]S[8>[:!FA"+B&Y_:IVQD\T;'C^J1OT6[P M((!HP%N_YD)^O+8GHU?'-3QJYR1<.3RF-%NR!K#Q7YUHO=$"^5UPN93.@BOE MHZU8AA4/74K7K3F>].J5]RMZHB_4GM GT'&F#>8+\!%;"*BZ3M\RGYE ;;V- MJ0YV2\\^]0;!"P/&DU?7;TS<*=!SM&1-+N<:R;A1>[_86[CH!=[] M0N]-TC,P*-/8 6Z M/@IHIKT*)1G^+[IO_MMLF<;"I2J3X# H'8 C,83_<67D! M"-$OV^T,)2K;EC!.7-D+ LA^C1T2_19_Q&?&04KF#U"(-[ BI M";#/>S"%UO[UC^YMJX.P)T MY7[\\I;:#NC)N,=N2\Y+C[A:7OU&?)8/C<]P%X'E$GPTX&5O8\O43?\[11M' M,LP1ZBW'!MYV_>M'US$FNM]QN]1],77:?#.!VR.=&/X:W/KU*O:)LYW/7IP- M<5T1Z(A'A[H].M3TT%'-'CK"+\^2.VH"'3QQ1YT#6X #,,@E#N"P8!,I^]A$ M[[;&@Q>U9.[M812_V]K!/:.DPF0F,B('O_7G!&.*SFCLV!CV698L\/W(L;N^ MH_],7[JD96*_@_G!?:P#P[QI&"S.0JQ'8AIM^X:,39]8F8'_P;VW \/_B?K$ MM*G1(B[&'[W, )X[-RLAX'LNM<.L2GO="VK3NC YB7!\(%=PY50EP\.#;NR'4L"^1/&_;F4N\ ON^!P,^= M \6=_.? RY4/[E>="9-P@"OEX+[?.2H7'A!W<,_V'"PR'A"5=3_]:#XC#\C* MNH-_K*#*7J>[[V">=:?^%$&5-.&?==_^J$&5- &?=2:N;=[A/8/&G"/^O>\U%MGC0!GW5O^-@V M3YJPS[IS>VJ;)TU<9-WI/8'-DR;XA<^["? <)*:I67>03W*0=")<"8L._O&RK#/NB-_ZJ!*FKC(NE=_DNS<],#/G;N.Y8TWCNTYEFFP5B)M MP,([F'?&K,V(_1PUI]D [N0X_S;Q0*MX7O2"X/W8)N3ZB9A6C^I#V[&<9Y-Z M3=L("RZCJ\\RS4KC+E@@*(53/XJ[Z 3WE-*V!RZ!/R:Z/W%IU[$FN,KSEB?< MA44$E? G2\KQ)8'\ MCY&?8KUMF;O@%O?(/[9==2"NYRZ2)A!_'([/9 SOQG''#J">/CAVUC@MDZ&P M8P,\30KG+J(T/W[$/ND@OG[8IK\@66X<)M30CO@>M$\]CHL.)%[:WM4HS5^Q MAZO!72!G$W+0V L[*'J1=L!+SA(]%>XB*/RBI[(]>BIIH8>[(,IL#(#IC1V/ M6+^YSF1\8Q'/@P?J3+N\;S?*'@W7X]9,>T*-T*H#C;2O.;>^VRFCE6^N:3S3 MW^#?6ZK_/.LNS=Q%= 2A;)8H)PC]5;B+_@A"V4PHM2U53YH2A;M(T2R_R?.H MW]3_G)C!B)DEPWKR3-SO...-F/:C2W5PX._O;PZ.(5DNR-7M6'GITF08FH\; M"5:Z,DB# 2'\,7K&]I,T*@>/$1U41BXYE'N1/I.K;O4IY%,/&LNXRYM*C,(.Q&'<1>[2X*PKD^I=1%\Q5T(C7,TG8B; M,AW)NL"ZN6JFPTD76,)6XS:FTS-'IOW<&?1<8GL#ZG8&OSF.L6:H<'212XVF M_^B8MM^VX0&;&DVW@;#,F84G=RQ.Y)IR&Z/+' 5=8F"# MV]!A%AR+$^$LT]%#X5B7#0SS,O2RYQFYBU$VT\ B!2 M:,Q_"FHXE-CF-J)S0 1S!'YN SF7+7L/A6YN8T8\&TD'0H;,;3QF)V3T7&+0 M$7%_HBO'/CR0$17([2<5P2G,QA\!^%(_3ORXK@$[KBG@!_!AW.$GU?@9S>$<)#3I+";1@E0[@[4:ZAPFT,YMZT:6=PXU+#!*&FFQ8L;K$&X>'F M&[%_/C1O3-_\+]PN:WIK[DBKLB)N*PO%BX[U E2X?%%:K[ZE?;]M8TXS(F$!BG?.Q/6' M W; !5N&T_40V8Q@F4TGUUZC(%H,LXHEM5M:/_=I?O1/KRX12N0WI+:/@B1IT-$;J>F3;6Z:&CZ_MV*EUWCL['N.:T/-Y)54EP&W<6-)6,IDX@07JO3G8(G=LX MNR#TS I/;@\)SHZFTG<83VB_OB'BUBXSGZ8F>VD6WV)Q[^ NAO_3E! M=-A&V];Q=2\4?SC/T*C*[9$$GV@ZT>F#RMWI QZ+]DS? HGA[C586>C> MV!T2]UR/3C5N8[:GXI8#Y1=HW ;XW@&::?-;&K2"9S#^89L92J32N TPG4[2 M' K4W(8X3D737(AT;H,$'(CT--UHC5LWF@.1GBJ@N76$N1#IJ8*:.V=V'N1U MS1>6$+=P/F!Z/]_ETKV2\4&!K6 X-RU@<^NJ?@QL)D\0TDIV0,VM_WE'3/%"S@P=NO57^Y5*:KFR96U>6?[F4*AZX=5[YETNIXH%;W_:4?@ /X9TR MM\XP-Y@YT7E]F5O?^8GZILM2G? 8OCMV;,]QEXO1=)S1X4ZO?W0SSS"S;.TQ M;#8^4QM_B>Y.D*5=YM9A3X#AFV;F,?P>+=PZ]PG0\MNW"(U M5>'6]3\96@[DW%>X=>[YD$NG8@!N??V3H>50#,"M-\^'O70J!N#.N<>TU*"S M3-C4<'$>VH_'IZ?#>HQR':&[50. ]Y?NAPCN?/D3(&(N>][#=C_9PYTW;E#S M^IX^$ZO%UK,(V+%[@&SL0P&6.R?X=(#%ZJYZ02VE ]B#N[')B*9:*%4*I?)N M>ULHF1^-B3U=5S'/?MPF%#./ZH!L7O,X]M,.<9WJP3W59%150G95*DDA;[Y= MNPO-@"7BZJYC+:\9;RDZ[O.5 LN]"J^X&A#=+PPN,GNC ^S4W MP+"F-&"A+\DR[9]/'S^0/0VORTF^$S["+L@YR7$-ZOZ:DW-7L&ZV4,^9N#KU M@H]#2@P&)\-\:7R%?QAJS%I%5]6Z7M6T4ETKU\JU 2U3(@^,&M4,12_]&WW9 M^3V>/\75C4R[,&1M :_5RMC_\FH:_O!:+I7^[]S2=0BU K',9_OZ/Z#NS &2 ME0<$V?C:=W&=P=_!\U?>LG WUCA1-[PY^EUW+,>]_J7$_O=E $@J#,C(M*;7 M?^V![/*D!_HJ/3DC8O\U[Q';*WB UD%PH6?^EU[+-5@[^_@:;*8*SP'8TFAS MLH([^O'0[K5NI6ZOV6MUE]?,X6J[K9L?3^U>N]65F@^W4NN?-[\W'WYK23>= M[]_;W6Z[\W#"+2A;;>$/ MQE/_N.G9=N;R2E5-;J:Q<](NXSD*/OC*^1%'E! MPUWGZ;N$ L-V[(<)JZ^50CD"7,N$8DZR"0H\U*ZWCLZ.GGO9;N8\_+Z(8^$W<%V()% MQAZ]CO[X8IC>V")3$.EL(>RF+^'C^XX/)O=U&=[P0EW?U(D5OH6],/AY+LR* MI4"@^2 V?2-Z<_AS$7ZZ6OU>*VKET\C 9 3<\K?)V"+4->: M/M&QX_J@4S$AV >=]N9?#\PW:A1\=S)C)B77^-]?ZE6M\F4M/_E&2I $,CX^ MJS$PSH B!5"1'B>N-P'3!HP%J4MUM%S^]Q>Y4OHBJV Q2'+YD_%9<@:2/Z3X M^\0U?1.6TWK3A]@%6&KJ/OXLUU5M"4Z,]*X8=YU$D6PG>8 DV,[^G($EL.PD MUJ]B!_$<=$EI!2&)99(SX)O""!XQQ-L*!ID6II2X!6I')*CF&M\QF452Y;R$ M@@+ZPL6KD$X1/\?_]W30R#60 M/ 4VXK"1%55]XXQ&IH?17.G.!%4-XK5/W>L$)E 0^L6;@WLCT5UFD;F"7-+4 MRCKAG0GS0*X5ZZ7XGY+:!^)1,P,H^C&D1DT98V_7144NEW/O2 .9!Q2YY#F6 M:4@1?S4%.(A98(_?? M[H .W3$*%EJPG&?GWTAZA%&G,W'_K;O..+C^W39JX[==2!,6,7YCT E"GC-= M_=Y27 #*!^9-L-GWKQV9AF'1M 6-HFUEXR05*$_TF0UBL'WL=Q4)E4JN<5_\ M5I3N' \V*-U$IQ@?V(:I@_$8=F*\P?VI]4; L$-0H77GSD D$4_RQE3',P]# M,FW)]#T)3$%T;C_'0>,=V=97F$]]SWLA-6]BOROQF(\>LV1_9T+[:>5BM59- M13E4X$EJ*D_2M**L;J5F4O4-^7*5=A*K.!U/KA=@F^3A>M86'OH'-+A59/?+6#H^R@_RX M90N[EFLH96SLK555=0L<[,X21U.$[\_0UNA!1KBH I?(^7."F%"Z%#<+PQV3 MZ+:$5;LH/16E;E%JC<:6,P6K:9FFI >G^'D=M6P3*LK:25RY6$])#56*-;F2 MCD)3P6^*OT4HM ]E9-,P7.IYX7^P&[8EW-,G(5+IUS1?Z7DSF M$T_V)^SQ,[45, MJG;<1U#WIJUO;PW("C?FP.D\ME2I^1'<6V+]?^8XL,I",*NYAEQ6E!7*VNSN M\@6[+157" M4\V,7"-(<$TNB;U2?8*4S? T:C'K'4?J\P09(0T+:B''NN3_= M^;0]4Z#H:[J4++&!AF)=><\$GQ-(/2PWL1Z'COTN9"V7TL M$R:>6BYJ:BV18;;^>U6KIV+B*5JQ7$MF+1Y^40"I/SU,SL+&[$M& M1@MGY4'TE+K4D,:KI^V2K'SJSX[8F[I_?5 M>TJ8L($%N%-*]*&DXX3Q$^K4 MDT+")4PV=J>COF-].JEM<4HX/(0'#(P@:)13 DSQ.C3AFSGG).&)M6=X7SB! M3>I93Z&PFQ* 3I_:HQRTX-CV?0@!I]O\N_2;Y?3! MQ^N"V:K[$E8'4'^SLYO8X8DK,MJF..G8L,<10CH&NOM321]2_:](G>!ZF\WD34!S>T,$3Z2B9SQ\2__TN7LGR M4G&=PXJ/\?)!NXB5T/=^)2PH=A]JDG18F%8^+Y M4KTD&63J%6.2N!)&;6XFKDMQ:":N$(6-3_R)-R/P>J[Q+^J])V0I+#M8?+'T MX$0?PZ37S=EDRD=)ZHAS0/?(]'V@$B8M7,=&D6E-)0KB#,X O&GE*LD$TO M7I'N97ND4RQ;/-Q[0_.L>/<&4/;LN-,89XA=Q/"HAQ?-_2)%SC6:[Z7QBA9> M^5^HEJ54\W_X9(Z'.!T:@4"PQ'&0T WL@4 DS8R"X&.H[A/G([!G?IMX\#+/ MVUC O44%=V(>. DI'(YB3D,:K=#Z"X@A, 'W(XSHB;^Q9X79_QN+2!5U_FO!J1*\->W/057@Q/2:?;6+K)K'0#<&L8[P8&RP9Q#4\"1.+3&/=<9SZ MB7R.=1&6_=^CA$VV?4P&'%=O2"TKHA/I$V"?N8]!%$48&X"8+AGPGTS#2'73: MR"-5NU1ZQ7]"'-RQ6!C('.Q;QS#@L5&2N7=847+ *[H)MHKW:Z[][($CRO'@$7G)F:]Q??AE5W)8; XW=@(E$K;. M>Z%KV\6%89C2_!;2]QQKXJ^_)2GP4R M@)=>$^N53#VTZ4)IN(N^RT2> MU ;1.O.JVG9@4L!3OUZ1/*[ACH.7-44WE_ BX,.G=$WC &O M"_C=>H83-)F )E70?CX=2?(B3;*:(I9\<7VA-!D7N5TBR\ 87B++LB:H,B6J M9+F6<*.-$:@;G#:"U8 8WOI&+"!2*H$K37UO)^I,ISR8X5R@.RUTJVM0F5D) M\K%6BQ$?A7I)R(^4"*J^5G[,51N&73IC&KQ&2)*S0;PF)(FL5(0H28>B\*!Z M*U&"87V7#G'(S@ME+4Y&5/IT[WA8D"1DRWE00EG(%KGR8=J*H*@$%%7>5K80 M;RC=6X84GRE+KSXF),]^$%#D/ M0JA>GA19,4CJXC0@)8I29+BI%Z3NQR3,3%[/LMEO3TR?!& LL/VS:Q)IZ)K-=YE(&Q5"0MHS7 M/%%O8HG8[;D2BRSD3T%1Q3ER2B15*X?R1RU*?\?B!--G.:M,E, 75O09)9'E MX/QK3R)]9Q+U,9&>3.^G$"_G0@O*A<5O8\5+6<1OTR*I6BA>M"*:*;X+Z&2B MY=%U=&J@-!&RXUP0?4&R0TB*M FH+D>IO^VBU&%U??OF_0HAP2&.E0L[U8DU M,*HBCRTMDM+FV=GW])E8@67!^I,)T^)L4"RD!DB-FCC%28NDJI'4:!99 $.Z M([KON$)BG UZA<2X+J@E<4Z36F5B:7Y0\\->&++0)5;0H"!('%EH+,P(,+.; MQ3!-QG?PPV/M_D.+4 CW\^'$2Y3N@GS2(1]U?N)U2P>$'9;_&&,G;&J;COM> M@ N!<0X8OT2!L6(.*N+8/#6:JLP/MK[#O6 &#BA8?PO'Y$)ZG VF+U%Z"/)) MAWSJH: HBV.M<\;Q)8J(%0-#$\?A:=$4#A]G0:/=9)F+6P M 4*,+^?DH$-\' BP Z[K8T/5XXP!2$H2=^V'YL--NWDOM1_N.D_?F[UVYV%5 M^&S)96INO3!$R:=^)/B.C1@)[?NP;3^WZ(FM9=X1.Y4-V*DL8R<<&\V^,;'2 M>E./#'[[O?.BRVXZ#[>MAV[K%K;PT.W(L[]\$_YLC[]XWPXZ>6?2>N/I14.<_,>QP2L]06_W( <4MU.NI3=Q$6ZBXC M M(AHE L,;\,I1BV$9$B(&0*L)]^V&1BF#XU/J='6EN!9]N05I_H/Y]=!^R; M0@@37:<4')"=8EU'MM08C)O=[J*&7@_>C5O=!/?,W)\8YP/V/QYQ'L]7X>!Z MB7@>9?,&=D#^NSTG!CZO]Z?$\!+[;YUK*L .EU@ZK>,?],^)^4*L)7@_@,'ZVTWWT^-YOMAQRPU+VNUE=%^R[.Z=L%, MQ+=;8R@=927XXUSY0SL!?^!9<+Y<*7'"'RD94QG0I\U@5K,GN> / C(Q4E20 M;.I+G[#!HU3>QHG9S=!1DL$S5HADF],V:*((-ZS3)K#IKAZ8'ZH4V< ME-O47*-JJY-F$[+;!V1_"'4DJ"H%^7TPJM* JM2\5M,XH:H+TG:&P MV'2TL8^[>=9(LPF?XE1R/L+.(^*F:1NM"#'P=U!4 M1>\I\>@3OKXS^.%1QJ1-K -MZOID-+%PF.0M';OP%E:7!75P8#3\J7ZWCFXXK2&0TK:%)Q*DY(JC)+JI3(G ME'1&Y5X?G1/L4_C#:]46)U5?&5#7OSF.\6I:5I@SH8F5F-==0 M9;!U>9&;@FB.J(%W)9H:$(V2+]>JG!#-Y436 JUKVCZQG\V^]2YI;4WDV4@:GMK7\O+^CI&(B'%(2AO$W!L?6=SGW+.*P9?):]CXN$S\(A 6V? MTK8[ ;'2]JK,B]-[J;J$WYCGFF2V3J]Y+QVFT=6F>]:FIEQ"5X\M-W\^0G"K M5+VD4D_%L$TEKY72RN;=#BV<-L,1#'5)#+55&F)2AM(P>*[FE=+>16,'9Z@S M:D48KYOOV\UO[?MVK]WJ!LVO>YV;O_W>N;]M/77_]Y>:(E>_2*V__VCW_G7* M+H4+"%8!BX8SP>8^2Q@^50/#)$L[(TOOX\:6EDGZIL5&[HI#[LL\Y)YUXQJ3 M*6O%E;;\V-O?S[ Y$K?%\S$Z-EGQ(64]!H2U6Q%$N9QK:&I>K9Q1#IW@B'/E MB"W[H.W'$17@B%)>/;=

11W[?85,_0B9"%%W%\ M/33P?/!3=P3H[T<"NRK* 4_F-]P#0GJ CUM !QL,-#9]8K%"ZTX? M=LKZ8LS-OA7^4L&R*^_MC0LG@4/*V> D[$LY&E!.2>&$2%M M0=C,)SS>90;/WFXV=DDIYVOEM++,A,W,$Q5M/A)-AXJP0THUKVE[RV91!RA: M^?I[JYB4C+5+;JVZR0?86V3@,!4M+]?2&J8B>OJ>!^%MM8Y"LZ[CN[B9((#Q;/<>7N6O+US M/YVJR@H"Y/T3 87'P"$U)>KCG@(U:8R::I6]Z[>$L[#3*?(\FX>3(/^9\]*E1402JJUC/2_/OT9O_%-<^+I^6N M[^@_AXYE4->+&O+@3$!_*CJK'*"SRG:$8)@OT8/#^PMX\;5<@\6<*,/8&8T< M?"N02UX:$U=Z(=:$2G_Y2!@^4K<[)"[]4+6V'^Y6BUGQ98PT'XG;<;L^5D;] M U\X?^0VXK$T$X_5C\7VNI5JQU]I+='M@@&W":\Y>E70_]0\@'[^X!$#?4+*5CPE_"_DNEY MF-A)?.D[C/G67?E+S2?&5&"1MMK*DX) 3XRHQ M(>VV,"4(9F MV%:=CQKF0LOBB.LI("=(PUM*CE)AX9JK#%E"@)9'.,DI(4G MZA/XTI H<6U8NCB\.9D\CE#1"C'1U/7):,+Z[]S2@:F;2MH@FU.GISHV<5*T?$7E99S644]". R ]UQ*O(D[#4+@4@'#2;KC^:D' MB:(7,9\J=*_"!R6*L=3E8+!,.>9D^1#AH=36K<"Z:V#F:MKJNO6%8X@HQK=# M7"^E\-+EVK6?4E3&,803AA*2B4P5FRC6E%4%O)),+_RB3-'/!N6;%OUHF$&A MU5>ESM'IYW)\H@5#27)8FAM(^+%+A]3V0#I+EN,)-^F8HMF#]<-?,?TN(CRQ ME*6;12P%Y0WW@*H'ZG<&/?*6E/7*[!BV(J\&MK;G/>$W\4A@*[+[- 168>/6 ME?+J&?_1"2S-$X@LM":Y+WXK2G?@*8%P1ZP2._2A8K/.3GE&LR5]6Y<^ &J?_=M!T7^*X=XBB&Q>K@,5>LZR7YQR:R.222]CL1"OGE>K>96A)49QE4_\"R#6QM7\4M03M)+JFTVO>2_?MYK?V?;O7;G6EYL.MU.UU;O[V>^?^MO74C71/Z^\_ MVKU_'7OD=XC= "/7*J#0<"8X>YS9%'N8?=PE#B<>C)P*:,Y'W&UJ$#DO^&[: MQMZA#KFD!JD>VO[QM13Q>2)737"QX.+C].1,FXLUX&)9S2MI-U@^.AR_*_=G$+/M-"WZ7D9X$,8(/7Q'HE4P^)D4: M<63!(?F&1]J=;J_U)-UTOC\V'_X5N"H_OG7;M^WF$_@N:[F=EUW<=!YN6P_= MUBULX:';N6_?-GLM=+?@/]];#[VNU+F3.H^MIV:O#1=POY]//VPR,4P0OY_Y M7VO;!@7B3. 9AI>7Z)M.0(^V986_9<^O"R^LIE M,8Y6P+K'<2MJVQ6'@.JCTG>X;NA)+="(QM>^>]5@90F2*N>WB%1QBY(%-SQ! M=)-O?&&!R#;1PVTV?$E 4P]&R =@BO?N%2L=.RF?;$LSQWH/-ZCB=X&B3630 M)I)8P4SQ9\=6>'P$W/H_!_1O+,?[F$O:E*6EZK[%U)S4]UH&"8""R#BB5KWF205&Y37_)0Q8@<\M.(!/GT(J$>M+E2E;UE@D@8 M/RO:K)^<-F5LP2:7\UHM+4?H!+290666-2_IQO'\6604D6H(-^E4\43$16<0 M"H?$#"_G&C4YKXD6GF=).ALB:_N1CI)K5&OYTO[#,85KDVW7)M(&46;=#*H$++F'@2Q M+CU2"SO'NP[=G.0"8@H;XEW[,7R9G9J6JBE78)XVD"6([M"!K/V(#H_JE;R< MVM1G$:$Z1Y_D-]?Q/&GL.@-SMTYK(IY]:-W#4/3(,)18"%1S#:625[2]PU;B M".6L2&Z#YMF'Y&I J1^\M:;0.QEV?;HTZ/*)DUB(,3)MT_-=5M0NT;6J.L 'A?UFSBTAMB?.<4RFF16QT!FW;)_:SV;/@-NA;S\:/.7>:VZ!N8FENE:RT M7*-3K_ ;%]U]MY>U$H^\O2D I8I"7_O5)HZPL>N,1YL_I"'_W!M ME0O:.8C&W9=V*LRC2ZWZ1ZA?)< 1$V;N-.V3T?>0RHS#)5ZKJ'E*_6]9^:* MY%_N*3B1_;FMY< 1+:N8D96ORJLUD]M;L2*A^(Q]V?9,-<[\V$]]:M.!Z:]0 MB'!"CJL-03*$WL:W "-Q#"X#@]=$>Y6L$,D!%]':,*LNCZH"5$#2F2!]"3?D>PEXF-SBI'Z1-HQ%X=^.TN*K(J2,$\3WMY=/K_L$)7*C^W:C1$R>6G7TN:=$[C79Z1>8[:L$> 5X MLWN5 *\ ;W:ONKQPY8JW=E_\5I3N' ^<-.G&&<$:I\<>IKJ'39S]J9%;;IYO M1R#%V"U0[.XUL&J5A5QCLD[/,.0JV.KH@_O5^#%9C(>'R(1-BA"/-M]'$ MZU4"O *\V;TJ!&_T.K!'CY\BZRYAO?FM;$I\9A_(MT3IO6!5;.T3!*N'N^+:/# M>Q@A]<991#+S,58MHKU/;C]""/]'MX*9,LI,QW0S/F K96]'XU0%\:-Z1ROG9G$-4.+@'SD\#"R#,-;$U/( MGV: GH?)J$_=SH I":\S1U(8ETJ6_*.IN89X9Q^@=F^2H!7@#>[5S'P7K'<3/BO8;XTOL(_ MT=4+PN\_$\\W!]-0,S6^]EV\.Y2P']RG4VP@L]]M1]2#"NK!WI!*1->#1P$C=\[TR:V M;L+E71^^&,&^O.):"(3+4"NPSK'CF:C.KEUJL;GD7UY-PQ]&NGKAKD '79?F MMY ^K #4[-I;> &UM@R*Q7]QM:CKS5I%5]6Z7M6T4ETKU\JU 2U3(@^,&M4, M12_]&V?EAC<-9^'>,=@$OT"'$:F75@$^A;P6N:$ M&( -!JD K!H#L, < :/("9JI7(,90UV\"I9#N%F+-'311/QE,^JJP&TL,1SX M")O%('M\O2*-.++@D'R#7/9.M]=ZDFXZWQ^;#_^2F@^W4O?'MV[[MMU\:K>Z MW(N[F\[#;>NAV[J%+3QT._?MVV8//G1[\)_OK8=>5^KO%^5*!25@:'B% M+PZ%8Q'6>;7Z?;5<+-7C?RH5Y83?ETO)GK1N43+<4-)X7%1ETZ/XM1?7F^-; M'OA]>%E]Y;*8X$G H\>)GM2V"I[T0.=1Z3M<-_2D%JA"@QF[WXFK#R55SF\1 MZ^06)0OAL@1S$/C&EU)2M&WBS]ML^)* IAZ,D ^?^Z%^D/IQ)#[9EF:.]1YN M4,7O D4*R7%ZY^]]@)_]W,D,)4B>7<-_K9INPW\.TF,$1V6)H\YX%H%62VT6 MP84>TV8_+R@8'(ZG*BX=4MLS7V9=+0.S(H\CQ-F!"GG;K1E(^AG-N_M\/"\N M@]3^ ??+=9[)_LYQX:,MZ1/7I;8^E7P7GF8QV2L1 T^3\%!0Y%V??HH&DU W MBP)J07L&:+P)L=A#) :O;MI&;X[2Y@RCX"]U!CWREEA7UG%8NE9?'9;.B:X4 M=+B;%[0A7XX/ZBN7D/H4;97Z>/*",JC ]C'7%LXIP_L+>/&U7&,!S5,0_@_; MI;#$_U)#>B:F'5ERP (Z\8;2P')>I2$UGJFW:-;-QNS"Q[^D&$'XB'=N8#UW ML)S?<36_P5KQRV &]1/5+>)YY@ @CDM@_++*$O+1^'S_M6+!Z KKQGRQE%XA MTN^/'/%*B0::F-BTAA!8M=?>G=1%[CV/!NVVP9\CD)F6:VAR38Q4/O/3+5ZO M.NJI&X=FV'M61<,*+2S\TS))W[1,?[H09O"P V_4?.C4EMF*G)DM$V/5S[U#==ED<=#GI_M !^:Z13F648OY--$K&-9'OT_X]MGA@KG3OTHF52"3,SK:%+3'F73ZB/9J M((;3:@UVH89B]L__>HY/K'?G?_OG$Z7D,6Z=HGF&\F.#[HH1'1&O'R-UH%S/ M-=1\25T=_IQR^_*89%S>XQSG1K4'"8*TS<^UTI)M!O9BUO-I[ MZGD?I<6L#-"QE^B2U2,C88KY.6>9^/)!?)3OQ!?,%T#GA(0RJ$1$]J2(+IXJ>W+W MW+5$7MFJ$,$,")%$F0%R/$*P^V1$J,6=0(K(]T5%OILC6+V?"4=HC_F(_,F5 M@ZBY#\*)N\H(S%)((86*Z\&<@@B/%-/>E0BQG>YJ?@#W1)A!]96U /7-^B/; M#X>[WP0--$\TRBYL>/9^),UE#@!.$S1\B]OC''PG/@2LLD/L6EI556D@DM.> M%()]+YE]CVTM)6;D&BN/C&'D72?R<<+#G-A1AVQ%OK%Q\VZ47=^JK^NRG#]R M/U>M6%64I/U/VK*)Y:[E&N^YXT32;?L\_)TV#!)I MX#@^=JL/Y)6-)D[TU9.##Q[Z_OCZZNKU];7XUG>MHN,^7RFEDGH%+B*]BJX] M''S8$Z]-']:M[U#?PL9'88W*__Y24Y32EZ:N3T83B[7:=V(:S*"7PBZ5OZ"D MG]7&.'V 6_A$[.NO#X&MX!G@PH1/[M(@*H?%(L08F;;I^2[KPQ^5RLP>_&KZ M0Q/;-J^= C#O_8]KG_=>FD\"6,!=2!@?R\-0#*!^>'> EV3BPI9/.2*?B $, MQP5U.94!#&4Q@$$,8#@%^5[0 (9F]W?I[K[S!__[$?,6DMGG(.V*I4#B)1RX MH&PPJ[?_7JLGFY+PP6R#DISTY4=9E)J& R(&&WP\V$ ,(Q##"$XVC$ T_5]Y M@!!K:R/-,4;*%A(L2\>Y*TY#<)P[,R2ENZ?.=ZGSV'IJ]MH/OTG-FU[['^T> MF,RBEB@!$V4_02V=T0X?9/\D@=2Y'=[%;9'O0[BS&^U0J:[5 M[3_:(26V.B/3;4TB^7(?-Y<"_G33HJR/VW)B'OS,&O%.\$#$M"4G M( H\T,*F8*9O4D]8>0>P\AC5JE6>R>B6#JCK,KI@)..3-^J)\NO3UQ9$B DD M>X^\M8*3YK#/5ISTE;'_ZNE%KR"8DY@ &PDFH2Y76':;JIZ>H-(L<>9=&H]! MD9O,8A-US*=R5!>QD)AM5#2!U2K?A9Z"< Y2<;P7X6A(.&5N1DY>C@G<'*%' M_-_=A>[E&C(I"MV%=K..NXB2Q(Q49H9+3+N'S ;X!!5M*X'3HZ(*:]58X25, M?":S(R['E&_].<%Q"Z8=15:<0=CD89Z/;-HO-(SA"6O_V(IGX/GN=8 EC)L' M;G/3-I[HB!)O$G0UQV$XRZ)C8+Y1H_!?ZCIQ4J.*U3TU15:^<&+&"5(Z:C F M 5&M$D^-CR95EV/Y(R)P3*$'F/!8=0_J*P<^LMJ)*--8'4]D2P_*1QF^Z0N/0; M(N1F 1])96]-1G>[%'/:),SF[)/0IJ"-93DZ.L3QM!2>8\91C9)KU&J\'+5< MCMV,RA+M9N)YU >;&:,8I@_>C<@<.9D;OMK4 M]:"?MDMU:KY@,KLP04X6EVO;NDO!?+^EP7_;=H2?:&;LTPQ-R;4)ML;.E[04 MAN<)LR2+9LEAJ0M'IU?R2FJS145,;_N>TK:/L Y5NPCE'<^%W)K3(AS]8?K# MFXD'VZ5N$]&5F,^JN48Y+ZL53H(V@L".>=*2B+!6::>6:]0JJ\/CQ0GYP9#? MME^H[3NN*4)[7-G5"WA)+('KN8:,)0JB5.SSEFI='.9M] M#%"36"R46:>+.B\-"P0U'3%E-WUJJN#I?EU9]6-$,N]AJ6+6 B/P9 M#IJ_;7=.=A_FOTT3,UN555N44A@T+SP$K@AL]UR:#02V2D.U7*-:VJ=<603_ MDQO3[@0$-=C2V*@W*$<>C2UG2JG4#]K\B=, +L5W*T33$V7S*>_GF MW\KY%:<$==QSPXWH>FV.FQK*W&&K,?V.>[>AHG^;&Y M/Y_"P3^?L:/=BVG A_XT=@K0*0WUK8?19H0_#R+] :9*\R[D7]N9)FBVC@@,58P"E575W.@=\MC.RA! M7FJ=L-.VX__*/5Y6G8\=XSPWE8V>6$.T'N 70,3QJXSD@"@YGU$1:- M@_G-@8LPAC-28UJ]-FUCU^;!2JG*F@>7]LY?$J%0#NEJ@R&4B*Y620?[ON_= M#T'$.9.V'2%CTR>61+&]J!&TK\2FE@<0WI<;I$JSV/*13-FHE)[3U $=+DU/ M>-?QG$&IBY++T//^L>_C0!\U(U9D630C/F=B2F!2;T5,F[6\K&#K,57;NU_\<4SMTT<$ MCU_,F)$#M<5CM&"&7PK':"E9=)=\7K%!0:TYKVA'&-S]O$)FB1/@1Z1TR,W% M 9H@R!,=H*5!D!J64U8J:953B@.THR5Z\Z#_MCM NVL_-!]NTCA V\9DWN+^ M QR@'7]EEQ.!?:+C,/Z"AV8&[8OHZNFBJW-D= 8L^^_>L9][U!W= EX2JY\R MN%KE?$T5F:3G1D8;3)ITR:C"R$B.F2 D@JQ'"K+N+)9%&"SEF&K;\R;$UFD: MC%7--:JU?%7CY=A9$-6)8JMI$E4-?$XU7XJI'18!UL/YE:=?H-C&6;IG/:P% MFKA3>*^C_Y0(GI#O<\@J#.PTLV#N'!=L[8FK#XD'TOO&&8TY#564*>CQ2'X3YL.PZW M8",K/#PU@6Y=^%FXFCRXFM]-VW%-?]H=$I<.'+SXP;6+K(KF%!Z;;+;GE+L+@[KD$BLHJPY5Z6BT< M1'8+OQ1YD 91!Z1-C0TS+"DIE&Z(')>+RG&)I__68$!UYJ#0-_"'[6- ?%)^_$MJ,>;ES9^/%%)Y$D(R]NA+KQ7YZ8-N@@T%&VYG#!PR))&8 M#]E8ETK,0'G>^/#L/5[Z2GP4R@ U>$^N53#TDL 4XC$R[L CT+>#UGXGGFX/I>H -!JD ;*4A M)0 L$ 8@Q9P@0_4:I ]U\2I8#N%F+=+01?G]RV;458';D-&1CVY0]+,L3=*( M(PL.R?>^^*THW76ZO=:3=-/Y_MA\^)?4?+B5NC^^==NW[>93N]5=R^R\;.*F M\W#;>NBV;F$+#]W.??NVV8,/W1[\YWOKH=>5.G?PJ7/SM]\[][>MIRZKO8[^^!(I7=-FBV W?1D1]QD$8JA/RN/5X *^+_AY+BJ+I4!45_[[E6#-8K:)J2]=W/V\P =QF0*9@"[ M< :E@-[6T'NB/H$O#0:^%G&Q<&&K4C8!OZ6FCH)U=P!>4]PQU88E@C$ MY)\3TY\FL7G2JG\XZ>'*-V)A9^N\=$MU.NI3-S+_5%'R('*M#WB$KGQ\AK[( MI@%KSNIF'QT7']_T?=?L3U@7D;1(CV%*P99;8 M,A%75D\4P]&47*.J[#T(07 <7[0G.&[/QF@GTGXJ:#]-B1UDS1M'GDG!@[CJ M[+O[GU0FA:V2L3CWD^5X7NK5N+/[+ZW;>3CQB[?FWP*E J4"I;MY0;6-@]X& MIH\93XD-*RW7T/*:RO_L $%K0GP(E J4GB]*DX6KM^U"L*@;5L4_=@A938L0 M8X_.@J#2'4J\JX51819&:>_ S<%)[1)R<5FVO*0O9LFG0.8*\[=9= M=)NY,.)^<;^X/]G]EQ -?$19!"K*,DG?M$Q_*A$#>YI@:QHQ!>=XGD'&S#6! M'H$>@1Z!'H$>/M"3Q.-45N9BK8E@,)]EJ;@WZ*QX2P=8@?Z-VO"'_VC!NILS MH^&!^IU!C[S%)B4\$A&C+>D3%U"B3R7?A:=9K)'COO[@Y0XMWDU(\C-S0Z!'H$>@1Z!'H"=[Z$ET MI+VW0QC:#S>A^=!#ZR%X;],V>G-;(J%AF/"\L\Y&_=2K^]=I"?KDBCZW3KDX M,GVND&"Y!"0HZ._LZ(]/\DLF'LLR&VDBIU!=?G27.H/GJC]LE\(R_DL-H!W7 M?&$S.Z1G8MH24-M\M.R0&L]TJWZ)(KXEPH\"/0(] CT"/0(]F3A;676LMS,8 M,=WW!DR$.[ 0?D<#X3>P&_#+;Q2,/OI$=8MXGCD F##S$"=:@;489_4I8/65 MTBHR$M0EF/^BT9-B8O\1>%_EB?=%=P9QU;&[,^QY%,_FJYTD*7OBZD/BL3F( M:T6.-R0N]3Z4.NV'N]@V,D]T'+[!N)VXV$$&UND8W?")VP262G,QHX&8J>3+ MY=6,#:QW&<&:@Z7B!'H$>@9Z+14^R(^L-UO5':NX? MQ)K0.'L9:[)KJUI,'-]Q1RN"E05Z!'I.<_B=@J"M<")HCWT0?3*'LNUY$QP% M=BB'$I\?YTO"\ME/R9W*:JY1E?.U\FJ/E&6G@1ZN$HC/XADKF!I0EY1.###+J&B MFN&PT,>("&OZ1VV/I6N($FH12#P?].SGA2Y+O7GQB]=SF@ *?"*Q'HEIM.T; M,C9]8K&@$F.JFP6>>J)_3DS/]&F7NB^F3@-Q^41UY]EF3PGCD D%)JN7*:4V M*%50HQ 6 CT"/0(] CT"/>>&GA1/5+DSA!2^#"&12"ZN.FPB^>D7**[B_:I+ MZ&'PC5B8-)*7OA-7'TJJG)>4$HYFWB&&]4&,>-,]X>"1 !37*J@,PYGT+1H, M'[G,(YG(>>@7' M=LKY6B7EN9V"UP6O7S"OE[GD]3(H=:6>+U7J@MD%LPMF3RL?N9(D$>;X;%_) M-_X^BA4KXBKYKT@N$%PPN&3VS-UTX5A:OE M&I6J\,P%+PM>3HF7CQ103ZBQL5ZFJO_6SQ.CM%O&+ B0J4X9]HN0O/ MT2G"*B28QM>^BS>'>]SF-O:*&1B"_0 (+#+VZ'7TQY?HD-.T&=6PF[Z,B/ML MVA%LRN.5[;#W!3]_>34-?XAT5BP%M!8>D89O#G\NPD]7,=]7BXJJQOY4*LH) MOU?+Y41WK%T4;$5.^G*Q*+$HL:BT%E7Y\%$;,C$^3$;<]K+ZRG4QQD\@;(^C MZFOO-'TU5M/WABZETG>X;NA)+=N@QG(JA[JD)X\!R+D]NZU.Y1O"-ZP7"=/' MS!;:)C=FX\XO W28T%HP ]B%::T">EM#[XGZ!.?N,O"UB&O#RK<:(R/@%XC& MJ ^M8-WDP&OJ^F0TL8@/"H7U,0^8>+&9N80MRP5(MP;ILF?,X!FYQP**VW.U M UI$6HQ*L+J9ZI= 3+((11*;YRQJT6=IO+=4IZ,^=2/S3TF[&GW3/9<964RV M^?.)'2HK8SN/= Y0+:62C9L(;R?_,5L&2?!'G9;)DHGPT-5$_W.,SIYIK M5/**MMI#,W%_=,&5G-"GX,K-7+F2:L(75VJYAB*#QDQA;(%@2TX(]#+9,A%7 M'JD*J"]96Q[2'ZKE^QZJC3\IOU>O_M-;* *E J47@-)D08F5QA1K@A*/ MKC,P?EQ%!4-DEJ)5,N?3-C#HS,ZJK67$X7]XO[D]U_"<' 1Y1$H*0LD_1-R_2G$IF-H3AE@#"#BE^,[!3H$>@1 MZ!'H$>CA.=% W;8M(_-8EHI[VS;X+_26#K "_1NUX0__T8)USV=7/5"_,^B1 MM]B2[\#2+S1;#8$%:?)(FBOY%B9)!Q1;A1H$>@1Z!'H$>@A^MTWKV/5C'#]P:,A3NP M%7Y'4^$W8MKXY3<*-B!]HKI%/,\< '28M3CPJ0O&8YP1B'T4Y-6B[<19OX+$ MA 2X:/0<)*'_" *@PHD $&T9Q%6';: KHQ@_JB9YBHK_X-8$YJ0DQ=,SAH[>%#W&:@NZ$JPO4!/PF/R;0:NI,[L M.(PY7ZKL/79=D)3@>($>@1[.T7.0,."6DGE%^-9QTE4UA4D!(K=C,^89D@I] MXE&#]>^@ML>"KR*+0QQSG ]Z]G,SE\7:/+W-ZSE- 4^D5@X^;EMAS.?6=2( M,=7- D\]T3\GIF?ZM$O=%U.G@3Q\HKKS;+.G,-$8)Q'E7",NA"3(C4]R$]) MH$>@1Z!'H$>@AV=39T-H[126CL*3I2..YL55(KM#7,4U"9U%EXYOQ,*\CKST MG;CZ4%+EO*24%#7MKAR;[@F[ >@N%9!91C.I&_1H!.PF%FV+VC.QW32CC31 M;-5"4G,-64ZK_#$-K)[H2$;PLN#EE'B9RWGV=0T[A>7KJ94Z"UX7O"YX7>&2 MU\N@U!4Y7Y+3ZO4BF%TP^UDR>Z)4%4U-DJMR?+:OY!KEO%Q=C7,/S^UOS**-MC1>%JZ)R7A;$N>%GPSL&/&* 2G"*N08AI?^R[>'.YQV]N. M2&@*$EIO2"6B8P([L:< )%K6S)A9<\NL:0Q<8-QE$/J4>G&L0UJ M8^8[_,4@37SX<&?:Q-9-N+SKPQ"R[Y=JE%FN2^.75 M-/QAQ P+=X78+\UO(7U8P<1??PLOH*Z^*T1?^!=7BWQCUBJZJM;UJJ:5ZEJY M5JX-:)D2>6#4J&8H>NG?JIR+;AJZT0[&Y)D6^BXE/PL$>[]<$^N53#TDW@4X MC$R[L CT+>"%:4SF8+H>8(-!*@"KQ@ LX% 0,([+4J.N02)0%Z^"Y1!NUB(- M713#OVQ&'?@P/10BR$D48<67!(OO?%;T7IKM/MM9ZDF\[WQ^;# MOZ3FPZW4_?&MV[YM-Y_:K2[WXNZATVMUI5X'=O!PVWKHMF[QKV[GOGW;[,&' MN_9#\^&FW;R7NCWXXGOKHHM3$I4@)M0F)VLJ6 U'(QVQ\1]QG$7Z@]4/J%WZ"]4 >C_-#0B),J M0(Z@;"6Y&+5D>9B,X#GZ>_MNI4V8^TQL\[],$LT5<-!.^A%L-< O^]@9S#3R M7"'?FIYN.=[$I3UXQ3<+;,/(9E-+I<"V-.T)-9I^^!TN@()]-T8R3/F$FNU+Z\ENS^[@,DDN%?[. M+FNB*6[1P$^H(:4]T>=).'NJ6_AG46JR'<$&K&D>'S@%9P!M5W@P^C8 2\L* M#=:510PA<@$[=@>HP6X$8;(67!.W#L M%WX'I.!.P+/\S/9JPF;@S3;5J><1=\H 1J0!,5TDN)DP6*##J,*9I/ M\%"X#-( G&ZSCX0N- M,!T]UQ\2'V PA16 :AE3G8$\?!DB#U^""[F%QXWZU TH+7H;(AD$W-\GX/6 MF3<%ZAL[Z #9"W3J@?:R#'P#&-Z,4P! _YG8@<,^(_0E"HG#^CN2Q!:0%!@B M AL^.#"]' \6(]T$$H(5DU2_>%+3!G%BQ:SP;RL;AH?%[E<-*>B#+0?7X[[S ML-T!Q4$&E#%N* M>:3X4!=$W$^_]-\[$G7V%F\:UA3\M[ I_9:_ $)L%J /\ MPGK@53%@8,\Q 8A+8/8F?:!4$ZB$H@/Z3NXVWFLJ:6=;HYHU6T-):FMTZ3-2 M:4 -P#$?F@]*C/F@Q)@/$P]6YWE2^'!/^MAV6*/-82T2WP M&I&>+0=TAN13?6C#&IZG$@ME,)TX=IT7E+8HVJ@-Y$-1\N91LD\&1/$/DS%B#VWN@4L"O0NW!ZKLO3SQ(IR ^1 (=*80 M'9M]&?R.?@;;!"T#>!J0$,:_K >8'">QV:(,==^D(!2;CMP,I -L6U MH70&TR:(.(',PQDIL,M/_<]PI^.A4GNO-/!*EYD#**?@R29]#;0A6]K0I(,% M50,2S_20:KZ3G]3-XU.E";[0F\"Z%DT#D# CN(;%4CV& ])W0"'#>T%RA>*N MS_2QH[,-P&=\902R/-O1)STPAH*-H^)VEXV)Q7R2A QA":]$?8. =T9T"2'YP)H# MPR$?_.1", M/B3V[-'Q=8SC&7 MPG.'[/)0V ;/!1O/=UP\YK"FX$0%4G!Y4W@7LGU@286LN2BS(IC-GR6-69FJ M%[D <"-:L2:31;!AO'>V?S8%RU_R%@*QL!:=_8C741&Y)@IO,*Z&2XO 4(0. M=R.+!P+W<5$W=GU*K>6OOE."9@S;WB=X@8Y@1./'B(S2Y9MFGNXJL%/B[T2& M&=8$@_2RS##4\Q1HV#O0N9%([#F+\B[&7E-70A2\BIA5*V#9$IE)^ Y+,P^ M8X57BJ=9Z&V"YGZ=>YTK5'N=#(_A:Z*#*7;^B#X+&7OT.OKC2U25:-IL:^RF M+\L^0GF\@:SF67C6T'<:8AS]DD M/K6^&B4X^JQW046IRJD-S>>/(*?D4JY1EO-RB9=^\X+"TI53VTZJBY53J^0B MYQIJ>9_6/6(L01:N.OL3J)[C$TNT5N559 M'4.:K:XO@K,%9V>&LU/P%V456ZJJ-=&:3?"MX-NT^'9#:[9C:&0-QYZ4\UK: MD7W!V8*S!6)< KP)O=JP1X!7BS>U5, M ^GW_8[.J25(=[DWS2<+2Y6"9D!A&;]C8^F.ARW47FWLLO-"\U'#,V^AOX[N MN&.'=<68U_]'_6D6N^7,F@BQ]M%!C3T+<0RE'; MDOF#=<>+6N?ACCUL'PG?6]-95Q^&P\5%\M#X8D8&06D<>EI)FF#(E=4>8G)E MM6D9EZR&2 ZZ6B ;!/TH##IRL+EFT.T1.SDN@ OI;[5%AF33&;MNTSW*QW/0 MK=MHK/1V6^G'=\E=X6OKN\*+!N\\K.4P#=[7]S14UG<*9G+I3/K25,M%N1S_ MTYET6ZFH:GJ+4C8]BE_+5W2!V:'3R1991MRBY!P[,6S9E$>TKW@'-/5@A"PR M%Q,<;>Z*$ABAG/(9FI>I!D)E$SS >U"3;C)$.A=I ,A6.R M609MC^S5,@=]Y&?AZ +&&T4E\^'JMU8U[)KZK0@U@0AH!?AYH$F'O:HR*S:5 ME55]*XI-,TY**UKDP*2DE%C=DQ+W&./T"LWW5^0<#%F>^? JU\N<] MU/('GLE6LC0&@!F1I:GZO8B6!\=VE@WS4)0FEJ-8=)TOJZMEU[O9YAQXN6=. M2X?1RRE3%=9WYFO*:H.:[;7S00F*>_5Q^@5F^RH!7KZ,GZQ%(W[83Q0N'Q'W>L<.X<#3WLHX&GN]>WT2("M56TS:87EM YDV HL0*344S M22ZMAC Y<3<%0:5F(1V'H+#>-E]6ZKP25 9U3-8<[';H6@>9[WT*%$27AJAR MU4.H]%'UYV4=$*8!(+Y%:)H!B_G!8=3 P+0G (?.K,KC&R/]X+H>$G[KS7<) M@-*TB3MMX]A@<$U9M81C6(EP MJ.,@?F1#!;,4JO(^)C['8H$3>VZUOG%MC<_Q:L.P;XZ_6 ZVJ1I,J<;5??%3 MW&5:UF16V\4V]VX0LM2?QA5X;:[5RDK1B%*KG7/12*J+^KC^Y*B5 )G*6Y]7 M8: \2F,>;T8!<4MU.NI3=Q$6B>;O9M^7%U,GN;3+,V]V)[*ZE8\=\<#,26P7 MUW(-N5+-ERLB35[PUL7REGH0WL*$V'(U7\K&E-:S/_45\[2.SUC:(1A+Q?1@ MI9ZOE?,NG/WEC??P7WGGJ4[D&XMPS< M*ZMYI;2WP< %]V[7O3I;+:H[MA2>\9;R$IYIYI=R* " @)5)W_.)[9O@ $ZQ MA3*[9-Z(>IY^@1V<;X9TY%-=:MG4?9[.3@>E^_L;Z1-VT55*7\)KV"?YR^=Y M$VC,SOA+(DMWPZSZ1]5Z[6F$ME;15UTDR M;>PJQEXH/5-[!J"$>]IVZ/!OQ+0QL:QC=V&-\STEWE&5=:^).?V2,'&;M?B& M6_*LA;*+/;9AHR$J@Q+J3T%.]^?ESB8A?FI5F" 2.^ MH%EW1$$SJG@E7IC*$[P:G]7U*;4D0*\QT8'JEMJ(1]>\BW5''<'3:=7-*3?_ MOQ.;IL/,+$L*TPQ=-G$-B51WJ4\EEYB6ZQ!#\LV%_NW!([ M_)3)@=>A V\H M.*\V#=YJ&B9QIWGIYI\]"9,=PQ"2,9,*/9-ZD4C(2U&L"7#9'3L_B0WT]T\B(39M*332P?C:ETFH1STPTL#;X3#R\ M#DU@YH!;UPB*2#[,!,:V@F*)K@,Y@?3RL9# E)5U,F)AT@"[["*D0W/R#$M8 M(Q^(;8/-I6-;>_C6,+VESMNA>O_FFL8SG0/U&3XC)?Y$LL:O)'SQC*?#RUMO MIC_3]HMDDD"H+R!LC6!G5(&T[.&"?0>HS0PF6?2#9:Q9+"X%YP-X$\O'?1+I ME9*?JS>-B/N3^LB)!NNM']3(3GS+<7Y*QH2R:1OAQ$J)&,XX IQ-7^$;?R%U M"K=N$9WELPX7W^&%![+!9KY1 WC"R$N/S6@*QBQM/!K5$3UC:4O(9PA"-O]C M-+90;B..73H"R8"WS!;J]($VPT<:$Q=_PT2_HG2WI=K6&!SF]+2TD"'HB622 M[1"30E?DFE;*-6KRZFANMI5DZ]V0DG2$R:8:'NKEM?IJD 09"V6SA[:;AR0! M"LZ:%J7; -%;H7=92H#@GK@N31FKFYISK.Y9R36JJRDER&V,ZX,9+@D-UGRD MB- N@B>%DHJZ+%_<5C>"-I^CF\S:0B'+T!V*3O#"GX>A/+B9C";!^!%KNDP3 M0Q"@,[H@X504>%>R76\((:;;OT5CU!36C!TBO^ 0 Q"N.F4IED=N3('C) M52U&P*(!O$*"^1WD[@8PWIK>V '9]QN0\/C!\6]G]@PU9K57 MK['EG="JC%9<$'T3NY&FM%ZG].3#$,MXI9:5E]H&&3HS9D0;SC)UI"<#!W5-!H29ARZ^ M](D:9N') 0,+"Y3:ATR;"))C'A%57IA&27\\%? PH MBLW$\@MSEO.5F"A4'KWM_X R0ETT1)\?XZG2F$S#<6KP=1^V3,#D!'P&TLV& M'4D^@/5E9@H ), 2M8!"V$PU#U;L#:82<(E?T,'Y [O9<7\R4Y*,393XQ$ * M96_!NTVP)48V#FC3+6*.0&&&J$=UT:?4G@O0T*X/20%G!@5XV=D56!V\M5*$ MMQ7W7=P4KOKZ*5RX6J2^S?.?T+H6H[O.?G37(MJ6*A\1<>$W>!13'_L'I^8X M@.0:H/>II!:EI,6S'[ILJ\6R6);R?G1B65D=G1@^>'40X+LZW[B19\'S8MZB MY+:L#6:V6UT]P) 10,PNU(@7 M.].1N<@8N!XA)&8!##05O.#\*@AF;#OH\5SFTHD2X[1*C#.:MBSFTCEB+ETV M\"7FTHFY=!DNKU@ZJA2E]*+<]] I?Y4-A25'.+=,EM M)$D7?158=M49E1F238"[-#?-4EN/[J@DC:3JON?76) (DFB! M+IK*>_KI[ M!#827$""28",L1Y5DL02X>%;>+A_SEPVXQAN5^ !IU,/.Q* M-A70P$5RV%JZ^?-SV !!8O2AN9XO4"<.:Z"-:=HV.(&7RU2.$,C<43@UJFI\ M'T4PV)%3_AR*8$B*H->O"BRJ!IL^Q6$IAYTBM[PU&(V8#]TO5RY(^7X.;C2 MN+GK=_7.\V)$C_AQZ P'?#+U=4"-6 M<8B_:5NNZ^7*'0"CS\&5B"C7UE#4[[M3IK%R=+PM7ATVG4PGGSPGI M=S$K3>]7AAG5L,W5I7/8^;,=^CTLY]2'Q\.8JL.FO4.B>X0 S\K#E;9%4)[I MD4KB_#D/_?[-7=?0^Z.C8?+5?NE2N/+\>1+]PWCT^MEQ+P:Z])W7^ 3;[*D5>1=[F7K5?KX3X[L9CXR'F M#&''(-J9Q$Y?!9GQA=%#H+HI&+X4"RD#-X!P(X"?BU&*XWT%BH,6WI MV:[ N8=IY)%($?-TYA+63?Q*)E"0'X\O SNGH Q1SSYQSEW<]>'=N@@UAP:WM(^N)IC+VSJ2,@(15*\SO+@9:X7)I0ELF;HC[\E9++ DPEM)S^T MN0 QY_:#1#),5HO(;W%LR4"(A,OY4X!V6T 4(G)S-1"0I1"KWMH!F\U\+G"< M$VRG#4!.F.B_"B0U:*_#5=52U#[%80W$:R+\8F !=Q8S:K+D\'GF(4A33J0( MZCN0^%#!=0$Z]8:M=K]?-^PDHS4TKGU051KGO2=H%O\4#^L98(B,WJ5 0ZT@ MIN>VEO7 C9G8="MU*H M.J<.0 _/7\L\P%*=GM[KK/?.:@RJCI)#)8?'R>'YCW@'6/HRTON]DZ=RU40. M3[";5#*M9#J5Z?,79P\Z-W>CGFZ,JH)Q.'WCZ O/.?M,G60.]>Y5\<1>@G?^ M^O,!MDT;Z.W*ZL]KD/:D."SEL/-7*@]ZF)&GMPMZQS6?PZH,C2EN'9Z_@GG0 MI\V%8=9%'UY#-+&*_'85QU![GF8!4@T&50%2-22.H>10R6$-2T-A",]4&EH3 M.53Q1"73EUT%-AA55@7VC/'$>! QX7O49O69LXQ6ZF"RTVO>NTZ4K[+/N%6Z MW<'I=AV5;J?2[>I"2I5N5ZOE4.EV*MU.N?"GC\2?'SAPV*9FDL/.R;%Q:K(M M5W*HY'!-#L\/KS@TY(E8@YM)JO"8DNGZR/3Y0]Y#DXZ>1OVC.T"J=#N5;M<8 MP3L_BM&P[Q*3H12'C:-@JW:X&W'K^@[IA[^:N M8^H]LR[<>@W1Q'JDVQ7C[K6W0>]=UZ:H"@)=CK*J0:^^8;^J7GV5+W2]0Y9* MU)6H-PN8?W@B8/[FBOH9HJ)*;2BUT2B,ZN&P,HSJ6JB-ZP%]-4P)^KH*\KKD M/O& .^&:-X9!$B!G (P(9-<$4QM;FE>'/5M:4D .(MKNO2!TWR8*;#Z CX$>,]48&+:F!"2RTW"#*\P MSOEZ2C$R"3 SSEM"X--_\XD&O@H(T(/'$!;S(1W30X"D( M^2(WH'Q7R3U'T=*D7I K"E<&O'A=<\"X&;399!%UC<-H$ >36H,U!341P:Y\X@7X*G<2^1(BEX-(+ B9-J1]NR20 MO-+SM[Y'/M5AH"?D'0B8BFR-N5T," [O7GU%YG(==.J2N[CZXHD")#A^5087 M61MSQP9:(LHOL 7<9A,8\@ZA@AE:\.J4_!K2/8CA7R=25>MRIEX4BJF&<\_2 MM6 )G#%%Y05K@L8!UAV&\8#XPGJ6$!/0<0PX(0$$9J!AER$- 3E-WH4+^V=D M^V+)!0YS%!"1$C*O#$02PDM9(BO!%C+L E2-)4=#)&0A_K8 FMLB7S@VTB# M&0Q!\(;+B$DE$1X]_T=,-(DIG2,2"P)O8M,")OQ:$6IQ'?7T_63B(<0SL*3$ M^]THLNZ#YR!+ANDZ/H!"]:) :$K[STC@6,4SN^')2IU-0 MQ4*F-XV#B1%8]G0*G(D\-^;A(X)AB]>E IA[,?\)[$UHV"2YB!H.[W=0V;)$ M,B06=H(1'B)WQ:-ZD#+EV%.^*E(M3;M'7>#S(')"_!56!C0"#OD_"&OS7V\6Y ([T85(L<$;V/ A1-[F5TY@07/?\+3 M\/KX83"7MQ%9+E)QE &_$!GPO !P%E^)9HQ&!R]*@K4:FCW"QZ;W3%+Z2%6? MXYL'YB OX1+&^L];@/8#9>&D0Y.(VF'H2':%ZX,(1I->\0ALJU58 U3D@7^T MV=AV[/#I3;2(@,] &;YAX63^Q_(^8:GOGC37@C$^N.\D5WR>?D>G2(SL"RPC MSSOO4_LGMV[_XKZ7^.WMU&\?W=S9"WP,Z&%GS75O:=^0&EG&)GK\.OAFJ]?? 19K1OOWO!%S^B3-?$N MG_#%F/MB=Y<0(F]# MD:@2GI_4T6FM\8[[I"7M],'4+KV %.!+6AG@JA2/_M=\MP"Y 6VGM[ Q;2DV MW[)61G"F_@)&>V4U,O_.DYJ[)1B^V['/V8];-H7!OF3.(WL*8^TY7:3JM9/*#@LF+K3ZH'4_8P9?D9.-5,!Q6F[%HH%A 1_[-'O8GG$;I8 MT_7,6_-FXZ_4-:-V7B_Q<:SWBG:>5]T&H]MKM8VR31PV?=_I]>K7<4(-ZAR# M,K>__!GJ4D>74M]++DGB+.Z1<'*)9/F2B[F))!QL?O2-]G5$HFV5T34LBBXX M8ZCW$JSU\,F8^]L5_!;6D[O/A+UNS92_J"BQ5?_6&^=9D5^K M=M04>^_/WIT*V!M;7'1;]4>"K -[7U6M?3Z;3%7>G\Y#VM"&I#(/"7N,]/31 M\&@/J89%SXI]1AOZ@E3&/GURL#M&3[%/T]EG@Q_1K<"/&""H=.OH[J^*1VK* M([T*>&1(OF9=S- U!-?%06J:"J,P#6H<%U05BWLD25?FUHRJZF56BVI$)<9* MC&LIQAL*CRL28QA?51A)ER+&!P103R72#>+<8J_7.-KI[;81(;C3N@ K4X<( MK)*/6LG'J +Y,$$^AJV*L7:O53YV[&FK[)ERC5=MP/QXOOJUYZZKP9K%T*:2 M6F^:5/'**ANI?^LUX]9L80G)_ M[JGB12^2^F5'EHW://@MKH#.O>DMGW*"F9"SEB_)@FK 8"SN(G!!KI;R-7,( M.N';G'.L;:ZF3#&'+;/NI^PNE$7LGO#>M9*"6:H6^PY/>>UXDQ^I1@;^YZ"H MESA"/^(U+?E"UA0E752#*XJQD"5@ Q'."RM>)WGFN<1ZKV&W-1R8%14,=4?= M:@J&S);9V?ZH9ZW9:%12>*+Q2'Z#J\L/C[4I(S4>UY07MT,\9P[K%46X=DV^ MWAYSF>C5AM2,G6;V$R\?R>I20+H[//H,M=1BJ9XCQ5R"Q8S8QFM56NYZ-W==W32.CD"H8^G]CZ41=&>*X(\"J"DG6MI86GS$D!)H M9D%FTZB=,R#80,E[<6)D*I*^KWSBP.+9"-R)8$OQ8I46QO[-W4CO]=?SD7\K M:_Z:9N1H#WI^!YM*ZG.(3=W\-KDJ@[?KGJV1W"MUPZLD3;VU5AFEM:/Y1:5. M^@"<]*YN=*M*8JMB*2M"K[ZTN/6AP<%,9%A%"%6$L$$1PH\IYZHPH0H3JC!A MC<.$R2E<:1=D""Z(;J@P82VXI !X,A_2<#;H9!4R/'?@(I% N89?DR4L+9*C MFSM#[_8'1T0M5/1P;\;X@#U56,#CG)+B9 \=/TM8>W]=2E44L3;Q^T00XX6E M-E0LF%,<<1F6#ND;;93'X?%]Q!L:2CP+;@!ATF?: "AK5S\!HT5*VR($1;)C MW-QUC'5+=AV'81<9A#]5S9?:Y*H@_#%!^(.WP ;6#.C#JK? =0C"7V@+R20H M'[?#FC-J?@-3MX,YN.-+H.K$ICXX,^:3T\XP?$]*$3LV@&=HV;"=]K #:;:I M&W647$G.T64G/IG6C8VAF&LQQW-Q#X"]'ZDO'.P61*,;? 'VM\&>.]0]3I?- MQ'YF&T$%FLLY)HDS[''D./A?BX?,%EGML\AAONP,1HGHHMU6/GE(Q/D#["/I MS6 H,FV>>E&UM'LY4-]*AHF-A8*YYUC8%(\MEXXMF@2MS#C;/P@N]T,Y#0=W M1&MS:8&%B;N9 9T#+QX^-6\4K:+YP5Q$M6V-YX,Q":'%W*5K#U"TO82E$F[5VP'XTRU6]&E] EUZ&5?HU;>!6P1CQU M:FR3D9JD.RSU$&34]#9MP8=]''^&' MD^)/G6@5/[NW5FPN'OKL;4;=_4R!W M^6-.[!(EOT'K.@*W]-126-1]Z>9.=$]K:>6*;/[A>=:C[3CWKO4!EM^=V6#( M19;^6SN8@%H#1;E>7V/T!1,"5;EU'\KO\/'YJIOX\:15Q?8Z?4U2#;#B+ZR6 M#!7T<9(O*QB">5.RS.C;!&QWY/#/TWBP!=,=-+:<2':&$HT\,]TD9_'*Q)F* M8S1SV!-/)AI0]^251E.7W6>J-VQUAYT:-BJJ9?>DW8.JLK#U#!,TBW]2N1P[ MSQ-A-Z%KW^-&]3:7&X1OLE]]=;UF&D66E?[TW["[)OJ(>Y"CRGKP2R0M0<2= M(UT(7#Z5*Z3:8EQI6XS!]BUY[$^7WG5C=E!;[_;KW[! ]9Q1PG4BX1J>2+@P MS\?4#;/!O6:J=(>4H"I!/67>[*%R:DI0R.'1:0S/(:<*L^OTF%V*O&?;++[QHAGSM67D3^:8="I+TNF$.LFD4LENIW/F-B (KQJ)+W*![I/UR26Z M92W(U/[)K=N_N.\5&0_CYHZ* LU7-4F"4_Q4;:E N[W*40', /XZD+766MVUP]UG[T:X!Q; ,6%>W+A6A9OU5S8J0D77GP\^;WGPT=7FT2^S]W)DQ8B MOHTC#]T72R"\*CSG8,U:X#\_L[V/V*O,Q3\I49PL67CB#'E?:>A+MUJ^)=E/A&A4- M:^Y5%Q\-*ZA3T]9*U.J $-?>5KESZ4=*U1.HWO:TW,9[;;M0T:G3@%(O.D95 M37";T8I,"; 2X&<6X!WE3 <+,/8G-O3^X.COB\B:K@R@K-/[O:)^]!)'4; Y'4G:^G99,_(]NGQEUTNO\[GJ@P MV]6^^'S"$#SJX\'%M;TO[4O D M>:,X-; BG^K0YJ("G&L+F/4\T+B+!>CY?5?:O2P[F- CN"O?*E=.=>,20$(4OV(=R-Q> M!@()@&F"-9 :( ]L!G\LP6 OQ+OOI>O/F/ M@$\CYZ,]S1<& UM/7L("/W'FI[0P;NYZJU*IX2677/Z>A8209>!!6EZ)1V>V M3[64(/(\&TMN[,66Y]I3S0ZQ MT-SB")L P[1$$;7X%OB':X[] ^O+X6M7<[U0_$X#@&<) ?D*B8K07%X*&=X M/X$PT(U42,I\_XE4!W6\;FG_ W.R0V#/!WS8)/3\0%1O$T*%*-U.!@;JB%,M M\#,,;05&PZ)KQ'FF@-FC$'.H@9IQO860(=F%)6ZIB \;1R$-R[$7MJQ$=QC8 M.P3#^$%H'4&T7,($0'D0-@8NX3Z5Z))9)4=UL)Q\Z04T@)="-3SPM*SUUWSE ML33%[?06-@ZPKFSS+6MU7&>2&L-8H4[FW[F?5J'-^.W8Y^S'+9O"8%\RYY$] M!>@/9"OR;?',]OUE8S]^I::V])Q28.Q76&U%BJ#UK M2_LO[Y$_H!:'*X)4&TY@C&,.2FN)B#$341%/BAZT7Q"-$?:"<&.H1K\%WM]. MI2_!,Z0;"'\SV:HV!M[@J#<%G>&;/XMT]&;_+IF'1,O)O!S&Z".. +A(CA6_ M$PR0O%*">!!@#JP=AVMAWE/V $PV!ATIT(5CQ4L@/,(%JLA+.!#_88M3M*'- M;*> 9SOF.@Q&+3EXC_X2"+KDN>2*2XY:[3A1[-RFB!'!94-&='NMME$6A:$> MZ QJ4#4>E+GSY<]UW%L%CH5I-!-6H/31<&U7(!/O+A&CJ_?JQ($*348JR!&X MS\1)Z(LO(E;RP=7^+\8A]CG?WX="5T/E?V ,BRCY1FZLZ<,_<4.NB%F2F/>3 M2;2(".QNG5L5,4E<=G,;6M(J-+RP\N$?!/FG+ M>]Q_J#*I[7GMIH.4_OXG2*4.3#H(G;H1 %-A-RG4BI,E(.T ;]H2#".7L.@H MM(N0%<,FX%4HJ5)2=9J*V,/%*K,YR.X+B@2MAUFZG>,+792,U8K5KE;&GDO$ MJ%OZNCAAW9AY=)9/O#A#+71!R[)8@AR.M!' M1_G(BKLN3%N1]U>.D;K8A;>M&P401'7252I"7LA8WWUF<4S0%5W=0OQ(['+6 MH/D%.8%&^S1.8-< L5NK)%#X4Z=3J\:&?LRG<@*[YLT=&.A!5>U/:Q"LNG!V M*N<#'L%/%?F 780.U >]8\ #%7-=F*XZQ 7$4RW=Q/R_&FLJ%0(L]@#C)F1/ M*NQ7C<=GGLCCZ]WSQ'A]0U#KH=U;6>B\K3;GF^:O^\GS+M59[ZV:-N956U*E/QEIJY=HK5B$FW,P+SHI MN$K27(X&>N8X5Z\#WNQ([QA'GQ=4N)Q-Q,Y60GSA0ES*!SU[<+'7O;GK&;IA MK'L>I8.+2J252%^D2#^/1!\0T>WU;NZ,H6Z,J@KIUDN$C]AO;$?4WHI96BER M[P9<2$+3VX8:V5%0<7OU RI.P;MMM%9O^43@ZTN$MT[.""A4 M-H7*5ELJ*U0VALK>"X%8]/JX;EZ M@YN[3J?!,"=*JI14'9O)\ASP7#WLP3E:KVQ4\%Q*QAHI8\\E8AL2?A#,H[*$ MG]/WJ+SD>CH%J77*;&*JYK"C^5]%O/ M#JG5-PE2JRCS5A77U8Z[GHNY#DC%Z!/FO=X='.W15<1-%Q^)5C!8)W;Z9U170KO+C[4IJ"KJO;23@1=U1\JZ*KG57S/7-+7'PGHJEZ] M\6 4/QWLI9V]NFS0I@#NJ*VB:PW@KN=BK@/:VK045A33>*7DK[8,1E^9JF:X:"4(@/6?GL/F_89M G)*:VN0XJN%U^:P7M MH 3LN@6LE/=TN(15%<<:W-SUVGK;* 'DJ<1-B5MMIOX\TG9(8(^*BD"RRGJC M9Q*O/+C0&HS0^C?/O-HFK386IVOK0$5(N];G<,[]KWS"[0=\]KQ)C]2GAT)D8%% M!K,2RN_P+1SX>PGO"?V($P #X@,$6OK\0!_@P( _0(C<#@(,LHDBPG!? [735 Z+8T%VI+YH>9-M?_SMZ%I MME]]XPZ\8D;IG,Q:@*()0A](\< U_G/)W8 '=*7Q"E\(*Z:]\5P+O[?P+Q)S M-/7:MQ#^LT"< GSZYR7W156/+A[MQH_#7W\IMQ?O;]>.7WSOP0[@,>\]_RUH MI' :.3$?%*B_(0+,%R2?T#A+CFQ'@5K9D5&OTO6R:EI>)'TX]SG7%C"(>:!Q M%U?T=^9/YC'L4)?F@/A#.O+&$IGA@3M/K7( :N+:\L!KYY"&[\21"WCS$Z@" M-!)V, >Z(+F8XWB/S)UP(N#$YY8=:J!A@*>U\9,&Y)^@GXKL3Y<3M(@6>K%< M:6.&;.X)OFC1=-BP80G+5D8 MW.8Q7I[\G*%;3* 2%"&^#Y2;)2I\%SYA$/OP0TKN3 M6S _FX[DP M;_P:'FN#[V&[ 9 <_@I:665A40,;@59#J.Z'49K!ZOO,DWXWJ#=Z)'P*AZEQ8 MG"!@?E7\7\K>Q7*>&J+[F!U!&[RAN7X$7OR./ZT;O*&Y:MIJ*WY3#R=&4B30 M$\$M18D+Y])>Y!=QBU2^++=.C0!K'/9:77-00[0_8WANM+_URQJ!2W6?8V A MR=I'8N!SX%*==9/[FCE$"4:V:3L,XCEA(BXI='+DY*\F:I*UMZO>=VJ5B_SP MSLW=L%U5(K#LZXN7.\D<(JJN;@R.3JNK M<$TO2Z.>_-5'-(V1O-K!@U$1:?: TA1@?N!IT.[7?.A4+FX[O86-82FC[*A:2*"%AY_$/2]!XKF/5\%P6&W&HLU]U*%_V[UT M@YL[.BY Q^ -JE]"A6=W16RQ,8^@4ZL\@G[9/((/[@-,V_.?MJ4+# ?KZ0+# MP7JZ0/*P@Y($Z(GU/)=))J;9@?: O3PLC<%&4'12 =K KM#S-9?CR1T,^"]B M*[I0UQ[G]F3.X5*\&>PV]\LNTC>XWXH $ M/H-)D9D'=C)S/"0,H@7P.A#.BM,75D^KXK-U$6 *M"4>,L+DK)>'\<1P+YYH MQ-'5H-^YS;U$0F2/ MSV):E.HD=@$UT)B AOD[,P^4<6V.#R\]IG'%*/,[ A>)_Q)SYC^0,3_Q\//T MJ\Q&*AVU&-W<]09ZK[)J0-7[B M0>G^Y?D_;F$?L_0]S-)4Y_EGMW"X(A_<+V(]CA,U3&37NYVZ0 >J6^G-N@54R6Q%U+D=L]W4B#A';_LW=H*-W*ZL' MJ&CUCH$8%>3P?/7=V M^YW["PV?2'7@7SE!4&F_4\%]<% RQT@D^!R8^H)#^> &,$(JJR^8W; 1-=Y$ MW!")2W %A'$0(&F]:3ZCYA++MU4.C,J!43DP*@?F.8.O_,%S'C!#48)C3-G$ M1JP5E0ZCSN7/O&?_" __/!68%Z6=_Q%"I8/S7Q7@OLI[J16;*?DZ?G-]A'SU MVNV;NUY/;_<;D5=VQL*S!E8DGS4CE\J1J2>1@'6;TE>$&CGSN0!]5/D[YS+) MABJQH.7R"*[\:/W8Q'SYLXTCLZ/5%DV>_;E]4+F MG#.[YC@'M-DBLT.K8O#VWK7>L*4-BT22\WGL(% IHI>6=LTZL/49ZNWAT1EL M#=GZ*"ZL1'%7S(5=VB"8 Y4!7P?U_Y$'08+@#,L8^79H<^5)GQ"C:U=TRW-G M>(JX7>QD)7N1@/40P'T]M5(U7FXVV^P*VAS+-@ACU%XOEGAVMKEXCSL]REYB M9ZH#842/#_D>D*]R73'A*@A4;P7T[&:KM+4M.CSZYV'\U@"&*MC ZAPQIZMM^*KMEA M (L KP6:8:N?P+9LAG4CHA_0!(C);) ) MN9NU%Q/9@0@[2XE7REYBKSW?1[2PN&/8;[I&^44$OA5Z=.E[+\+&,/<+T;Y* M9&H&(:5JRE8:]_&ADO8B\_#5'^-W:(\V/._+IS?::^;^T+5/K?N6KKV!K?1? MW UR7_Z+.TZ@O6?^S(N_)^EACG8?!-[$ID\Z_89DN2?68?'M.-;7OW_6_HOY MOAUL>8)L7K0R8!T1?9F8MZXM/,N>(CD)>\RW/3_^#3L8%>?_Z-2*"G1! +?[ M'+Y_\'Q*HI3$C1MAB790(;6,PN]E<.%)F_JPFO?P.D?KM&7+,+BW@)GZQ9,0 M /R6;#G'=J3[FL.B@%::$XMZ+:>Y0" F+ZW(?P1E$7 W55>CF[LI,-SM$V?^ MJFCKFRDF.DPMX37(XFP&TZ!64V/B5+@AB)-8$][5HB62I&0CN%%6B7_X]'[; MN?Y[.;C?V4][$2U>QV,!U0Z_X,%,.5UNM&'[",L).F>]=1Q)!T,)=FP@0CQ= M_F=D/\!SW/" ?GRC8HLUA67-310!?GT+.P5P9$#^$0F\-MW/RP/: _<,X^;. M[!7/^8_6MQ9H/L=AONPQ!N+*'ICMY(1EB\(;)]Q@Q\W?).L4BT6"16B[P('X M#6@$QX.'3\74$Q[,BBD,A*X'4RY>D@QQXBW@:M&-C8!"1:)US-7C)\FE.'I+ M='F#%YYH&5?X]8,<\@?W33K*TLMGBN[.1AP'H40[%R M!",EQW_: 77V(Y3+1\U!W>J+_ 5\:@":.IA*.F%;/6D-TZYY+6W5S)JD&IWJ^%2$MAOE1]MQM#&8&%Q-6%5LG1%J/HA]('M!1DL@(;>IC2(^#[^E"Y#/ MD(SBP]*)X+'+I0/N \JSJ%<(-MA48&,G0INZ47XGW@-W&08/5X2XT]Y@>$B* M\]86[.68^Y^G(AO 9LX;^=1@W0:#!"SLU=^.@5]"F-GZS% PY> M:B_8;YI4'=H_?"\(M(]+^I@%ODBR,GW8__=WK#]_?WDL$7&T!_*NY'G;HA$V.I;VP?]N\ M1"Y1=WV!C/T7*%Z/F#Y$'DFZ_11L9HVP[4[++&@F"_)NM-IMX< !OX=<*,H8 M ->3S T2"YZ8Z VLW4_ 81!XZ=H7T8II'^(+I_F%?0CAS#,1#KNLM JP^783 M;H*'>?C--KI)DHQ!*&R7A"+71OF]_1-W0G-0&,BKAPN*8.5=W)]]W7[RE!.. M,1<[$>*6TBO<*;_"'Z1>CBDC5EH0LO1*X[%+J[U91%JPJ4MZL @?(&[$DO B%OS)FE>5$(FV(7@R+@NE %(WDIXF9L M0[P$(P\,#FOM/)7T_#HG3$(V!N"7%T)_K?@3JK5#KK5#9X4ZA[5V&)Z\M0-Z M![= -%S5EP)=_>E5&9_O[/T>3]XSU+@/PW7HY>?PD--FHY!>@4>F1AU21BS?4FK*OVMCVIBJ545Z &C9A;-?P?G@6N_PW7S0'N'.PG2Q"FHP.XLI]HN2297 MH\0)> L>\SH+0]\>1V%\TORQ];JEO?>"4.PD,5SX MW("MEYQ86#3%RTD-W-%2'KCO S'?1V"]LH%:$]NAZ-U.54B,-2A948+0)$$H M58&SEJL2P/CAKVI% G.*=*-7@TJ+> MK"Z;K%4H]1IML0X<6@/YN+$;K'_1!TQYD9DP%$ (LOD1JEZ^FOV'H&S)+4B\ M/O=B>>(40SJS"SX$0<0M.KHK[8J96!*M#_JJA=R%,M:&[/.3,U9',-:HWHS5 M0!NSI8&3,:JSC5T:7QYCTH[F MRUY5=NU\?-E H]%'M$ MB1__98?S]YX_Y3;]_I9JDEPK*+)C_9L[TZP*H+)A_M/E,]<.%ZE:YLIZ4%,L M=+O]B_M>$=,-;NZH),Y\56O&:Z#QV1(EJ7E4(/:/EAZ6V(BBYG3[?U:8UBO? M9QVR_Y>%(VN;K7L+2QT6Q<"ZS\OAJG'OO4K);C1&/PK6/)SJ//74 \@ITTF%1\4U:J6S\L=.F M^./H]!TNFK:INV:>/"PB7AE/&L\5$[]6 WG^ 3;[*D7>>KEW33O.>7VZ5(4C MZBSV2+&\X!*,?6??4$,?!58,RK'5 S5WP;/(8^XU6*Z.>7/7;G6/!B8OMQPU M+5E2HM1\4=I:Z+1)ED8KLK2AWFEOH>J@4)GKJ(:E*YN>79YJ[T:U6O9*:5-ONW]Z%UIR?I&][Y(3O6[O3]#=IPXNMA)3 M):8-<,^W"&SO: >]GK):>P?H_ -L]E57UGOM^YS[7'O$?XXYH&VOJHI[-[3C MG/QO24K^NY_4&L1Z[WN+-RDF[#I [CU!^!8=@O5!L:Q#W"->6]D)[#C-.]D, M!GB,MQX/A#F$]FU:QR R$6+[^SG6SN8P%8L*H+B[A1 <7<*H+C% MPS1X&J9<'H"^W:DO^O;[':RJY;A4L&6V[82/0/*R-91$H0O93XW_Q'H)7KZQ MV\[<;+&L[\3S7W.73^U"@1W=W)G#T;K 8@&'C^C0/^/QGF2,B/TDU VQ RB9 MSTLN$/>#UQP4!$_F@OHI]!FVJ7.9__0AY(O@D^?B2WW/@26;Q1U'RB8?= E? MK3_J%NO>_)*-!2U+DV-?6*S]UZX+PM(K.'S)KAV&5WAPXL'68Q%-1 0;&.L) M)'D#H8NF0*[&J;X.S5%F=45_L&GI!CE9>JVQ^KOX30D9OL)KBJBUWZ1OS736 MG9N[?FM]SK\2YY:ALL\!*[5%K70W]NF+<15,VH5/_(]BRA+M= I?8? MLS!+W\-NDLA".H:#Q]3=*NG/%' 64$-%5_3IA/=ZD:^-H\#&%G.<;HH<4-A. MX&DV$ H[4^9&MLHFG,%T_XR8#SJG2L^QVS3/T6B7=1U3C_'S]$VF[O,KMG[B MUALO"(/XG)-;7]@3=?Q<]RZ[O77OLMM;]RZIPO26'J9EWW>0IRE>4/!:LZ;^ MY_V)W,I[T";4ER1=U^Q*2(>EM.'&WFYZN[->NT,V[#B_ MY; )K(\1]K7#88%_N+^=2?<%>8NVI6]=Y.)2@]+]:],"DROSR'Q+-D_.=;O] MB6\A _% [5'3-G0EJ=K93M5WBZ7C/7'^C?L/]H07TS:I!+VGX7[W1-UH\COJ M"]!$_Y?#2^,YE^:D(?KQ V/=)] :VQ@2@:/E!(LS9F5[ M7IV*3*)9)>Q0Y5=XG5'8JQT-<$JM$?94'*WJ3[+2R$Z^%\WFDHL-V6B^FD93 M=52P>[:/Q(:/I'9CL;,)WTQ;1GX0,3?IA(W-I[5W?T;H'Z'D@\^,E:D//&>[ MM"\.S)3:2]\47HR_W_Q&7]K"6P3N!U_'\W7YFG9?^[QP;7""]GA'?*5X;*MT M5+33V] &-.D*5LC4][Z/+A\Z *^?UGP"XG3163[XAX_]-S^X@J6I!?'.2KOT M8*;7+E^)T^G7>TH&.FAK^JR@$SLQI2?>J6$I6+8OJ>BJG6F&G>4$[(>]D?OP M*^I[&D23.3$=AM39E@;8A6U,=U'Y$-=B.^',DOC].WF[^B'"WMW=>VVW^7F^ M\+E1^>3Y('$58S]E4UP=/9/JM?M:S\K3*7=ZXDL;S*4]V6O3X][&!EE[:P.= ML-3R/>R>GV[_20:8R/(5_@2CB!\%PHTPR_4W9]]LW/3_SIY@98VAK@$_W?)X MOI:<;P#F#,1\S+DKS!GN*621Z'1#VVJ1HR68S!7[9VQB35=O> D=P'&'$QFE MD\I:;!%:(@ M$VHA;B\I9(Z)?ZC%6##'E_[=\R4SY?0:3C(0;C)R&3[TM0<+H-EN_% _WO^2 M5@^N27>M*25)K8']'KX(_1AAK&)^#%ER<65H7MA38"40K$%?,DHO+N# MI*/SD[2_E:2.Y\YN0U"Z&+B6 K#T/6"J15"2T,M",FXCM"!QQMQ*?L?0.\H# M15'&V/_8Q3PS+K5SSD40,A0MI1)?=2>R@R(?EDX/O-SW"\XPR!S0.\6[ I3] M1>2$]M+!'P(T"716( \,M:[\\SJ6JCNT+5S+]S/Q[-DLU F?J<_;AE4QCL2^8\ MLJ< \]&RYA9L;9: >\Q]IYV:3D]V;")R+2W<7A$#O10L!U?!<%AMQJ*!;@%E M][?=1U:#FSOJU(Y.&I[IXF'-?_Z=W16M\(&-XC_EP #O,0(.]GU#?_C>8*T_ M_.:SG#J?VJQUCX\6>'[\%Q[=SM<=![W0O=5+>"<:DY1=ZRN_A)>AOKC(OO(] MH]4?# I_4GWEU: .']3V1SUK6_5&-0%/MZGD-M%V=(^ZODLD11S/20FQLAN_ M+G)LB%40=3;%*ZZ+0DDO-0FW1:2ADR3M+6YLWS/;U_[)G"A?*7OQ]<,9A#'< M]H&O^I9/..8RQHD6G5IB&NY5@UB_>KNRAZG=]JD.4T4L\(,+)B6B1++/&.OX M/F>N/&9--A>?9&KK/JDCF;,XA _N=_71H.(Z7-4LZ!+XVF@L7V.2CZEWV^NY M:XJMKYZMS::R=;]]09A'@% M')@V*KA/P6T*[5**1!@1?[LMHQ'^UL6CD_Y#G%/7I%/*"MS%E9AC/.(_DSG. M)ZF6ML;8 ;RCM_M'.YFE6:%9_5>NDZ^[G5KR]=;4Q"O-\?ON1"G.( M$$GZ8+B.]:3T9>WXLDFN=YXO#W*]\9"YTZJL=Y^*UN]@K[0/,>5XI\5!LC9* M0+^(@G \H3EG6/^2I+>L%SX%H3NAY*9L\-[SDQ))4:+^3K+ =^^?:V"*6]V@ M0;OJ*%'#XD!7P+ ;W?-&,JRA&/;2&7:CVUXCAEUG3#P6/3Z_03'EN9FRM--> M&ZX\Q)L?=)!M6_VJ NDJ5+Z#[]Y@(8SC2,@A666O8N<7'#M_'Z_QH=&@09

] M)H7(WR?(1\%!'O5 >-0J/GZV,N$\&'L-TMR+>SZV\VT?K[,JK=O4JK0!GM$. M.OJ@>W156N7,TH"0D9*,79)Q,OCUDTM&967(2C"48*P+QLE _$\M&$,L9.ZV M==-<;WYVI9)Q9FEH<"ET]01JJ)K8LH7L-+%6>FA0@M5PO;%1$W7$AB[D>3S> MHK[D>S;?&S2N^9Y1MOE>PBQI%[Z"UGI#<[W'W=!<;ZV7HHEIOPNTY86 ?SV@ MLYYX?L%;ZXS1&H/%6QS!MK&;I&@$BG1Y(+I@4T_1L1//Z!S9^]*&"P40JP2X MYC\GU-T2NX1.N.C)]D@]*<='XC-=Y;,IE2]$'1!,"4P>"?I MKOD"6]7^M$/QR-]BB&OXY$[L)7/P 0L/^[M9#Z!*0*5X4: !<__@88( F[PJ M?2ZV"\76/X24+5XMU>B8AX_8$D0^8\E0CN%5;@)\G]!%8(0G)(#71 O9>H;F M7O (28\HX-KCG+LT+8K3N 6CU#&WT8ED("=].!M[4:CY=B# ;PE(%SX@&#HV M*'*I7VG:!C7DD[EK_QE)%'&\W':7D6R.%U^V-CMM;H..]B?S)VR)FLP2AIWT M42IX3.YM"%(_QE86 EO9!QN5?FYIG]/?Y)-\/L5.*3'E+!8R> +V+HA;U-JN MQ9?88M!%Q1SY$RX:MSH\]_#5!Q;AKWN/^34#+G_FI,)O'P)Y2&*!#YJ1+?/?M G0/)KX]YB@XCO?8[,9S],2B_A[%&NDCDDTS M$I#FYEHI"N^#T3Z,;(B6OI8168DD 6M7ES4P MS[L&&>T@Z"U1OZ4TK6B3G)"AXIEXON^-$10>Q>@IJU(:O":=\Z[)']LH[GIA MQ52OD1;;Z45-')!_:A!.9I#ZH$]MEX&?$NN&O N"G;VE.Y.SM(D;9N6]*S $ MV#>'S(J@O2 ]W)+M32Y;<&8,RB+U:IN]!B4EYMOG]U\3G0$TE5V'N!8\LF5P M5CFZ%3O7[]A@WHHFHH&<[-E.#D-VN!/9,AZY*G.T)YK0._R6+K+X.,SW?J*. M9S*MCB">XQXU8+5PTP[D1 \'GK2=4*(%/0BW3>WGI><;8F]>O+E^K;72'SS3J[N91\^E4M,W6 M[J,92)K@(,/41;==G%3V!WG8:ZXVW/Z^MK,3COSZLN?V-M("9[2_Y*+\K6*' MX7/9:T-L)+$QE.B[S8@JZ\VZA7>]9-0U3VB_N*MBTJ(IH&;A21]6&F3F5V'S MI0[&5P4:64Q!#3.K;8N<]RV=R&E*,=!V[J>.OI%XU/4QZ3\*+\9=A]E^E5,W MV!?KUOYY.[&C2\$V8I;7S*$66-_FG%?6XO# YCU)Q.F>:'WO6A_3^)L-6WS1K-J9!JU>[ M7B^#5F=0-SH-6]UAYTQCVOQ]I]=3G'GUG-G9H>F>H3&2:32SN\N&\Q;LC?V5 M+SVQ)<$SP>JZWTB3B8?;*R=Z.[)3KHK$S]K,J\P9:[V)G237DKNY;X+M/M._ M&A+*F+^BVT%T,Q7=#J+;/LVR3FQ@+I&XV9YDL4K_<_')=(K]R0MEBB6WWCMLEL:PASO&T>\]TT!&-WC7;BHC/RRTV^N=GV6[/LMYT6B].DLJ?$HS;"GW0Z1^?#EUJ? MIG7^4Y)U@9)E=$?'R%8!@DM&K*I#4E2"52\64X*U4[!Z[1,;+5,9+25;5RI; MQNF,5G6=^IH@6&7N+QF35S*K9'9#4^D36$-"L#3-WC4(K9(L)5E9:VB>SAI6 M#L*I!*LF+*8$:[=@G3KNV%=&2\G6E>?%TPE61=BI0BI&=3YE M_8[UC:NE514!INZZ9RM T95JGBI)_^AYE[BN]V[V)4=7\X);M*=I7L[CHOK M7;Z5DETENTIV]SR[KL[T5I5YI<17B:\2WSV/QRLQO=4E=YU9=E5=O;JJ<5ZJ#FCO>HS;DUR[0^\L;_EL^0V.?R=YOZ&'G3*0)> MBVY6")N>Q<07B/L"R!H(NQ0=\ +,$O,F-H%6$U;^.MZV)Y"N$:1?0+#/F.W* M;EH>^$;8J,BA!\CV#9L V7V>P3BGAD@2C?M^,HD6D7B&)^#!O<72YW,$TWC@ M])H8F+L,[C:-478VR@*9)Z ;2"9XB':KN3S<[PT)_ =!KG]>2I /)&1^\O&S M::(Q 7&E$%E]YH)D6"NXX.NM]"Y)OK>TG3-O[M[+=F>B_=0"KIL'FN@!L0G6 M/@6QCZ'X4\JFRP#+[RU(7LHIEUYONW+Y0$TAD1$^T!MBGBK2'X.;NTYG4$4S MAUZ_NE$-0:MUUT,)^:8+>MRY;$VD6^O\JJUSX7Z-'P?MQC5^-,LV?OR"RLQS M[UV+F@]\\8+0YZ$MX&U?\K@G-(.>@BS>*%?A8[KI<#3:TH28$*-$@^O,TI2P1-N='8+,+]"4> M8><=<'>]%6S? "8G];:N"%)&T'!XTG&8>+ +UX KM#G8#^>)]$4 %LY' \H7 M2\=[XJ*W&VK!/V"&L8$*7E9*@+? G"ZW))?BY MZ9N]! >/F#IS;]?E;XOG@ M*M$+B C4&7$R1XL)*N@O+AMXG&)=Y?3 SH>^/8[PN0A ;XT1Y<>PBX' 6B%TRL*Z]B!:B.2JV MNZ*]8[(-GD:B61UUK6.@]9'$I)VJ;T68]W4[S^#<[G:C%K#/#VFO7]+H#I_3 MZ'9V^!1KEDMTO@6O*N=!O6$NLU@+K%76F?IO6'_+6^2WF0?39?2<=.F6=D;( MF++]G#&2NH!G7 $+MBY1(/HP@NCX%,>Q.!#*V=4)>A/SUTYFRAJ4G$NNR975 MI!M-N[-*.KQ]XO$&\@WL*C?T;NL;O?4-G=%;WS_6T@Y\PDY^<*MG 6&68BL- MLPE"V:Z084-K![A,-+9&<167@RD0_1RY];*[J]]HN228SZF(Z M-:@.4X<1;9\>-+774^/%^DIK]9EBV3',X+KD#\&& M#MRQ1$U*%!2;'.4B2C'-B-@FVY=V::!%J%I&\>O:>*GRT,-UC_"=&>' M,H>KWDCN)=D%%&R(9!]I#P*8 /RU6\+O%QY,^B\Z,_L\_0>>IWZD=/(" 3?; M(F>E$H^P!CLHQ4+;;,-I6,@ %JIJ>ZX,14.W#AN/D6L%D[RU@O?2XRC5$^B" ME&7Y_1=P_!?)\)D>H3B^U>DW$EU#RJ^2WJHWP_O+;N;DS+UE^ M:^(>75=%=K:D:L$LOEXY@IFT^3S'H@32 PHP2YNZ;,IL\/I)UJ+X1;*"0$I% MY=Q6Y&/&][9*5"U7A"H*K8D0"_8#D]2Q]4:>2#!U*MSY"7,)N?-4DA#]G1TX M-P7/WD=AY/.8#CGRO(E\G[OA>QMI\W\Y*Z12[^:N,]A,)23")63"'YC5*W/# M]TOK+2J[H.3;>HJ^2K=5Z;8JW5:EVZITVZ9GCJITVVM-MVW^L5X]\T$O/8!3 M>OX7%)_I[>AJ53J7S>S?W/5.GA7ZG$%3)5)*I$J%+W:V3"\K4@,0J9/W<;[X M..8E'_.J#-'S98B6MJ"E4OW,X]F!/N(QL$]28#R\A-"^-$5BPRAZMTVXKG_'W M!1?QFUA#=!;?^-RRBUS&3OOFKMZY?XJ'GFU[<2@/&77GH0::D:9M+*HO-+A> M!_%(4W&2+/&."7YB13E4:HM1*PY:-Q2GX:#.S5U567C*3#1TMU&8/B,Z$9SI M&$LE*C\#@>JM+8^-X^VM+O=.6>YTL07%$5&9RI>PW@=G2HB5$#^7S[._$/=N M[HS190IQ35RE]9*#RVT3M9)<[?,9-@:C/'J?_QG9/M="'T:(L-VAIS'+@]5F MVM*/+&P 08GVB!(/O\7X[?*^/.0UW;U6J2!=-=F;8U=3JJ04((\/GL+-6T)EIG:E$VP:Z3-@[(=SU* >H*E7^N? MM0&GOE/0YZQ3T.<,UU 4H5#)EB@?B18@., (0=(&$WLP%C6YS*LOJFT3(I]T M-=A6V7) 2S6:@ZJ#474PJ@Y&U<'4=TDNM*1#U<&H.IBF'B?DRNM5'8Q*VJ\+ MSM#JQ@;]_#1%HF"WW6UC[O[)L9V;%=97HG5-HK4G!%!YT<+\-&/]-*TQHM5 M1Z)IZ6NBR:7*4SNAX1R>2+K-F[O!T>FG*C.MCCS3[YZ(9SI@$3-- [;^/2W/@ M_;ON44F ST>@"U(P)U(O_9N[4;NJ4IDZYOXIV56R>V;9/94_.0#9[0PN6'9K MXECLRMLMSN3%5;*'_4FG,YH,NMWVJ-L;]H93WN/,F%I#WK7,2?M_!["YWY4U MV >.E-\@]4=G2B*\N?ODA5PS.F43R-YXBX4=8KY8<.\2GP.K<'=B\^"M'4P< M+XC\@@2R[G ]@:P[7$\@RSR>\MZ2%X3:1YN-9=;;0;E>XG4%@S!O&I;E^<7W MK&B24N1)>^,P>]&P'$\[T()H_&\.$PD];2GG],A\G[DPI0E-20OG+-28;P=< MLUU*_0/59;O,QYSNR(>OO2FE2XZC %X7R!3Q"2@G!C? B*,IEH1CKKE\1Y!/ M#5_ =7AM0"GK*Z-@DXD?,4?7'N?V9(YC9A:2$)Z&<"0B =UYTL8LP-_H&=S' MQ!$VHZ$AC G^-P"%#V/[ #>!=L45%:/8],;:(5XFWX^TV9MC;4_A) MH*CXFL]!FTV5. ABY+90\#+*(M@P-VW_^G=T5K?!FNW5V"U7$J#O:,6#A 9N@:M*^,MOQ/69I+_[/ MWX:FV7[UQY>O7^E/X]5O2):)S\$9^6YS[7<6 B_7WY!]=F6YD='! MK]W/?"[^>H&ODC<779"0EA+KD=AH8C=]OI=/28].-&PA3Q][JLX?(^V@ZX-^Q),CQ M]7O;M_L?$]%)QWE/[[H'!\OBUG?O,XS$_\+\\"E788351;>61PH4'U\4$QC= MW/7:>KNH*1)*MA>%6/]R^^_(FA&!; G2&WNK8YB\*Y0 *SOQ?O'$J92JU*QE MP5_9R??:-W=F\=SMQ8);6#F$JRWX 7D@J2+R.;KTJ-G.->=/GGOHM(V;N^ZP M>-Y+9J-=@/\%H# =L4GV'D!0V(Y-/++QCKE\2!_Z15#U._<7ZT5Q5N0G17'Q MF,$]">R?MT^<^:L[<[EU@0'!HKD37!2Y<^'3*6S]P(77+%Q*$,U-XHZUOJ " MY]I;/N%8Q"=:?2UA]QR8]^WZ@X/\+ MNT+<0:+A%A"316_0A29A. Z+]J@16'Q4W7@+=E\;<^[&W^*CIS"([7Z S45< M@TVGL'/'W'%@7FT2+2*QGY%UO"?35YX[PW7](F>2AEL$+Y=FU\YF=B5$3['A M%M6. M /=]_@O_+P '=D $MF!JF%A9/S875=HZ>:O?F;O-,&;TCX9 ^5Y# M@4 E;+NDC58=1KS$X>AI4:FV3;L#+=IJ^EK:VVP[/-NWM#^!E:6W!EQKD"=9Y-[-7;]XD=$30_HFNH)*S*D>OU!IP? ] MQ)=R(@ME7EM$(1+-YPYG(FH%FBF.@9L 5]^@.='70 MZ@,Y>!"(.F.Q?_)C?QA#I&+=741C0+THPT'I._"-EAW@;S JJ7TS.P&Z'=X# MS@4([06[FM]E33)ATTN'(B.$9 (*%S@N11;NAB4D$+\@29![J]B@B'.@#,"G-7H8'\,9*## MD, 'TI$CX$ZP,^ Q/(#2M/$WF/;?@5,<;X)@KNQ1J,D\^DRJ&V4P/91F3\HB M3PF9PTY)K""XH9XOFL6"C[ATGH3FX[D%R+YSP9Z$F%19XWT'LRZ)GBU9T M2N@G&H@3FOW5T/J%Z$ZC)Z)@_V_D^^7KE^2QJ0'&!WX!!G&0]?Z+^6-@R&\1 M^#L(9*1]@_&#">>PG5B"<0;G1)I=W/UX$;AUJ'B)L9A+:!V_>PB6-(>EVJC^ MQ=5/ZXY1/O7 *$0W>1._ZBM1&Z8@%T2LAUB. CB3WN#FSN@6^;;Y&:2K&$03 M#"NX]-Q57"*+SM(X#)?CGDSS'EWR&RW- ]I1])/%*"9/FHL&$RD]%P0.D*QH M)%B\?12M 4!&C='0%"]#K&>)_J$],"<2NS*$EPHF:/S(,\(6 E(3!.!XR?XS M"VX]Q6XD&N%C30\1-= &R' T"..AQ3*8^H-,PMX1)1ZR3$(G: 6WNQ?^=B71'W^Q%>B@8G\>K0.F C<%!")*,LV#/I M@>:5GGSS1(E$*^ /I97IA7EQME.H' MFS_&"D\<9N-=:,Y6CI@SXA!3'LRYW$22)-E!Z"%1A:@G2&3)^[**(1%]%+S5 MH$U6F_.??"+0VS30U"(H(_Q%\C#);\"-EE0;OOU <5\'O0>!P(2N4Q!@: 59 MP%G@P?QF>"D1L-W&_6:A OZ2&INOJ:U!WQNTYP>Q';0^N(F_6Z"+^P:P2M$6 M%"8>X.Z>$8OC:F'VUQ)( )HB87N8GH>_"=BH!SSSD:D--'_B'V*:R EC)89[ M2!R9N(X43Y9VN9TC4CBV>;%N):T)[WM@( T1^7JW#+DVSVF6!T-!7I4.U%,V M,\&W@Q]: 'J8!A_3AR:\=!CX$F1:I>S''A^^689_&4X=D;4*@*6$14&_PQ@- M^GCSXYRCMY8$,00G ^=.?@ANE698$E=T*<,; L^A*"Q:(O%B8D!\O84!2.>! MR]]'W9:6G!.:?=KZM?5$>N#BB/@9W"!P+DDZ[V&S[N()D @&?O9I&^J5Y%-C MT-X'"4TRY5<)Q?C= UV&:FRC\MZ-BM8W;^["1Z\H=DWODKB/4M$L**@J7IJJ M;Y!B\&P%.XN=(C#L$M'>4[>^V!.C*Y.0"YT 0]JF)2&'6LER\1NQZNR038']4&/-EB(1-[-FF4,ZL!L@LBGGB' MTLIL]"CUU*L7DBH7)%538QX^/N8H98;-M0 MV\2Q^;R=DPQ+3R5KW=)>DR*AP(?M"L&A7\59$.JF!P:L! 9!Q\PT-A,F+%&+ M8^[8_(&O[662W2I,A,_@%6@"<>L7V*NB*)PX]T,J-U:K8/0MO.K_0F3TU M[<')= C]C7D"G%JMK&^$\8$EG*S,1WL:J5T8>)@@M^2VI%Z.# M; =S;>IXCP&=*"UY:!-CQ#EF.OE=;(D)#0+HT*+X>K()D>L)C@[X=K@5S+*) M!4OO>,L@X;T"[P6T4>+7"2:-O4*^DOF'68^(H.G8/Y"AT(B!5ISX]AB-SAC\ M=+P?+,F4/7@^Y2AE'@!;*,?:L.K##VV2E.OD00S)60"YX7 MH: FNZW2!T8[\&OO1:;E>\_?PGTV#\H&1?M8&ZIW1NN5..4W7#O*T$\V!:Q4 MU+O&^BXLO_NZS-A64?22CG,R(4RA1AV*RF;-.*[PX:G+(LHK2!U0'"+S2MN% M5XK3"9G>C)9,:($XYOA +K.07O!K8?TSAB8U(]@H)UAD/ .8PCBVG*##TNA' M>A*=&ER'&NT(?SI.(B-'#;PMN ;N&R=LZ2_@@JB$2Z$N&+!TWCP#-?$ES<=<,7NL9M4C8YWL7@S!KK,FDN ME[Y-G^VI#--FW@G[$YP+@BN3NY*.3) L?ZD,+.'5&3$N=$U3G;*1GW4\D*81 M64FM$'B4H-60GH%M4>JK2SX^J,DR10G75R4PV%PE4*)DK7^C2@LNO[1@V^'W MJS/8A.*2Q ^PS1,*PVR=.O/\0$[Y?=V9PJUF)#)LT*&X!\ORA/%S6)9DNXH+ M9,D6UG#-UW1[^3G97J[;[#U%>+2[ZK16R_SB+2+F^X$P8%X$S[+0RH'QQ5KD M.;J]&"KZ;?\$COI,#K9BF'5S^]'S*$*?!"_JD;!1LN#B.X8__T2 (X@@#Q3%XD>(J"/_E)<:,(9I4:"('R3 MWI1IO$N3@<'?HH)?[=U/N9NY%_%38]3I"G]G0<;@ON 9Z:V=[*TM M\%3%GQRW/F#)^ZW\$<6Q/'C:FQUWY#5GBT,9UJ> M18NEW.;1-D2> MOV#SD_B5PB-+HH.6[<,K*(D!0ZB4$ B7Q^=MF,;G)^/!\$\+9H]V =RI>)EP M2A2^EXYALFS2 ]?C]9)?4U*JM?HM]N)8_6[!GE:_$C19_3:8X^YT]=M)T9=I M@Z.U1TL?=6UD(NR^_K7W[^Q01 *:C>>/,_(0 SV-C08VR!:F\/W$B&B0'F#* M-84+5[E$1H9G(M<"EDA,$EWGC&.[F;>H:'D3WY&L;)##:2*'J#43-MO-HA11 MSS+A&$/X>:Z5YRETYI!&'_"<+I#)%IDX!'V#Y]5XELA]V*6)DU9!4Y3X67Y/ ME*9@9<>53>GR(G1)\4!@]J1K,X\Y 66(_9O'6RQ\IV@,D\F9A;O6=]QZNM_6 MDQ M1A$B?Q('40JCOB)3ED_L0(XO^QXY.GN")[&/%%^@$WC!46"F?F"62C($ M&JXLP);17I&9]J^Y[?#5AF7$-H$\*MJZ>"(O)=D&BZ.7)V*)>-F0)]-0$IZP MT9$^[KUE] DL,+S46]B37'!;C[/?/%\F6X@5W< &,&M9\2[.191-J#N0YJZ=M42( M!S0:J1OHE) .ML&_C'#YY(&,$.M-VD!@# @BRO!7?CKP7A(\>;I&KR2J[*#" M_M.6QGO;(&$I-^F)] #P)=DOJ7-FCC>&T(F.MIWUGDR M9MWD7#*]D9(P:,8^1T')G2SJ),9)_RWQ$=QY\"N!F\2SU[)5DZ34&68[4$4I YGJ;;@(#&W 8_^&*!Z'"^/1)D=005IZBSH#@R)4,(-!''(-1-/$B;!' M0H\F4"8::&AX*05OY6.6/I;:T/FY9XL,XAD+],R(8?B@O$ '(8FHY%2H5*E? M03\YL.<7%!A'UHRC:PY69PI\D;&6C[!.KPH&()I$ MR(YR$$(A"(:51,-XK8RRPA+%L6KT@28RKX6OOHU"5=Q/0_$H$/%A%]P9P:IE M)X_7KSS<\MEC_/4$A2Y,4U.RDR&IE %C&3Z4? V6*'U<-L4X>?,#+B587"9" M]_%Y&#&L[2)C@?D1*6! W*E/#CJY,#Y8/CNDP@_\@%KVUF)> M=$D^509_R1YKDX[VP*1YON1B\AKE,T4"!:7MX.$^)1W%QD34*69[UA5PP.HA M-+I[MZ R_6B9O'Z,!Y;^$YT])WGBTJ69/.781CK24T=&B24+!G-[N<37678@ MGQPK%A\[S.4Y )7!&+:7X'2_6F4&$>6/*'*;_UQ(\7RFY"^01V$/L+NR0MK7T,K9:N?8!O M'-C%X@C^":Z+)[__)W/_R_.P5DO[ @/$@/W'CV]T">\4@3NE_8YG3+@MDA?H M>$5V]K1:"&$ ^U;*;$G2,.,^L;!:2;HO\4%L!U98G,(+<\_!Q"J,U#_8P4(P M,FPHN".8ER8OCA[DD=@T,8KRW L7$K927[#F/!D+EQ;!VP_.H>@ M@KR%^%MNMN; :2 +R6:+EH.22$.RO=,PK^"E7!*1$OT1[R;20[B%'5!^E(]_ MI<<8J7B'VP^)F'>-J:.SNB UIZ;_IHRHA*M .=BK % CC%FY"G #P; MH;M($<>YY52WYPF)P;.EM9(0^0"? ZWE )(I>ME]2N()O,K:=LJ[BG6$*\^F M\(%QDJ>-N2"DZA-GT!48(B2;R0Z'=DGDBHBYO)*GPZ2HXPTB<"@*(KU4[J\3 M1PKVRLGA*_#5!)N3OI).#?\S8I.GN(;5=V7)$N:>T0>YR1)A$=,H.B'-]TTTK68<4(P_K]\:@X) _7FUK&QNRGSQ'Y'25R4&B M;'.AL^C2E8?%QC?U(;.%4=GG@M3!3@+N+W)T,T5<6*T?\R'M2Y+$OSQ"?B94 M ,N4U ^]BT#(.3 \X<*\TF;<6WI8PSK)"E1^9*A3I>S$JC%(<@6_8AR?T0C_ M #L'8DI_?PA\Q@5/_Q?H!?+U'282A6E+0*+,+DTJ1K!,>* .(DN^ABHB>)4C%B,$Y,@5*]0Z$GX M!M,9TC+?>)LD15ID>N=^W008IWT3VUAP)VBT7I(9&<1[/_@ZO_6+IP0VG/2E MW F3%LF$,\1YRU.\7CM"LG0N#TXCQO?B/6VLH:2FQQ367;M:F% F*+)I\YK( MB=R+B)R5-$-09C.C3[L64RH2^9R]VS)1&1]&ZR$V,A@]<.R%+7;2NIQ-P*DN M&?P<4<&,)VJ:<9^8YJ_HK+\708&9.P!^10Y _4'>*>OJ"B/]_)^6[<9TS M3U/]M#3+#\TA+.72$FE$HI93AMQ1RLF*B5Q4R;=HM270H38E)((@34[-Q/%Q MO,EY %7\TZ9XWW;OHSP":_^93X]*G\!L%8 X-NR+=4+.H+;9+.&X%%TE%7-D$2^V7NEY2:V4BGRN!A.00 MD,65 JE%B/5KD#("[@DWK_KU980,J\@(Z?4[*B7DFE-":H)0O6UQXB+SSP^( M*01O0X7V.C:E?Y#ZJL5Q^U9Y+<(JQ+3&.' 5\LG@RB#B5\;%QD6G&AE M!@Q[-3^.SP9LRO'\C8XZQ&9''HJE;I/8"L:IT6OA#3I= MOO.#2,66X[E#\; M2H&=XS(*LI>?R#^ZIU(/IFO?P%?,?!1["C&J>]@,7' *[DJ&N^?/&+4GR-;I M"P_CT9.> QE^3FB#P4L"X-2U[S&;)LGHWV*.B[$5\,(4XI2V5/E=T;>$7>); M\A?$-[>T=PEL7.R&QOA7^-CM+FF^\ 2\I#@;0TX]WB?'6U(2&">M51-5LI3I M)8[&92&MI%6,&E1(+?+(EJ*R5CX.4]5YT:5V2.AR23&<>&Z:Y^&( B*,T>4G M-2>_B3PS*WY*41NXW(F M^QN,]8MH,>7AYPK%X[!P@@3\):N_OH6<._FO?H=-<^1+,%QXP03)B)4Q5@*+ MF[LI ^RQ2NQ]=PTUL8HW=_>9H+RNO4U!W*3PIBD/!8(8%=%M3QQ0G;RKT'?'6IX5S>D9,HTW&6<:O M@#K0M$]BD[_DU0-5O98 %"KYRR[[]BM V,I\M\L4)F;!82;B MC(>A][M=/9LMBND2&C:;B_%1,9&74DX)DIP@R'&^+BP6;'\XI@M+;L,C($P, M^TML>P2H)Y5IAK=4=KAVO"F:'DEP\[O5ZI.S8-RH"I&&5??KV#ZNQZ5'V; MQ&[N/K]GD_FMEXW6+BMH'RW,_?.T21[NU27Y.^TB?A=^W3O<19#KGNPD5IL4 M'T^]1I#E#1T6[#'YVO)CIK]ZB;;0]5X5-)M[K,E>$[XFHG6JD^*+HDM7>X"M MYYX$JKT56V\!JVWI.(OZP2KZ+)9R?MX_MJ-6O#[.H=LRVB>*>A /Y4BA*; ME:CB7<6[&=XU>GIW.%2\JWBW<;P[U(<=LQFR.2DI2,7^<3--?\>IT='-DJ-6IZ>KH MHUY9]^FDB]- 4[-GK( ^X_&]&U+-72U-CR;.M*J.(NPE1;NK7CXRCMC9>[A,_;J");MIN M\)U(*@]>GFPKJ.ZOZOX&BD.QQRKL7KO.'6 M!@5535,?E(X%;1&'FD7]%;/5:6ZFH7?-CF*VVBS()3.;H7?,?IUXK8%^SS'; M@$P>N;S_%B^F4-Y*:*^^SI%$2^?^1/8ZS.<,B4H'=>JTESP.6V55?Q6!\R:% M6*Z:.7J*.9YSD]X(MGAAMG^[W"!;8Z,*]PNL.A=P1[&I/.=111,5GFX:@SIY MIVIQ^**;YO'MX8^&)8MCSL3Y];>@SO_ -55SQ;@ MJ6W&\ZH77H.LYP;N7(W6@8675Q/COE[>:+>ZBC>>(_^X4>7/%:G>9FZ)W2$!Z*UQ2O'9:!T>_L M?]IV4BZKO8MS_@&JJ]12->ZJZ\F;VM;,2<5+RMFECM[K]&N2!Z(6)NN<#DV5 MV%;3Q7G1TSME_+GKSIXZ_P#555>3Z/:!G +M!?;4^TT;\ZGGV11YSET_M<$W;J:WM]C3_87-1;"Y\:5[T MND9-8@YJ6=)E&78.[&&B[$Y#8PS8],C.QAEJ$U.X:G>V2;YL%WS9 _.<5%52 M3=;P.CGWA:D;@Q)^B.+:>JW?=7)M7^\-JHX=* =NG\#!J.;R@,X<.G$:"T/? M'D>B+WOH:4"-"=SM>P+=SI;9ZBJ>4#+!1.U9:[@JQDBM2@U7I<3AC HB7%@0 M8>N!!IZ%68K**Y5 M7/LL@89#BPI5H.' 0$.MQ>"M[40AMS3.?!?&',3>WA*\.O#^%AZ,:,[\RH%_ M=]TCN4W0YF4'N,KR(O0\B>,RO+CZTR5KHDII4V]%U6YU#SRWKH0Z9XH@**E0 M4K'5Z6RWS';I((R2""41ERH1[5;_,NQ$3=S=OU-\+VYZE.GNE)G?OZ,@M*=/ M:-RUP*/_ MG?F3N=8Q=,ULP]48S?4Y"^"7\9/VRU ?=DQ=@]L'K?ZO\ >P*SUIZ=OPY1/L M![0_(^:'W&]IW^<\N1W^D..P \V**!3L^3/FVA/Y/4C;8S@7PQSIW4$7WV+T M6R-XS1*>:#/'>8*?IP%,"<:";P6*^;H 6:9=\HI#O M3'=&[P'B8P]M%@"_+#W;!:$#EC&-EO&KY*P%W/K %]A[#9@K]S3)8_!B>"[0 M"F^ED7A^./4(D,7P4L/GA,M)&?"(('-8,[VSPMFJ'T: MZ!W"9R25V+Z1U% ?I'(KJ^GKG) ^:\G]P'-=[H"A"\)D=::@+F!QF:/!W!_L M"0_$D"W2-$%+.Z0YH)MH8HO'[X?!8.>[7P7/8)^S7Y&7-RE4[7*Y11PQW8K/A>(^PVEX4!B'0'Y?!XN,0F,#5&/ !FW&]!&--4-)]L18;Z?X] M50G_$:R]&K24P]P)UQYAS7\9#/7VL(?+#XM.+Q..9FI2LZ_\9=C6VZ/^QLL[ M%[WJ O-&'ACOOV9$9\)X(0G$CZF KQXX,VW&0*;0K^B 6S% /L'7H"QN4O>H MWV%@_T:[HSV *.#,643V['#)WJG@__ 8W]G,Q<,"M.U[_PG ]4@II1#[]E[ M9ATQ,T))*9B9Y']\$AC;=J>&E%A,W)2K$Q C=UF^:N=DRI)%@V/ 0'008$[YERV("BY0I9 M&(6>_R0>"8QA&K\6,Q/H6"=NV ?7,7*3Y <;K.(?K6\M4'3P(IHNC)*!.QTB M:_('VXN"G%_.M ?F1.)IX+)[CZ@:WL''@X5 WWI)A"G0?N7\FGC#;*]VL,__._7@T2W"Y;L>@17[< MLBD,]B5S'ME3@,&A;$3'=F^S!-QC[CL%8CH]6:Q'1.; _5\TD8O(V 7'Z^" MX;#:C$4#CI[^/S=_LX?]2:X\R86D/>M15Y$?&![*!5(+SO(>&X #O,W/J.8SCWLOY\".[A4"FQ3 M,%^9[2 G3>; 5-[,1I9&+ODFPQ'EYB;L>&*-Z(0"YNBP9Y8_4KI+4:P19WM#!P95._HL(9Q,C%!#B&80IDP]2 M OVJWE3%C><^B9+[3/B:B-:I3@HOBBY=[2%H:8I 90GT3(G;YZW.HXWRF=*R MKP^LLO3\ZYTV-S3UOEFV[WA9&M0[953Q<,-YN-_5.\,#^ZDJ'J[54EXM#QM# MW>P<"&E:=QY.[M\##N,X?J[?NIK#UEFL:^TD^]?C'/.FP69DDV]5J^#*:["; MI=E[ T/U;ZW-@EPTLW5UL[0KK)A-,=MAF#WFL&SOO_KPVEY>Z;Y\5[_%Z;1; M9>LA]UV;+4)V!E3.>OAXLMQ)H6Z6VQV9K;+HXOOB"=;.$ORJ>*,L;YB*-Q1O M%!NW,[0R.<]4Q\O*S_8NG#F,0R-NS^WX-"VF%>?Q>B*YUYVI^);:!=[U]<'@ M0"3!&NP"%:\UB==,O7,H:J7B-<5K):-;G=&I(B@JNG7TH4JG=2I%H,);V]T] M%>HZ*-%.13,4:VR(9K3*GJ(HUK@2UNCV5*1+<<=&+\@TSF%53@816@=D L.4 M@$-8L:T%T@<28 0'@]M1[.PCF"(EC> A\X0;_Q!X(,(00?MUII-?Q34@8O:N(12H6P M U9?A,0?BT\LX^/2$,(V N-OO_V[OVYK:1'/]56-G,E7-%:T7JG=F=*L=)=G.;Q!D[ MN;W[ZZI%MBQ.*%++AVWMIS\ W ]&U5X/G:C)LI"!XYX8N)+,:>;/?G=-] A6( M&LR>1>Q=X^_%WPEQK*RY!'H<=Q?QA06U4"I*.-KNH&%\)F#2(M)O&HS871@1 M_DH!]5=AF\TKBR^YLLCFFR/8,:4[%H9#ZMRTNOVC!@M=ZF$JF!;DAEW!KH)- ME_BH"JP*)ZD%7NTC +A186CE<%0K(*E]?L=]B0HLUQ3A%2L!K&B0.>=DO "L M(\TT)_59Y,\4(VVX?XX"5:J:2=[GJ*<*N#&34 %TH2P8+QE+VI5DXIPEWC2; MEK#$K1;AW6]LB4,GQ6[98D7N; R9V,&56T,T\ SR\I[0@\EFA_X(QUR:;H2& M7[31RSCWP1#C-%ZY'ED+7KX ^2J6R:]&3;4/_)1@ MGID@F4)%1?#A]L @Z,>\F8JST+)3E=UK]'XI<?B >?AL8+:;O6UKFM>6 M?3<)03LV\+,SJ]]HUVA%ZQ#S>O19HAKY3&=0B;GUS*[.#*W1>APSKPW,9O-P ML:@TKQT2KYUAL?+!^G9-??AL+6/T<+-"SZQVH[_[==$)H1KO;%=IRXTMO30Z MU>_H>:/7Z&K>T+Q1F3RNLT US1?'SQ=VMWD*?"&<,MJ?M;D^Z;4:]NXYY%01S>RF MQ(J9R[S>%MM,9=X+1 6*VA2 "GT"'5L74"%/X _FAC#RHC@#><"\^PQ!H II M82Y'_W+,)PEW"+< ?WX7>>XM-SX\>(D"5\@G(/H5TP"I1"^][O9AIA&/I]Q) MH&U_UC"NZ@:L1&M: H KXUQT6FVQ)HWF+S1M!!WAA'O@(K@"S,I@HQ',4+QP MSUF"P#E.&+B>@'I(QHR0>!@]XP#WAA-X8AJ%?\!K!G_@#B7NX_J%:61\B[@# MW&5S:+49,6YC3Q@O,B =>8^Z/[>#3:R>0WA2WY"ZO-6 P0'J._OOJ3U^\Z MK=; Z;7;S4&[T^_T1[S#F35R^[SMVD[S_WH@F6C/H#" #H&OP!IEOU6M.&PFNZIBG9(C#ZN68DZE'!0"$@H$Y7&"AQ=><%)%8!J%0!"E:$<:J& M"RI:/VP"-1CQZQ3"\!?&>!7 MLES/CID[1]<"3!?AZ?5,JRU1>+L-:RM3-5MZ(,?KOMEI]94Z8G$<.AZ!1R$4 MV8:F:1&F2_4FE*\8OV35Y6H8VX0_$F&SP@/$L7$!6JQAO%L/IKBU[&Q:.\LX8CI0:E$V# 6U9$M&TFEM6-JL[ M()!FX=-@8%=VA9Z.^CM4+4=>BV]'789VW=L<'&@\ANUDYCUC2E^ MP@GE>.,(*\_L#IAN;?%P6+BQE)>]4Q[%81!P'YZ.Y64K MWO?S./9"Z)"JBU*U).K(I1O?%5?SY>LV#(R1WR#_#D 6[.-&\M5OG[U_I1X, M?D83O&13+X&Y7?,X3".';UB@9U]1>)>XGL'L/_[4MZW>KQB7 6ON37&1Q#3P MWMG/9QIQPTMPX;R88CP<%H]I_O2!PW-WS,>X&5-\<\L## <1<6PR-"0,8C.[ MU6=WS//I*M9A4^9@)W2W2S]&_"[T[Z@?X#D,"(0G?'A&18Q@N3G/E<&P#)@/ MEP!X=.(E(AAE9*13Y,G75JMI CE-_$J\^[H#W_0L$2F;C0(; O$8A?<42K+L M[M\TXG1(D9W0N!/>\8!!=\#&B:Q?%8M8B KZ O/.C(!S5XPZ)ZZXU\<&[\/H MIZ"N8*H("1M1,2SQ4I&2ZJ'B9L)XR&&B-IH1#H'=U/-3-A,-S<41_ @PS. ; M4'CD.502+ J9:]SP)/&I:]-(V$.YK3!-X@26$@<[!7X94_1#\0GFP-!C&21+ MBQX"Z:88BTB]QF/DJ8AG;\.2WD9L4DT^L< XMV)QLI$'U(=I^A0'8HJXC%[? M;/8[(D:YTS'M7FM%) <^]9X[?#+D4>FG5CFV6? MQ2EE4@]%8N2AD(3&,]:) M)1M[1.@E;'P4\1K+A@1[X9:? MWMHI>I,.R974,JWVIKC2&\U_&S_2"Z%A[5?N"&./W4:<[.>W6\F;=5 ]#O'] MET;/V"LK?*=SBS1[R?0OG'*=.3[1"=";^4'%R7X/D(\[]F%O\_Z.Y.AA[**K M@K>A<- .@^4G[&<3N4<*I-3KF>W!84-<:67TR")_YDDBL[SD;BFX\;3RV1"= MQ6RWG@%]XX343JM7\_V"-5.7F&XOKW?6>/\97 NGJQ'%)=%^2N6<@G.N=#*J MN!#8IX_N.=Y?T^4B+Q]:P#5NF")A: -K;]Q325-S:=,R;>MI03U/(L_64NIX M0V0NEJ?_<_@O(NP$O /V/;J$IL 8YOM95 "]C\:"] =>*#\/W4F,V1U' "I< M]Q5BL&'L'JNG-B2NNNG/843HUF;DA_>Q"#]1&%NC*)Q@K)$7NC+J"#\-9_ L M8EV( 1FQB,,(!)*+J<+$1#P/AJ7=XWZ2[XJM@X@R\,W]&+<=F\+3TPA! M1,IC''+?XW=<8;+1\# 2IK(M5FYI5<3/,$T4'IQ"T%)((QPF'$X\Q^#!G1>% M0;:]U?,B1,6CZ*1L/: C6G@)%A<75\(!<:-.N\4LR,PZP"CS<$B MU8 M0GX.S _XIEMF?UN>^-[28T&4*ME/%G^[9J#5AT!+8Z^B&NFHXJ:R0L( MF/?IFNETKY$MTVYN>J]3P]BJXUR M/=@RP:,&)MV1K\Z999M-^^4C!(_>4OE ]9C0:D?H'?',COOVYM7AZQGY6XZ>:.T)IVUEY2A4?A_]\%[$DEYE M%W 7B[Z(VH;?%.J^K5$F-5#N&.F!J;QU% !:X@JI7/:M[,FI?!?KE)'[WG#S MD565BONX?G'70%@RX83+H$HDN0 Q@T%%&'WI8)ANX3E:TNJ'68#?N?. M&\9F.J48:"YJ>')7%J%V\EA_GP8LHMF!LE@<_0\L9PVR)J"2GT""+^PV /.$ MF<9W_@!CE.BA),"%'/,"DF12(#:MC<;:*@U5[&_N9DK-$9BYZ,0ZBKR)RV M;0XLJZ2ZYE@1$Y-(&Y:;C^>J\F8MXCU"NR?4?+%[>F!]457&+I6(S8];A/+! MY4)#)+,!B6%?J^2BZLRK^2+!O1\BP6!ENW@;&.OW,KN0KWD M%0K]X%/L"@Q?50:\59+B61+>NY!%)+3?>T!4REAC:3(.(^C9E0 (.>QOCK7< M04"F+.UQKE',; N1 *'S4_);H)+5D@CFR 2 LE)BQD<^C%($38:!=L&D6_O@ M,"?NU4A=P^J:G4Y'8 ]G:5AB0,B&KUO]3@;RX,4Y)/%UU@:]E;__Z#PQLVL( M@V6N/)J X4EL3?]* [9("4R\"D1^H#A= L$=,B [8(9@;#$=)=>Z%KL+&G2 MRE%%A2%GF-N8'NEC(?640*MSPMQ[/L(KHV&"%VC,N ,YP1,LQJYR%HO R]B8 M'"_(%'%0J2*%()2963#R'1Q/ECF7Y\69A3.5[%26F"=2+F)%&VX(LPO"1$%/ MEQ,V*46. +3)B*<*\PYF,2H*(!!.<;%$]B0M&)R"IH*U8$%<+\;$1B](X6^6 M4&NX?NM"U^?J_."M@(]9/N.E6K?Z"\&EJ=SF@HY_3:B9J_.9!+2X )&'=BL@ M8E:"?Z\#(;]BQ)2T^@"*/,%S-YPY>O9@J2A:.@Z19.*NP&/RW4(C#N/WXN4[7B, M$/QT,@N#VW-4*<5"#S%,3%BT)/]02@8JESKU!:A!J0I!G@&X+-]>TB>OKI"# M&QPO>UT%QD5Z"T,0^]=JT?ZU2A+')+ID.P_$0@RK@)I7DFTN&?R2!0Q^%\ZL M'V"#@SKZ!Q 46BB];)PI3Y>H78!=2K2 =[0(,I]<8 90AA = :2?[6.81F#D M7TR$ L3.KF&$5#-B WKI?$.A(MI?&U<-$SC$AC]WQSL MO>*7_P2C/C8^@AX,U??*T7$1QZ'C2= _ W) H,$J5OJX0[.A<1N %>C] 5<@=:%.]D)''5 MAB0;Z"&!YF)I3H%HP!U(5N(%=.<;K::R9\,J9NI63V*^.,H(N. Y?-@" M,F&*YB4JN%MHB\RI(MJF4#$9 \T56)'X)\B'/ABBB7H^5SKB?"R."#\:-PU@ M?-]'<2K@&HK5(12M5O#[,!N'-**S05=3)9/Q=(;&;X A_! :'W%&!T,U^SD3 M,CMSSU6MR8K-Q 58* +^N#H76$H08=D-L#\"Q8 OJ8!#C* @U:9%AK@ M0 ,<[.UR8,XZ)/_2E.187B"M* =(=&V^7C2DEO W_@B=H5&HK4 ,HN-!I6:>P;\=*%>BG7V.2B M!,E%!D!1A"4>RKI0*45R =]&GEO$\7$SKQXTCW>*.%>BSN=/[ZZNSX=$.FCD MYNJC^BM7->**F-&Q.Z7:<4J9",5*5\'%0Y?\M:S3R(B:4FDH+$ D!OTU!*76 M4R_@7W23C&=9K'SGXB<*E"!C)S_LWJ#U(Q89/0&,G#"D>$!O_2Y<:G :N^94 MWPH&##.8&%;S_/=C/D'A%;R;.D(URFM4VAS(F'&R$)==])BC@PF%PSD])"I[ ME>RC@O59XO0"RY0[BN_9-!9F2!!*9@7+(^5QX?K&%OJ7CO"VK S'*:(<%&KE MIJ-GBS_(H[B]4"$L4<7IZ'I+V"1RT\5Y)U0Y##<%L>%3(7Z* MTS\9$JJZJD4JMC05G\J()P:>A/6(,2S,&0?0XVWF&K^18*0:*4DCS6PS\7[7 M;+9V71ZQ0KK4.-5(\_"A\W#;;%N:AS4/'S /6U;+[ Q:-63BHT?2^!2,(A8G M$59-B+AQ@S>$>/^@43(VK$/:-6U[4P[6E<<]:Z (V"OW]2[ M0N\*O2OR7=$9F/W^@>F*M9"!L-_.*FR,EX[#$;4>&09-Q1Y01@3/E .SYH-! MAVGL89H-QNPH8U* H)A92*=ZAB\D3_[-#X=@A7Z4&5_&E[QJ9-9P&GB8D!!Q MB@G* 594;S*@-.(C3#2@G"0/QG\;>"-8&VC)YW?Z8O(M7S:(K2?C_@$""CRD!S\FO(#9/H&Y:LF(H$^3WHE)!J#.#N'\,#;0^.;*F*H!K9N MWB8&C1=X=K"G6+=7OUU&'NTWXT+DY>&4/\".P23 T!=$(EHZX?8YOEUTX@+ M#A0!TH@?@@&_M/P_;HR_75Q\:QC$,>))5MZRZW<9<4H4CHOU6X&O)^PG-[BB M-/'N'ZE[J\!6,!=8P!'+E.M01'5FZ<4"&LHLXD)1%@X'OI<7V908&*N_1#L^ M#13WB!_&%/ W,L1VN:4"HY6 4T"("T21$"&!ILKV5GE[P#@^MCG"4&B%D! 7 M9E=.&$1$"H37 J%%*?\L$<*FL#A!:!3%C0KTE7'GCN)9EO/L%!;!(;"PJ$A5 M3&V/X?FA6&A\^R(( M(.G$T'$+9M.+$PQ,OX7%3:-IJ/ F)DPDG@KS!%N-0P16D&2CQ#JT" A;A"*4 M9Z(F,Z4J4Y9Q6NA$$4YA@U!JX4SD:.=3(Q+%JXFD#"I,'B#AD="XE.V7@VO M2 F+@^I^Y[ :J_A(U(H&<@A8P/(">Z2^A(9"2)V*Z:TS?@2HP/$/N4PGFE"1 MU!@,(82VR)Y3"R_P-,B4"PJ(/K!2L8=VKM (G$IN(V?P9!P**TTF5GJ@(X7$ MOB.U)_+#!18C=X^Z0/TU+Y*&Y$YNJ6='@?=YGA+EB@3,GU%U^)%1 9>A\JE5 M,OU5EDR/RR+SLA3>$I5]ETE9>1:3* 8/NA713!(A%.<%,+*/F:T2OL4?2(06 MP9!,S%:3& (%\(%SQ>744:-X.N&844-:NQ+OA08&$R).Q[&(1!VTR8HSDCA2 M#>.JXELR]5=L 4),*#Y_)M)NO#@7^R[A%E&J#1YAZ$!'KR9*I$((I5SQB+%+K M#)72S7^19".<'Q)[<4('3P:?RD,4%FU%N$N92F80Y[<$WS('" 0UZ(W'.$*II5(\4A4I.) MTG@LM*:ADB"3T)2YI4)]%7>AA$T7FY6%G MQ?4@!%@QK"5]$U%%T[>I@'XMC*(D"-,$R/[ON16''C)72YC)2NIAS)F/FTX0 MT@O<%/%^)'#*PCB$839G/>>P/A(HETPQD1%6B-:7=YDF@ MB,P6<7'?AM/%92Z;Q4OF+6W.*AMOSMQ%N".23W+Z828#5\VYR!4RXSBSO]?C**5QQ:B@1F_PC&Y+V(/*?>YU&I]NM8U;O :8:US5&3S^U M9K3BAD&)+W3?OZ#!:9M?9B4\2K=5-R@(UXA2W#"1^R!R7[\3T/.7D(">/Z"S MEC1;GA)[FF3YQB,<%-%"<,T:A-C_7M5/O7",]7[#EQ#.'^LRD25'P)KJ?KPV M*=LG%"EWV+%PEM4QVT^L&5G/&-!-WG]\(H^TO'_)IY_:6@=LEUVZUVW[7M5Z MD7?.A?NT6,8^>8G.-MVL4*C5-+MM6]=EK]_*#!HOO"S[F>GJ=!N# M/:R-MFCT4_KL+/VG[5WZ3U>-,-^(PKLVZ>P MN_?W+]_T4W.27OVLF+I#>7HO['[?H?M^/B%_WT/3.^/@GCH%&TA =XRXVUH7D?P9#2 .R/!-IZFU$]/W74L>V/E?/1\>XZWEW'NQ_94Z<0&*#CW76\ M^\YFW6V;K?Z6L1'[]R;H<'?]U"FZJU>$N^L@]\U"J7M-2T>XUV]9K,8++XMV ME.JGGJQ<]C] _=1Q/'4*!UD=X;ZSJ+N^.6AO6=:F3F>UXUP=>]#81_:!MFCT M4_JXK"/<:^ Q/:8(][YM=K>MP;Q_CZD.<#_5IW2 >YVFMG]^T$^=D@FD ]P/ MS4HZY@!WJV_:K4VSOG6$>]W]'/W&EG:Q]G/HIUY"R>L0=ZY#W$\HQ/TH [L_ M!:.(Q4F4.E2/Z ;KUU#Y'1W0K0.ZCR.@^Q1N?W48LPYCWMFL.Y9I-748\\&' M,9^"*VY%\*Z&JMX6$-D-A/G8+9KH,V=V:S MMC0F<4V7QFKL(YA6:Z[3/ACH,,5:7< ?MD>D;9G=04^'*1Z4WT/]K(/S3CPX M[Q34G0Y).S2->,PA:6<#L]WL;>RJTM%HM5U0J]]H:]?C@6BT_0_PL)_2Y-7D M/=RG-'F/)?;UF10@M?C6@P.#YZQ6B3:JQ*]APHVIB/UBM]#3A,V,($R,40C_ MDW<7I/Y!US<69^BY?WWE];M.JS5P>NUV<]#N]#O]$>]P9HWG0B.@"]\]?=[+W;\,!8UOH=AFAA?6/23)\:U M%_^L!=NN9-+O8R\V/%@# _Y%YF33*; W!8\#>S(CGC#?YY%T @.GPEZ?P$!G MVW-L_U@XMEU7CKV$=R,0R<2MWZ+0X2XRZ%)V7"1^;:C]X8[Y*4W0"$>%W69L M.L?:;+G/C7<-XV,8)["K+L5>,AP611YW#90?,"*>3=HT:%F-9,R-.)TB;'B, MM,!)WWO)F'Z8,CP(>M.,3/BE;/H__M2WK=ZOJ'T"T$(34$:FX06.GZ+:$4^. M/3XR/CQP)R61=C4:>0[TB7WDOW_T A8X'O/5[Z;JB8]&W,$W Q['ZDN7QT!J M:B.$8:\!#^/>/"27 @UJ#5INLM!C1QN?L&/\/W%*TN-9)%SD#8YN]8 M#!VG4YA#,F9):8$>(^$2\N%4<16X*YK)C+Z 6$]AH:#-YH1L;\90[WL@3*TZK M^>$R(TU$'(#MX)3$IS-/#8 Y3CI)?8;-XR^@LR9I 'HM$1->OAD<6BV>K62H MF%W\,,J6,?LAC'#$,9 4_L'!8%-$]U$:.)05(OAL"L281AXN"ZI6WP_O:<+^ M#%C;H7V-EZVW+*+1Y(M?H6J?RVQ^Y#TIR%I=D'33,/9(\43<)ULHSP7#/+#" M6U*O-/-7V##&C)GEKRPD=.Q)6-N=,BV*_Q]G5V538*;S8<39SW,V@L&^9?X] MF\5X["EJ65"Q10*N,?='-=5HM!<#XR^L-F,QQA$?_?75GQXW/'M@[I)A"Q(2 MK0?@*S 7V&]5*[S4..HN6*9[,HQ$#%PLDM& YP*02=(F,J[N0$+G&N=:V>[U M-XZ^CU&?D5(+0GDC%U.07QH9*/SMYJ^>FJ[4B4:(T\TE>M7\EX$(J0 M1W30669)C$J6Q.C-$EWW1FC4$)1,A!H4-+%4'T+[))0'-Q%Y<&1<5%D5IC2P MH*4Q TT#>AEH!FIA9C#2YZ@H0;DPH 7&ZH)3(&UM9$%*W9"V:>^+TZ>G&NOO_]P[7QZ>O'J^LO%]\_77T]1+E[]AZQ)J)8 MG.'"%-IR01[P!X=C,,(8MP.<5-F;K;FN?2SN1*NNC/@9SJ2^4(H9DJ#J71Z@JP,^43@,N05R>_D&# 62O[%T#B@7!(CCWU,6 M@2X ,2RL:C0F/L*AW[":Y[^;QOW8 SO3HQ?#:!J24C-0\$,#0U1F(_@,&FQ[ M*=L[&GZ_J"O#X]V-\1$4=QC5W&E>FUL=J]D\%KZTZ\J6/X*(WWIX<0 RA8!F M4+9] /LPF15=W6CG_8C)2)9"^P D]O<*__<4C.0QB\4\N9AGG,]S%(JS^;+S MMJ&.VL*AP/ -]+K&;X\02ZMM-2S;KAMLE=WH]?MZ4 <\J$%[95-KHGNMB>=T M3+!/(K4@2"=#4+1X*8=GG5RFN<;9(EC$B9#F L;";KDQC3P'KZ\]%^_.!(5. ME"2/<@MH+[SG)\]..@1K#MV^01"F<)@ \OD,'9L1^G=N(S:)C3/[9+D++UH? M/'2/&RYY'PSTDO$"6:6?;6;,>(*WWSF9*&4]OU9;1_Y,)HSV[*O[,$3[+;3S>%MM\V6M2D4DP9W?"FKH]7H=_7BU'-Q MR)%O_ZJ7IY[+LY6:WM'J'+W_1-Q Y6JX?".E82HW@ZDT>WU=6KRFBP,JN+>E M[ZI.B_,TX5._90'IWNYTM*#9E&BMYI9>+'TX7>>.:Y^GSV=#5ZL?(W M!KUYB'AB>^. W8^G@Z^'CH+MO3D'/">V.3]'4VSWFQ@=1K)VW.K_P)9UM51R5;C94+!JWK_M40I MJ]D@).YKD5L8JU F1,\8U6G;M5NLJ4(X_@2LM\D_?A2QR!9Y1Q"G+Q&!I,@X)'86>B+@* M2TNT_([6BMR.VH<29';2'E MWO,12WW8Q#]P8][PP NC0@9'_;,UOI:2BI[ 6=UCR1JJ+1C<%_B_<<-&/)D5 MT0KKSV./9+$59. 3^&]PF)*M4U=NNT*4 RR/KH#&ULR?K VNSO>($?S6110A MWLM$H 35?:]\#0.^'%Y/&1EAAJ$CT V(#?TTG,&.'0"J F->(Y>2<6Z^, )KZZRONN&]Q,%9S MV+%@22[<< I6ZT>?W;XR!(_!/G](WHZ\!^X";?V8OZ+-/SKO=E&YK-T-D'#[ MGGJO?F/BA;_\N=3C;_-_F\8D= G6CM!]MB/#]V@2).N.K?\$*FS4$6JTFWUD MX6M^BX"!"(UX<_X/LP#JM+"A1J!%F6_\2T !+$=X6GZJ.CTYR'+T-U+5E M9^KZN=#W8(;..5 M8D[R5F!6SC:R /8.R5>: 7\8>T,O^77O WQVG+[*A:L% M2,-CQERWKL;)\KW>9H@)RP;5[S;:S=6=KYDHO]?[G?G\V@76:Z[%>D*J?:5< MYA?)03X<"KWGL1-YT]+!>(UTXB.M>Z.[UEWKKG77)]'UP81I_F?+:EA[T]MB MWON%PZ^B2ZW.WAL.4)Z]^<-YR[+^99%O:IR <72)M!]A70Q9GF59(1,!BW+# MJ9Z%]'(U[-+MZ M9]=P9UM-J_'IZ\UA;NYG)[P/G10O<,]%Q3KYK2N_A0\\ MBP;B+%*UX:@&$A-%\-ZSA,%>\;$>AL/2&)I)8H-Z2=AM3"4X^&3(7;=X3 M>;3%@ZJ_AMXD+[U);B[__B*;1$4OUV;VQ'C?V4,8A),9*(*$!U3L\\89\PG+ M-D:CRG.LF?%YF/'RXK-FQB(S7C+?48$RG[W@YQ!CU#5K[H$UWW_XJ%FSR)KO M,;++TYRY=\[\?/%. M&2T&:X4OEO/"#R(.;]!H[ZC*3+_?:+57-_4 M*HS8 .[\*5UNL(5A4V,!Z_@G.>1&L.-%I43\>87;;0N:5.(<[%'D_^<& K_V M"DR)WHA/A4$1&ZQ8PYC*#V,1Y! +#$^F8'VP)(QF5&#%S'Z6M-]WZQ3)W'\D[VF[[3VTWZ3N?9TW<.*E-G[V-Y]J2<>J1+ MO/KMYM/?OEY\_U$X M8OY[MZZWU+HSAE($=ERKNL!R_*$Z^;F8L/75/MT B; M&F.V;^K/#+H=GO(Q\P?*8098A_Y -6T3P-X MB=K+44RVR+S1-O>C-3X;S=9F-2*79M&T=V:^MWN-UH[2:.Q!H]=:ZR10(T?$ M;OT5>QED[6W,SXUW#>/CU3]!E-W%7$/EG'Y[!01\SQ+^=O?GP!>:TZ9Y;U_8S.BM7?K@>7;8Q'-=G]>.-.]F;XT_ MQW\V_NGYOL&\1W,+>CQV$3<"RU ]7[3Y'UF+Y *6_UOK.F,=TL>XD%J M(N^0R"LB@36==VD1O=@N:<'%-1?[FG\\S!T9_#/ M.)GXO_T_4$L#!!0 ( $1HIUCGC*.97Q *BO 1 9G-TV0\[,58_+>EIM5HMV?[Y'R]+&ST1YEK4 MN6ZTWA\W$'$,:EK.XKKQ,.TU+QO_^/3##S__I=G\]68\0+?4\);$X:C#".;$ M1,\6?T3\D:"OE'VSGC :V9C/*5LVFY^D6(>N7IFU>.3HY/CD+"P6WF4?\1FY M.CF[.&N>F^9Y\\RX.FOBUH?S9NO2P*>SL\NSLXNKGQ8?C0OSXL,%_'[2,B^; M9Q\^?&A>M:XNF_C\?#:_^@#0QZ8$?7$_NL8C66($37/.1\]7'HZ/G MY^?WSZ?O*5LH,LCT=SCT]-66%I@63GHEN-R[!AK=).S)G]=$;>5+@3WC\1] MH>BX>=R"GDF(JB5/FL>G35%)S#FS9AXG/2#OELRQ9_/KAN?\[F';FEO$!,NP MB>!^HT#L-L=L0?@]7A)WA0VBT3.??D!($&8M5Y1QY"1$Y]B=R2J[C NQTP;R MR1U0 W-ILZ*D"T5EZQ+ECXC-77'5%%?O7URS<:2OU7.;"XQ7A33'97SMP2]% M:A"SU-;5U=71BS"]]!JDVI(LWQ1_-ELG0&\!M5E&J:\;KIJAW"[J$ V[8G4( MY;ZS#JGC+,L65)+RVOW>:JP';>%J!)*%JB&!7&*\7]"G(X-Z#F>O.D,B322\ M*#(8-L!,8A71'187?Y3620RSB,ZPN/@C12=V',JEO/@E^&VULIPY]7^ GX3I M?@SM=TSFX122F*!2G(3\YR-F!J.VPJ,:A(622C8'(3B-F@@+LP9LKV#J$$AA+##ZX8+/-C$[Z(JM]\D\Z+M M!Q'+L?XO6F_C6='6@PBQ__0--[!=M.$@8GAV&:L7XE.XCRSSNM&A$)LWD/CM M8=S/CJBD3K]PB!;B10;XZ5C^UT+-*(QO(BGU\]%VV2T4SR7FT/DD_]X>TH%P M4"1'<*M3M.4VQU"J6/!CV'EY73J\O^W>3[JW\,=D..C?MJ?=VYOVH'W?Z4Z^ M=+O3B79_JY&49)P Q/H2A*R$6*B."@*4)$/>V KUL<-0=MZ=]N/M=G&9 *OD\T^,S@D?# M'HH4')B,NKTSO!N-NU^@3/^7;O\>+KN#X61WM&;A*SD^+\/QAC;DJT/OA,+# M\%63LCMG75B9TAP^[-@<#MX]A['VY$MO,/RZ0R^P1E02?5&*:,!'4L&!QZC7 M)]-AYY]?AH/;[GC2_==#?_KOG1&: JUD]K(,LW%%?_OKY4GKXN_(5WA@.H^. M_?ARE1ZE#5SMU@9J[,5OL&NY=#Z*-4*7YC11%7.M8Y&8L%S#IJ['"%Q(%$3G M*(Y3)P(\UW*(ZT[(0ABSJ]W[VW+*KF\ENCZ 0"%&C;I]3)Z(XQ'=W@Z+*SOY M9+N3 \D:=>UG2LUGR[:Q8P[!I;(^M,196#.;M%V7Z%NX$D=)QNDV&2$D DPD M05&$BGS8&C'5-N1.G3LF!K&>,/2!+C$T!B 2B]$,!)@I :\10%S/'&6W^H11/K:!&R+*;L^L?J-$)"$J%&?BSG.XM+2( #I4(?#] =7 M PO/+-L29V;TSZ.HH93<)!;-,509(D6X* 9<(\92(&TDI'$F$ED\] ['ZM.7 39MF(4 M; HI>SZ150KDZ]C?JAQ=,2(TT90,)3)-.GF_.M*73.,5(RQ37DE1(D.5D@RL M(R/K1%TQ(K;%E/V?2$RM$>K8Z[E9OF),Z$ IV4FDJ-1IPSK2EIX!+,97+H:2 MJ$1:*S.76$=^TM-5Q?C)Q5#RHYWXJB,]J4FL8NSD0:C(N=3-AM61FZW\5M$% M39JPD@]EBJR.1&ROS^\Q8U"E)W)+.+;LTNO\!(Z2'HT5?Q.M8=&[ +C.9,%: M@CJ&95NR7G0>K-3GC"[#(IQVJ.-2VS)%-/6=I);6IR0_D71((W]3O1@)%&&>H(ACIJ]WN'_ M4 ;CRO0,#N!%@PH],"7%B610.&W >DE H]DKDN H0$<"OL[T3:TE>$0ZGS(( MB^>$E>,M"T5)6"(_%!'F8XH1&*+6F:?A$V'0(_X(*4=2*H22H41B*&)( J: M2#"X:DR/V-=GV.#B!7,=#P*;9=FAE(>D)"N1)8K("G']=^"%R'7F;$R6V!(Y MSA%AXAV X@U@PYEM+63URK&GAZGB\2J14(IX7&M ,14HTG%@5-'[O[7VP>EO MK0.K>V*U;*(J2US)4TKZ,.2IWEDIU;$&\7Y2T[,)G8LH M!:P; I4B$%V+',C/XV;KSMYL($./TA1*/4VW90K;]P\FD4)56<]=&%=)>;F# M5'7W]\E34649U4!2!(N1K0KZJ6E*\/N!6D,&$G)*@1'8N=K:NAAV?>R(N"DM$,1X4ZSLN M9_+EI47'VVZ4*2E.I/D=@P<'9S6.XT4B,'=.5=\3S9P;TXZUE>\7WSG>C3&$'Y\>) MS&4 G#PQR[I=330E3XDD9>8I[[I[V?0>'Q.(*2P#G(J\#TXFMITB_<\#U*#HB-N) M+B7WB:QD#O>1;K^4=*?QG2/?&F!*@A,YR*RG!.H^ME/[ M.PIJUK?]+"V8?NQ5"H&(*<:GX3$&T8=\PG\7E.^H"DI#220ZLPTE'FQ%I7X* M$]C"+<1J%DJ;"+S(NG+!*Q#J:&E;SY>4WVG.AU$RGG)N<>N!E;K[A*TNCH;B M/>$WQ %5O .L%#\:5PQ6R63*@<8$D_%!"WI0H A)30=VXS3(+A&/GVSA*KE..1N9R[?,K'V;9?ARMAIQKO'"IK#\N ZUD.Y$+TWNW4YT\]\]'FU^' M]*\WOB IOA\9?)E76H'X=MUO;<-@'C$'9('M">'1ZH-CBGJC[9T:]U77#+VEQLFP@_[MX_B]+Z@"S[+4/=P1X] '- M1&,'T+'^H;ZHTB(7CFU;NB#\*OX1.=;,EA>!4'>#Z3&)5:C!H9!&@V^%-1$S MF.6$P[OWEC/QI<",YF4+[*DQEL/)@C =\H)]E)''C$=8F4<^H.TX'K9CUTNQ ME9U-86&@JMKSQF,%(\*,O#&;7GCGM$9?(Q6- MH91I85M\"CZS63JB5>5O#!/2E!B/#K7I B:LMF-."'NR#!(^D7='MH>KWP*_ M[?KR^Z39I.( M49S)\]X=9+?HHTBU:ATL'FSF8%L0U@!\88H>O,:%0GO9!LH@;7'>HM,+L33A^, M SR+@5T^&'3R;58EM;_&Z5OQPV@\3K9BPU3B12HQ\KK.D\6H(W[$MCATMH[R MC=?UAYN&\Y[E@*\&7S^BK@R\I#U80Q.S9>)'9#7O6 MNJ3*5\"#;\5'P MY+E;+*K:EJI$TS[;%*R\)W8B ?H..WBAP9E*J@I3515"EDK'4_N;1$3-72UW MX3_0_#7VH+3<]FJ;IIP,LWV@CNAW.'R3S/Z@Y;8BR9!:MK(S65C;H<=7'G@# M_DC-?$^2)U$)!YEF:&%N&,8A]"<,T1ZCRPYV'^5##RM>S&PUT"I+N)CCPGDM M?!>/.+*BGAGSI*HP?=R"MB>9\I=N97\+A=TK>NNU08>R%04%1,PWCDO:P3. M#PZV;6J(H\8=F"(6)&^,2 1EW%\"$__H8_UJ&UN*&(<0H@5"+F"8.ROE,PBDL1J$2#8)]KB$2.7RQE5:EU/&_F4%P2IA!D\."9$2L+%:&X* M9@M4=2OPELP)8\&!=GEX/)_&[/*58,QWEB)][C_N(@UM&:4)/P-,=@I>2[BJ MX<7#BC'55DNL2"7H"F,8D=3"#D2C_EL 8-GPF3@PL=NP6+$,,B#B.4-EG*N) M\M;!4=PQM&%"-ZR5=(0VP<[#:B3KD=E6/>&W/P&T7GOXJXPQ@;'%1"8Q>&1% MRYT6 WEK7L/:!F>9Y.P/<9S0H;<_DRWXYH>@XAD8_5Q-E?(S ^A:1)5&+7A)OTP_!R%>Y-X5;C\ MKLN4O/ ;&V+2["VT$E#[M%\>JOFNC:\YA#3KMR7UXF]E"DY%ES3P,NAO;?[I MJ:(!B:>(?$==,-N4#O&F6:;X+"3>H<5,@.X1++SQ@#X3=D,9H\_0<1V\@EF* MO_K[O5K36C' JDYO-\PRQ;$_R[PEQK=@E.>[PUR1*OC#X)0?C%CH.TX*^7H] MV4I,V84.&BD'5E6K'MUW;K#S[;[=@6;]ESBN?_65V+;;PVQ!Y;5L+K;! MBU/#_ZZ)^'DX;X-KMPQ\WVX[YLW=\ MFS'(S)!36](?7X\]GF??4V:EQQO'> MW#[EDUXN!%5+_.F'_P%02P,$% @ 1&BG6.BXR$R.' 0$<[LN0]DIUX?_V"DISXFL@6CWR/#*W!/__ZWO_SEK_\!\*]? M#]X\>3E+)TO^/3X-3]Y-PJ+,NB. ORW_ M[,7L^*P;'WY_OOG^B6&.3XA\:;SY;>_//VX M6!S__.S9IT^??OH!1A/YXLP3?4%\_'/\^4/W\Q26"Q'_;NXGMSZB?H= MG'\,ZH^ "Y#\I\_S_/1O?WGR9#4U'__.'A]Z9636&;S!78_I=G1 ML_J!9R_VW[[<>_M^[R7]Q_O]-Z]?/O^P]_+7YV^>OWVQ]_X?>WL?WI,3Y0"]H>_7 MSZ[P&H/'SPN<9ER-UOG;)[-TZ4.3JJM9=_Z7DQ!QLOSIZ&0.AR$S(TCU]\@FK55H;O17*T*5K%+L\X=:?>#8_.3I:/A/&"SPZ__O2S8Y:\6(Q MZULG*S:01-O2Y7E*LQ,"\W:VP#EA?#,+T_D!)B24<8)O<7$^ -(GQIQC(&,N MH*1B$)(WD+4UTHMB"HK6$V-3<)O01CPZVO2CFV;4>3&;+KJ0%G^2&_'B9+Z8 M'6&W%)Z C82)Z'4TX)@FN0W1.L22(:4D2F36&.9;&YAOX-F$(/+1$:29!IIQ MXO7TE(2:=6<5@5*I&"DS2*8Y**X$.!M(4NVLM!HQ.-Z8 Q??OXG.U:/3^;U' MN)F.]REDZ*X(E(O/Y/4#)DL>?I&$ P,'3C\-ACMFHFFLZ>LH-M&W?G3ZWG*T MFVG]S3C$\62\&.,7'%(KQ3E&(-^$<&BGP$=#2X_45@5;1&:MM7X=12L'Z%TX MJXOJN6Q!\*@,4J3J/#ECSDCP4CH*T8PT48M4@NW)V[F,9$@>\98W5FSL4].T>FLX[9D:7ED2,H3\A"<)F^]3((0[-1MW:!-\$U).^W,46:JZ49 M8?:.CB>S,\0#G-1DV@UR&V&SRR*2K9=D]:,GD5T(@(4;);P*G+E]7?# DK2H+004#!2%>1 E2^"MEUJ8G*-LG5JY%F\)I$79Z^G:7)2=_O>S;KED"\6W3B>+*HO_6'V=C9-U7F:3>B) MAZ^G"^QP3KX26FM,5L!,EN0KT6KHDM*0.2)#IW/1N3%YVB!O/WXCZ434@6=@ M0=.\5HS80:$XB.)2S$6(E$KO8S&D^.X!.'9UUFVIIF;3[??Q=-8M!V ME)$Q MHB#;@=RDFD[-X)PA-Y+GP@/]C"1K3):K&(84YPV *ENIJ$>[/$K<^:"E!AL5 M"26%K'%& 2LBT\5%E5EKJGS/KMPG(7)T-)LNG[O:GF18D,(G![JD2*K*"#[' M3$NKT=G;E+#]EO$5#,.VE7?2^_5$QQ;#W<[IS'E<90^3=V&<7T_7CO'(R1*# M*A%\,)8\'DS@K*9IFEGQHI SU-[EO!G*L&W@5A1H,?C-F'" BS">8MX+W90, M]IR\X9.CDV5FY266<1HO1C%G3-(4R)83KBP\1"\+5%NKO;%+.H ).1LLW'O6.@B[(\0AY<%:+SD]*JN/G>?GTWS# M")CB55 \@%221D!Q#TXD7L.)9(4+5N?6VW+?P]3';GMF*>G,P!5?:ST213>: MO (>D@KT4U(Q&YAT@C(7J.@"%K3(%+&UJ?75B]N0W^KS%++MG20N =!2Z*.Q+(Y53W3M$(E;,- ML11 .,BD<^9 M*481N5"@&ZJX3"35NG"U?ZF&%(@V8.+ :-!3Z'$%_2A)ED6F=2!Q55,P3(#/ MB0%7*D6>!(N^]3[D-P$-*4QM0*IV@]^,#[_-9OG3>#(9:86.Y$A@6'#DL98$ MY(-PJ 4D#DM$;W5CU9^_>TB!90,MWVM(FRF4C!-)^&9\6G,>BS ]'),+N)*J MYCN2\"P7QL'D@M7HZ$JR*F?$Y+A,UK5V6+Z-:$C18@/E-QS^/@Z47@A1B7Y* MABR@V)1!E1(@* I6F?4I%F&=L_MA_?[K_;?[1T\__":?GL9SQ:=;&YY?&\M;381IU%OF]^ZV7Q. MOF*IQ2'.B5(+9[EA"I1D&@*MV\ B5QYI30^^]7F3"Z_?OB#I%*JU2O]IJ>.YW3C[N&N[(>%=$2@:8*+R>&HL0L=0^*B5$9:*1IG6>^A* .P:I M_98IM>+"_8>X?53YM:9E%(0()?, =K6(*KLLC +'M?)B>7:XMUCR*XRMTWT7 M(O;]RP 5Y3R2^;+VILA&R09G$UH3I03GM,B\7S+\71J'@% PZXVAIQ@3$ M8P,4#F:DE;IPSW;E.CYLEJTU ^X[R@T[=IW+<>ZLC:PR6DMMIL!F=WN+BPIKLF-/)"0^T-*][-#ANR.O616A5 @O-BX0N >A_V?B6 M=O?HXXLSBMI1TH!ST-&K>ARL4*Q=NV.9H+A,KJ3F(6X+W(.*$>]/J[L;\,8J M';J/J%D]_.\IK"DF@PKD-T?+.62)3 >G1+"M3Y3OPD=\V-J27?*U=ZWOD,'W M=YY<+-IZ(4"[1"NHC!EB6=^"P>HA2^M;U\+OS MOE6J-$K.G<%9:&B'A&7D; M$4&2CQQ6[X>&L%T#VUU[8F@ 2<70;T)2/F-,G",L@0(BA& MKFO0,8+V!CFYF1A8Z_+<;R,:TA(P6'*UTVG#A6$EV#D(D;USD8*@>IH3E.$> MHN0!"O?1,BNDNMJ3LX$QOP3ACMG.APXZ'X9*VZCM8>M77NS__NY@[Q_TF=?_ MW'O]EK[=>[/_OI]BEMO>M9/*EHT$;53F_1FWG?FKFB=@/NZ_5Y0TZ23!9S1 4M*,MK6 MSNJ6D >5#6A%M!O:?^U,K0UK9VX%?:_(4!)4GP,'AER XKHZ #Z"(4>3Y\QY M":W7WL8B#,D+? "J]J[UP5+76YZQWF[IDK/D?\1$\T\9$+&D.J)2L!TN,@^Q MS_FM_D&OR$,<'TY7Y^;2V8WU3% 4EXQ9U.RL?5Y@'XD&5+VX2'9?V-0^+"\&7R>W(3BO7%@3/)D M(45M0508%"MBL&2JE?G_//ECG@,#X$W;Q-TM\_D TR3,Y^,R3E?F;97[^?Z+ MU^_JGRRG]_(Y[RCH[' Q[I9W>ZRWE^N1UZ\MZ1B7MI180&H60%GZ$FU$"-%D MYXMA9 =VN$#T(.*0RM^&-&N&S+2=3*=ZG_"KR>S3/S ?XF]A/*T_7.7CKLE? MSWTO.SC&XI#E",AL I5S A]"!J-,$2$FA\VOMVXLPI!.XSZ6Z= W4W81EVT6 M3&JO8R:W#P.G)2]S&L#L#)3$=) TO'TBF; M$)P3$;15-HA<3_BTWHV],\A'$BTUY^352=VO=GM?I>X?P-W%:CJ*[C36VSZ8 M-*!4[9;(2P$ME57<".'XKM:TG0C\2,*HWB?'XV'= V\Y/G__CU=O]O_L:9/Q MR]-WLZUXLS"--A*)"-57>M?-3L?TM%_/_IC71AFKCDKUO#+1Z'39-6_D;$XL M96(NJZ?YZKZS5$S< =X?-*EC[6/<7GQ M]9::$7K.6**5A26L,S<%"*4H*+XP+PJC^*AUA?7W40UJL[ G,EUK!=965PVO MD#E>(]LOJU:D%UIDCP17J*5=1CGT!5F]Q)XIR,(6R;3@6K2_/>8;@ 9UUF-' MS&FGH9;M#1-B7B9"7\_G)[61W4W@:CL)N%?3T\I!+@L?.&U<9HM( L%!4I(3KRV M$JQ,-EN>D$*$W?B#-Z!K.8E>CI>/7YQT-,E_/9F/I[6%SWQDN.$1*8JCV($4 M%!R%@ U@#2F3U!.;OC656BBKG2E>>QL?9L_3_YR,.[RU MB^U():UX)!>UAM- X2AYK)$A@!*N>3_8A0M2E0.;*:!.2Y+QU!OP.\!Z! ]FGQ6JIO';[4C0( M]?\5QBD!I(EP0"/0C=,"<_T%0;S\@PN??(?=>%9O^*D7->)+7/W[98-P[S-% M[--#/ @+W"L%TV)DDLXTB0)9YQ+(.FL-WC(:2Y=5,<8F85H?W-ZMA#WY95^. MKUW@I61"R.0T,%7;5L?"(+#:2ZE>C9E8X-;TL-VU(;HA>2<#YO@-VV)]J/\A MP@8>BK*9.Y"\U*9/7H(7%-9HX:+(:%(PK1LEW3=L>."=ID=/SVW5WS<];PKI M33&"+:^0ECG7VV45K>J9 [KDL])2IN;WX-QWE^.!*^,>/3VW57\S>JY$W"\7 MQ=Z?;C7 7X;RY7A^/)N'R6_=[.28_H*^3ZMZ6\Q?RVU'Z)F5'!%T[:NNF"@2AZNGL4 _^#\0''\RICU"L0*$S^&1JG$ML]-%'L,&EHK1AC.^^N6-? MISX>. .[+6=W=*#C+I3H[_+H*\W^D+&0)1=D,!-YL(Q[ D7V4TAGBW?%1=4Z M4_L=2$.*6G9$N)9*:LB[% M]P\I5-@9)^XY_.WN4OUZZF;67;I;4 3),Y-DR02!4%HEB-YG"-)S[H/4S+0N MW[@5S)#(CQZG&54>&.2UT; MJW-!<:A."9Q6$@QYN)XI+S5>N9+T>B7KQF\;TI5O/1.B'PVTNX-@?51I?WK# MKM#7+2%'F)@+!DA<#LID#I$6-M!1\911\^!;6Y/-D-WQ[K@'V2AN;5MZT%F[ MRU!J0=&O@>2NQP;(05H9/E/@SV2[*8;\E97+EN6'2M> -=D'Y6P M#'SQ9"2=$L)%1M%_ZS,6=X"W"<'\#T^P-MKKD5YUVW%*?[0LTHDF.O+D0 L= M0!63@#PWHGUBR),GIU^V;V_Z#4 ;Y0;9#\^A^ZJH1]:L#E>NK@=>WU]7#'HT M24 VM92"A ;/0X LF4B*HH'4_,S%)K@VXM!#'_KJGT-;*JQO*GV];'H-3B,& MY5D *PMY>%$:\"0X".%5D@E]2JWSQAM"VXA0#UW?NR-";:6V'3CF[\)9]>5& M#G/D/"#D4#*HY"/XK L4G6+@,='0MS[$\UU0&_'H!TLZM]74CIWN-^,0QY-Z MS8[RFLFD!>A8"BA? @6B- YHA4%7A,JIAYN3[@)Q(W+]8&GK/K78(]7VCHXG MLS/$ R0-83['5T<#54F2DY_G3+W9-1E-?EZT%"=D=-%JP;"'3?Z-\6U$LA\D M%=Z[_OKVL,C0=B>7X9DBN,B<0+'E.6XN(=0"I^B=44Q$H57K>WLW!K<1M\R/ MSJT6FMN=ZWX18

,J_KN,^%XE1:UHGW.4:*8E/IX=JKC?%M1*\?+)?> MF_YZV] [/Y$Z\M%R*T0":U@-*VR"P&CE+DYPHQ,3+K?.=-Z&92/F_&B)\R:* MZ;7-U3FB]WAXM*JF3<1K8O/RR;/R9416MZE78>IHGG]\,2-?<3Z;C'-=PU_B M(HPG\\O -VN(U0N.%JVS^A^@1DVV^KQ4BG.?%'H#3M9"MURO,\9 = W6QF0E M\N;W_@[X,L;SYURZ:(TLRJB@2AR9 2P4?RLR^.!\"E#(4C!>$M?&-A^FF[$, MJ3QX*,R\[;JSK?38KMOG#9=$\E"85 MS1TLN=KIM$UUZ8M9=SSKZD&O%83S,I _IF&R_%/,+SZ&[I#<9UUR--Y+L-%K M4,H3S.0%4"#N#7,VJ!2_YQS>\9UW+#U^O'=]WH=3?>JOUTCE?#?_;(LHX]HS M6D0(WP;6S+M?OZ3Z)U%9*5@R%)+6'6BF$()E"E)P.:(UVH;673XOOG][_WG] MK#]GW;]?3Y=M:N:K&T$.<([=:4T!!RO0L0@B,E:/UI3:!QI!,J<4%N>%:%\5 M\5U8P_*J[\F(ZVYP6W4T3)RN@1V$3[^33>K&87(%EY'<6.$S =&2K!,AC*%X M2#3GR65GAI7>9L*MJ(;E+[=F21MEM"?)J_%T//^(^;?9+%\!1N2-F2D%TA8% M*ND"L0@+B"6F;&74LGU-\7=A#^BKR2U^$X_$B3-[4 MG9?].!D?KILSU*Q,(L) #K5AG6$4]/CDP09,EELFHVJ=DOPVHFT-&>FM]I?O M,(\7(R]2\(YBN, PU$V'VCDC)UI^C:*8SD35?./FXON'Y.JVZ ^%2JJ\5-N@S]T@^%D].UJ:/ 9R.M*Y&7Z\C)V^KM&ZN=R.0(3DR/=)@ M>R4,?Y4:\0=;I^C5@UFIK@[#;M8J@YY\FAR!6:OK*5\-,0H.9%9R]9A]<:T+ MAGI>JR[HXO:WK,OF1[)(78HP-(EJ<7,F5\\S5OLH91Y8SBAY:_'O!/ 1K79W M8=*UU:XWI35;#C>#.%(^HTO%UELSD0*(0(MV37X*X[)24F=CFGM'&R%[1 MF M_TRZDYIZ74'W0C>M%1K+>^WJ]4WU=/37)6/]Z]K@[OS<]#B%VA9N):&U;'R:X)]0F!:3U06%R07G7+RZM?7#/@=32 M_5>SKN!X^?N7XUKG-LWS$9/D"_N0(-I: AMKRW:K?$WCMI^N6W<1D7:E$(%63B!#(Q#*!39Y8(RHJ*5R[2N M@;DCQ%Y&9 ,>26ZU0&8AQURW9DN"8+0'GIU5G-?RU-9I@B86<("SMA'_KL[6 M76BV[XEY#>?2-QBAETSDJ,$D[^K%8;@\2P_,>'1!AWHYYFZFYC7KO(^;50 2LY3Z< M:, $A5/&"8AH*$ O&K5BI,G8^M* 3;$] OO>@%UWFFKWU5RO@?"K,.[^&28G M^/O7/H07 MX?@"J[:UG\PJBE%2WCN>!=AB:X_KNKDE,4*4Y%*4J$K[VUAO!;-] ^1N?$K: M/%V/^\@(K;@)"#SP ,K6ZS10>F"NE*0;S'JO1JU M UR,5W.S-L.\,#_?XF+=J?L%_O M[@$9IPL@1DX&YB0%+#XA!R63 N^5!\^%5M?#A20;X[MC,>T/2:]&VNN17^C>"MK0PU__O'Z)88Y_^\O_ 5!+ P04 M " !$:*=8ZZ%19MI( 3/0, %0 &9S='(M,C R-# S,S%?9&5F+GAM M;.V]67=;R9$N^MZ_HJ[/ZPU7SH-7N\]B::C6.BI)5Y+;IY^X0V$!N (34[:4B10K[R_AB9\:<__Z__[@8_O09)]/!>/37/_$_ MLS_]A*,TSH/1A[_^Z6_OGX/[T__^CW_[MW__?P#^[R]O7_[T=)PN+W T^^G) M!,,,\T^_#V8??YI]Q)_^/I[\<_ Y_/1F&&9E/+D ^(_Y/WLR_O1E,OCP4]?_OA[\DFZVQ]/>"9P?* M& .>>P=!ZUB\H8]F>?ZAP\'HGW^I?\0PQ9]H>:/I_-N__NGC;/;I+S___/OO MO__YCS@9_GD\^?"S8$S^O/KM/RU__8];O_^[G/\V]][_//_IUU^=#N[Z1?I8 M_O/__>WEN_01+P(,1M-9&*6K!]#C\^SK/_P6C?YY\4/ZU>G@+]/YOW\Y3F$V M)^C!)?RT]C?J=[#Z-:A_!5R Y'_^8YK_]!__]M-/"\F%29J,A_@6RT_++__V M]L5MI(/1[.<\N/AY^3L_A^&0$,\_8?;E$_[U3]/!Q: M\448M!3PK8]N@';^07"!%Q$G+:%>^]QO<*Y WD18/W(8RW@ZP\F?T_CBYSF\ M)Z]?/7WVZMVSI_3%N]__LZ;OW].=OSUZ]?_?Z^>LWS]Z>O7]!/WT8 M?)G.)E"W7"87+_G_ZO+QWZR!E&4P&M3]YR5]NWQ&Q=O7:O"/&8XR+G:E%8KA M.%W[I6'=$\=?21R&B,/YWYY?3N%#")_.W\WH@*IG%<'&%_3E]#Q)*8M* ;BF MO4^5Z"&$XH&5E&V0QB1O;ZO =*52)4SC7 F6CR!E$/)G',ZFJ[^I I=S8:]' ML9!M@W6]#W&(YY(.R8!&@I,FT\&(])5G"J).K+@41;*RKS7-$5Q?SY6VG$U6 M*UN^?IU.D3(97S3E/67X]&,M/K9E_Q0_UB6TV83F;G;R;C?)EFKR?OE ^N>W5 +[CFW[]&*+6@< M-Q3G73JQ.[W3LU%>(IH^G1\R&X$ZOV$\[,[U;2 -"5]K]%S1W8:CVX0W$O#> MV-?%.K2F0,B,W""M))!Z:\B*&R^]45GFQ\?Z-=/Q(*1WD6M#LE>[V!+8;W,# M\AQE8-PZ!](% I-R(%B8P5C,IB26G.2-C_1K %J2?)?%?2?#NY(R;B71V_2R MG4VVQ;I68&),TF4&*=D(RGH/7CI+IDM44; 24PRM+;9O 9P"O=M+M(>W]RU^ MQM$E/J=U/R%+;Q+2[.^#V<%DC:F?3*=+_\OOPQ[F.1D9O M/1!B#DHF$D/D&62(,5ME;1&MS?8M8.Y/57JR\ONFIH?-X@GYT:_+$OAY*+0] MV>PA9Q5HYRJT1.*8JIDUYC9;Q[_Z'G=5I2W616['^]#^M&' M7W&$DS"D@^XL7Y XI[3=S :?\=D?G\C0Q7/T+/J8%!@ED:Q6S\"%(B"S9$K6 M*B9NFI_[FR![]+K0 P&WU43NJB9G%^/);/"O>2KG=7DQFH71AT$<8CU[9N34 M%.Y]5A[(4"6G1EH.#DF3,]>.3A[4SK:V^N]'].C5HJ' ;ZN#VE4=7G_"JIZC M#V2$D"WRDK:S/3$[RK:VVSK M7=DF[<,)3F>KO<@9D67R :P0F>!(1A0&![^PN_VGI6SN=@=$D@EWO3>#3]!SM>W4/CSDJTPG)2<6:P>*I/@/?FJDF$TEODB56NGL,?E/'I% M/!:J;VNQ:Z/%!'GY5OU")G;UN*1+47-G04A6Z$C5$4+.%IPLJ(O&PI+J10-O M03D1[=E-Q+>9]_WO7U^#9V^JF4T2G\TF@W@YJXG8]^,U^AP=.@P8P>EJA@E. M"[+>0BDE,EYD=JQU"48_*SD1O3LHP7=$V'8.GSZ\K/N6\8Q^??;E/'F/F7,' M46@$9;6 F'4!#%$K3Y:E3GKO6OHP[N] )QN3=X<&[ASD?86S;_Q.5@)CB 62 M-XZ\$A3@''DE266T'"/JP!JKTC4 CUXGMA?G'>3N'.M]%B8C4K7I&YR\^Q@F M>!:G\ZS2NOEN'Y=%3WD3(=["_\?.J9XU:)>J?0OT>2#-=C6!G:K_K[36 M$%DN$)U7GA4O@FQ]H'2$>*H*U(22.U1HF3_Z]Y]OR(L6\\_>VH7>O7_]Y/_\ MY^N73Y^]???L__O;B_?_W4O;T!V/V4?[T$.KZZ^-*#+!I!<,/+<%E'&,CC>3 M06(L0G&;HV\=?N^]C<@$7IPV K*0$10GI]EGR<&&A"8B\J(V:AW99DV';B/J MPN<#;41=Q'CH-J);2WCV/Y>#V9AU.K.SP/MP=*YC6M9J;P*J2]=1%W?G+D#[ M[3[J@;B;7D\SJ>]-)4IAQ7$I(!3K02G-(7#4($PJP7#'(V\=(]^C*JQI23J4 M)G01=@\:0' NQJ-WLW'ZY[+E0MK"4-*:9!0)5* _HM:,SDR-"87U/&S4B-:! M_5L@#A#QV)V<6^7INTBVA_:#LYSG0@S#-V&07XR>A$^#61@NP07!'"_6 8N) MDA>66J+A*GJ$I(+(G M5"DR?&^M',;8.MMQ-Y)34( &,NXAXOE^@F%Z.?DRWYL6V]026.:N MR,@2H#&T0Y'W!-'' CQ:%FK+A7*M:U?7@CD%_MM(NH^.A90N+RZ'==#7O-BR M+GJ"'ZN-]'E9S;8$ZB+M1Z@E)!44J.PS^)JE-;HP;6(*JOE^L#&X4U"1?ICH MH:OA[JJ@);:H'9DSQD (G(,2TD/ 5" J6Y"K(F7S9L;[\)R"8C23=R\]#ZGN M;/@4%_]]L;!S/XZ']/G3A2S>$O#GX\GO89+/43F3A9' D[8$MX[W"\S4BFVF M>GML[\JMEUW>AS_>X&0PSC?E\[4^ILZ\ M3;$@"%=(8Z.W$$,V8'4QM+!0I&@=/-L=]6GKUYY9[<%96[>"IY4IS,NVDC?# M,)J>Y7]<3F?5JOBZM+OVVS=A0K]RKHH*CBL+G+,:S9:T+NX%^( VZ1R,S*W- MLK[6LG\=WK=>;:C6>U6*'@[==>NBK0 ''T9/+B>$,GUY/Z&%D0SK*D9Y_MUP MWD?0;;$1BS?2:?#12U N>[*](X?,4U+>*^53ZZCW7A?XX[4X&O79L\'R)$P_ M/A^.?_]/S!_P5V*N_N6B6_4MIF&83@=EL)@^?U;(WJ[SL:2UG&?-(7F>007# M(+H8R/(NS,F00W*MO:G&2_BA[WM4@1Y,G;D9^!8_74[21Q)1?GHYJ3[C7'[_ M%8:7=19$BMY+#KYD5B-? H)B#K)1P9>BN.2MR_(?!'7:!G1;3GJ(3,\!OIA. M+^_ ]@I_G_]D>IZYMKEHVJLQD5TC:/51A0)"H.#HHI6Y=57+1L"^ ^5IRDT/ MX>RK0W_Z?KPF:3\O'*\WK.2ZV])6.]\WWR)):SJ8X7)LZ6)UM+N./RQ87+P@ M,FM6T;[7=-IJ>U0:T<-(HT8!6I0I(;VX M4+03H*S".JZ;DR6L1$K2Q++9T/(#A=^;-FW\HW9Z^"I/%D,*G MM0AD.-VF0^/!SVS0CM$-=ZO>B\7#R*JHG%5>ZLUB88E^F0XCQ0J<>023/+TC MN7!P.9%VV6"D]UJKYMVWF^#:^=U+'S%?#O%UN>=IOWQ9_G!1E)Y8H .1*Y=0)$(P;FD@!<3$I>E<-O:2KX%XF"-('VS?JLZ0\IX4H,8R8QW/X#/6N2R!0Q?A-N2[6IKG;\FZ6]WAL3("*[1EB9EB/N44(R F@L8=^>0R M*C"!A12$B?$F[[?MUPV>LW\_QOT(L6&5U1S:D_%\=FJ]G^6W>1GRW';X M6H+N8T)-WG"LI379*_",1? .43B!/@BW$;OW/>61<]M,@/U<(G;]YJP:M]=H M#-FWA-@/=VC:!(EIG("_!LZX'C*SBEP%J63)*2.;-1H>)QL=[U&L'VI'>1 M:VM#[9?)H"9PZ<^GF/YY_?X[:8Q'(P3(5*MUK*1CSF(!YJ1T@>OD,]OH'+_G M(<=RK5PG#L8]"+"'.OBG@^FG\30,?YV,+S\]N9Z3KYJLD;&,/R8,BF B64KA YN.0R.(:H1.&6^>;YWX=A[3_L MT)C,6Y?@M66BC]DB]>*UL[0H?5B]'LPQ$731@"8@*$-?!S%8=N:@A]*\FYB6;\,FJ'HR3>Y&=!A[9'?&'E"!'<3=PXFR!ATYYN2! MQ01.E#H#145PP7B@HS4J(WP)S0LS]ZD$#]@8^]*!+E)N'NB[7JF1Z'M0BC>3<4+,\UM_G@X^XW0VF%U.R"9:)4MK];=D*@E3 M53;0^Q"S@MIH F0,H7-2HC2MZ_PV@'6":M*:C!YLA%6;TNO1NS#\!MFY,[QH M(6ES2Y%PA8+@DR<]EN3Y)(U2J=9;R#HL)Z@93<3>0X?C6_R,Y.^N[@RK[7)_ M'\P^/KF+D>K^1O*TE.<1#D='.M"AVQQ@37 M.GRU!IKM,+ZFX9ED%$;E,"L#K09DO:[Q04142:1A6/ZY*]V[EMK M&E+0,( QM[??X&0Z'HUPN 0S/?Y$O_+E[Y/!#)^.?Q^=9R\$IP,,,MG!H%![B$;05\I%J:+FM/FX/K:6UFWB4!L/!'/NX+ WO M*M35K\S&=7WCX2#7R<(-6U"W?G8/K:IMY+#/EE:OO"DEJVK#TM94LH=0C"!5 MLZ9$+;*SS2\8.]*65J&DS=X8T-+P.MQ30K0ATE?*%V2J>-5<%(^\I;6+]K1H M:>U"T;&TM'X=JWQSLUA4['#+4Y(:4N8D01E$'6Z707!3=#1U]D)OE^'=!>@Q MU29TTH9U%Z/MS$J/E4[+,KT-P/14FW -R($O0MN=J#553-M+N7?JBTA6BL A M>"O(O,10;UC0(!576M"7T?95SG8$%Y[US'@7X?;1ZOH>T\?1>#C^,,!O>PN6 M()S-':AI6;C:_-1=JZ M!98.LTF@+RY3S7.^&P\OYS63UP'J9 67-<_)//E[=)"!%^141C2,/,ID U<; M<;[)TQXMW\U%V;@E[LK-(UAS>0@PM8($I$]-%&L9G# M]4 _W-U//W7KKI'<&[?&WD:T:@3? %/#SMAU./;?&-N"HWLIWT' O6\#2VR^ M7KUIZFV;)=4$A L0 V=0>!:DW('9O-&D[Z,B_9Z^V'UQWD6N?8R+7V6-5U;K M\B1"@TZ6HD 4:9?]$"H'2 ZET-*EK%K?9+@&RGZ[9]OP=#-%WT#(/=06;E-O MDM!GSJV'S!WIOZYW-WL4P%V(6L50IWK\* [J(?[8-UD]Z-?KZQ4I\RN*@G>> M:Q' 92MK'CN"5]:!9-':A(*\FM:3?.^ <8+ZL:NPUYXM>\W$?5W%U:U6!\G* M;85C#QFZW>734[;N*U!20-+EY^/)'5"?7T%]?PWIU2L0K);*9 V6-BXZ$B5" MS)G<*!E9R4[H(EO;'3TM9??3^5OJ7]]%_3<@IM=1+'Q2'7Q&K0I@%#43CPHB M$Q:DD<8(,END;GWKWNZH#Y4Q/(0&WS[D]\KYH7..]_A9#"TO=48DP]J/C1:K MN5U &VX2=V1_IXU2"8\J[K1O^A\.0W6A85^1B$TP?4]AJ$X<;1*2V$; >PM# M>9Y(J>-@Q#=1'RGL($VEHC'6? -"/]]E&! MK[USML3,HJA369HW#AUCF. 8C-)=^>E!95;7T%QK=7J%LW,4*4<="DA;)"C% M!3A#7S'2<5)FZ]"V]GC68?FA/,V8ZNN:W/5=;GSI$W+AZ#-C5DK6'2?#E;9$*"HJ4NP9R-\ASMWT9A./^GF)]\#),/ M.#V7R4CIHP NA:PU)*3ZI;9*6!%1\6+5AC-G-W_F]ZT^?1+40U/UU3F[RO8, M1I_]S[\@=-G?\PF@9X_&(7)E[F@UMPXYX,J)AH$$76FI0]IHFUD ML,\VKI(T"]IF<*YNL(Q4/C)+/H3)2FGII12M1XP<:QN7(:.D6!Z!I]J(630G M.YA+L"%:82*7S+3V=!][&U<7[6G1QM6%HB-.J4@>:^%XG9A7[]Y*S$%P(H/F M7AC//<843RZETCO?#^=0NLA]7V'T33!]3SF43AQM$D_?1L#[(E^AU"75Z:A1 MD5/#R;T)R B;S\&@<-QMUL1Y5*1WSZ$TY[R+7/>80Y'6QJ+HN PV5MEA^&@USL;-P'SO?;M=R+JWB[N;:3<>]]^TMZK MP 1M6() ,8,0ZA\R,R9)S>G/U@.DC[UOOQWC781[L+Y]EWR(TB?0H4X)5605 M^Z TB$*;GLK*R;CY9=6/H6^_$RM;]>UW$>E!^O:+UYI')>@@RUA5G$'P/ F M9W3B$D-Z,"3^:/KVM^:[N2C[NAAF>AZ4$MXD!SJ3VBDA-;D?3(%!Y$)9P\@3 M:;R-+YY\^#1<\SCQ%B)=^Q(W37\M^P#KF/EI_/);^,=XLKR0M2Y\A^S69A_< M('FUQ0H:Y::>#J;APX<)?EC6UR^17&D,YRK)D@SHB$0W\QJ"I(V;>X5,U1M MFKM)#V%J,+GWKL]?NC:DS$G6]T+7:291U*\,'50L>;0B))%:&W[WX=E7EJFI M'MPQ=;>-P(\AE73G[> JB>PCDU#;24 E2V>IB0*$1%9OV',A;M2CM]D=Z=>> M?:BX03M2;]^6OKUP&R<,UM\1:Q^1@16RI1,3K1<^!PDZ M55M7D=?JF8IT!D;G"R?/)FT^N^_Z9^\W\-](XC>]_AW$U=J__W4XCF'X?#)( M58J_A5'X@-^.D;.Q\"(Y:"EIF9)LF)"" 8R.,19)?]5F%T+>_YQ'SVI#,?8= MN;NA? 0KF^QH]V%5^7*RX%W,4(*-F#7'$#:;N7C_G!!AP'L6@&51+_:*6)J/X#K*G%USV[N]^'M/SFT"YGM-SG4BZOX1 MRUM(N??D7#"*,>,XE%JAI(27$-!:<$7YD)F.-K6>N';LR;EVC'<1[L&2<\(H MPQB/()5E=>YSAACG!48VF"2BM7RS?K''DISKQ,I6R;DN(FUMO"_O'7\R'J4) MSG!EDMS(*"4CBO"U=[%._=98;_@4'*RJ#4*>? XT&W&^R=,>+=_-1=GZ'7\W M0QS>#&XFM=8_O1KE@ MDS XQ@487>M%ZD5K7MH$)@6M50XYWBRF><1I]:T9;B[*'OIPMQFY2EK(O;&D ME$)+4-8Q\,9)<*S6?=!^@[[U%2B/8CYNKRFWOHG::V;__>""H([+ZDK%W5/Z MZSZQ72Y_(\S[2N(70=M&C(+="4( M,FV82/6"F%KA@G4N?8Q%U2H7HS=*SYQ:$K^+'G1*XG<1^*&3^)LYU(:;G((B M>\K7^&HJOM[6RD%JRY@S.0;?/,;PZ$*-G6CO%&KL(O[>XTV;@/E>0XV=B+HW M\+2-E'NG/OMHC%$!HI$:E$FU9%E'X+1C&BX\"ZFGL0Q'&VILQW@7X1XLU%B8 M%\XJ#U'Z2&>F%U =:K!9Z.R]%\*>5A] )U:V"C5V$>E!^@"4487TFH'DM0^Z M>E[1F0@BNJ2D0.YOWMKYB ,66_/=7)0][.8+-^SU5S?L=?EU/,[7RYB*$9H\ M7\(T3Y@27(BS('-P)X M&#.Q.;W=U&<';O:_[:PL7B.LY$Q#,O6RLQHJ]E%F2&@X+RZKY/:\\1S0Z#P. M_>E"21]ZLP0WP7PV>S,F:;X8$7!"P2A!&BK0N2RWI1E M6BO,O8CV;[OT0.--16G'00]C3;Y!]_HS3KX!1K!"*;+0B91 M8-$LW,R>ME2.ZV!.7"]VD'P/F\8VN1[+.!,B*TB!D5DN-8+/@396+HH,TB?. M6P^]/8VDW"XA]+Z)VFM2;O4.S)M6=\_(W?EQ[=)Q#Z/=5RY.:9T\&3&02XF@ M7!#@ IT?(G.,603-?>LS_*"YN*"MMR[4-+*LUT.G" %E@BQ]CBPS.BY;I_\? M12ZNBQYTRL5U$?BQY.(V,?Y1&V-LEH!8[W%30='9'1&>X3GEV,+T'Q#OZVVD)Z?ID0=JH MBR^D+8GQ5"=#%' N!?!(C\VQB,1;&\GMT#>*P&^/9.&V)\&ULW08UGL8:GK3 M01V)"L5P;2(WV6IV;#+<:U#M0/JZ)HZ_3[J/)5"W\]+?S<)D]C3,EA.D.!F5 M17"0N=:2\MK.1C8F>$GVH.61Y=Q3&JK1"@X5_CN$"K9^"[97A?Z2J/>O9FD: MA0]X+J6.F3&RL'PB8YRAHF-G MJ=$_&(PS/SV\TU_?#9?OALQR'#'S[;#Y_MAVE[LN;"#]/V*';9'Z;MR9JV-3OZ M^V X#*/\>O:Q5N[.PNC#@ Z(Q24YJSL5QV7UFSMD);9_6 .#M]%*&]F^JV=< M*6@6SMO$&13%ZU5T+(/308/G/%D5?12RM?EU"\3.$P>^WL"Y^NB%K8%>2&EE M!AMEG23F.,1X?R9"X#KG8 M>MF:C35V2BMB2@)7(6LIA,K8NC3V*(?5-&&\TYR:+I+O_]+2#10G6>0TJ&09>9D_?9N:2+K'@]W9?;3O&NPCW<'-JLF+> MQ@C1:#+5G2U +IX$5VQRBJN<;PY%?^1S:CJQLMVBPYCPNS/V M@ KL(.Z^+BF_C8X++#$E"\R(.F) ZCI.PH.+=<2-BRG8UL'N?2K! T;]OG2@ MBY1;'_A/QI?(_+J>S M>93I7&I=6(H.M*W3I)0O="HY!.:XJ]$GPT1KFWTC8*>C!^WDWX,MOP))"\;! MA]&3R\D$1^G+O(EV.,]N_TJR>SF>3L]U<4S94J#H2+(P/((G%Q9(C3/CV7MA M6X=G-T=W.NK2F(D>+E#ZNL%YE:Q5FAQ;SA@H9EV]9\<1K$ ZS#QWS4,G>ZF+6//,O99';++N1E42S^M2\.7@,^:;>*[,+\,+-YEKT%@4J.04 M1.TY60B&S4VER.*)#LD=E+3@* MHI!3TEMYQ4/H]E5QT5Q7UA=A-"7DT'49]7+VM[2&1>]:",Y*Z3A(9G-ME9?@ M-7FQULTOY2O,Z(V\.OK4;]2(OKM2H6L//'R4MBV9XUV%VM %^ IB&438!$:7 MT.PF'+>/SSP<@]U!^#?IVT%R/1+)? YH3(&4R-Y3VC,(.0PS3L)70-E'A2$A!&<"J"@"N$![BBM,:A4, MEV*CRY@>8/#.A^_/2=J)AG%+&?80)KOGW/CERV_A'^/)DV&8+@IXO/$NF>Q MS%L68F(0,2?@T6@=J]71?%)N!W@G>@;W350/<9A[H%X!?14N5G/,-H';4[*U M(]3#9&%[HWYS%6O&6P^QX:ZP8R0G*6@-J8[$5$5%VFSI*X-.*6E#D+YURN^KD=*N-%F/RSEBS/OZEK7H$S/+B8"R='K]X4X@V! M2QJAN@A""J]DQ,9*HR$2SGW/SZN4V G;CB-.>FAS3EZU)^(]W&V?/P>3RISN1+)+1+ M<)Z%DI(Q())VM W2\J/UD;"BDN1O:BM;7XI]+Z#35IAV7-Q6%-6?,_2W*9;+ MXBWIGE8X 0:QTG414-F?3,MZY^V 374:E-FVQ;C[1FK8NN[%"S MUH600]>L;9-YX2A+BEJ!YB1!%6("7X0'JXH4H6BIFR<@3BL'WTE!=LC!=R'J M")*BF\#]D8/O@?H=LZ/;\'8$ZH9H$Z].!CD6M89*U,0-89=92".%M]*USHT< MA9HUS,'O4\NZT-6#=MV7 DS*V2S)QTFN]A0+PA>\LI!$RI8\%%386I,>=2JV M$Y4=4K%=>&@8Q+Q>91N+9#F[5*L%&"A9+(&HL7@GN1-&>B.;E12?L+VSO5 ; MAH9NEMUN N/TZOX["7]-W?@VDNNQ[K]XRU/1 1@6.KBB*>"5*F"U\*4XGD-R MCX' C>K^6_#716![J?L7U@FDK6-^RP*H[ F0]#4@&)7WCLX7OU&OXN.J^^]$ MPX-U_UUDN-^DW_T]_AZSBHD.$.55JH%E XX5!:3)1H4<V=B%WB-A M>Z&M!W6;SQB:8+X'_XW7Y)O\N"E*9JG)M8GSBX^Q-MP$"5J7:!G3!47KF-$]0[?9&WWZNBUB^(M.WF'#PN9K)+7)%&WQJ@^Q05^SM\D%AE&A3N7KNV7 X M_KW>'O*,6$YA,;J9*]>YRQNJ4./(R(VU$NH\ZH\XX MF^:+-GWZ\OHJ'K*U-@+/IN[-]);41C P%A73DGSIT+KD\PG]:MK]^:7 M^B/P6/)-+T:TF^#78>TOZS]8#7;,J V++D+R\X*TH,%E3M\FSPW/9#?$UBG= M>^ <17RE1X48]T-,#R'8-="60<5-P/64/;H7V&%R1AS08#F9?KI1+*\ZE&7,OH%WWG[L^?&'XM) &.(L>@0F6KM*!U&31[PJ0^D M)1VDW_R2NE=/?@FC?[XZ>T+2_1>):?'=W\F;FSX/DP_C^?=S)Y&\NNETG ;S M;^I?ORYG%S@9I/#JC/R]7WY[_9]D*0ZF:_[%JOY!<"<-K=-H.L25B0$BDK=9 M(O+L"S.WANJNN_!NS\CW[X>U59SQ8V&]CRE,M]]HS+IP'QF4>D>@4M*#K^6F M'*-QHI1Z/T'KBM\3MY9VE'(/#<'7$:VB7!M@ZLDVN@O/8>RA7;FZE_H=!-U' MW?]=V IZ+5,Q@,;644ZT-46O-=C,K"$G,\:@'RWY#U@Y^^"^BWQ[X/PM?AX/ M/P]&'ZZ#6\WQ4D489PHP71*=F]R"U[1X[7D1:+V+<:/:X0[DWPMH_Z;%[IR- M^Q)X#\=_#6N^&-6[HFL89J[P4FNKK66@T-%:,21P&BTXF01F22:);GU1RFT4 MIW7\[RCE'N:=74?T3?O2)KAZ,@'683J,&; K9_>JP(X"[^%86(O/H!&:"08Q M&05*)]KZDD60F)C(Z*UK/I1^OXKP@$FP+SWH(N?6H8[GX\O)[",YKS5==5:S M7-.:!\^+??#LPP3QF]OD&3,J:<&A*"5 R2@@&F$A9:.U) /)B[!1G*+38_=O M";2A:KP7.?=N&KS%C!>?JL#?X&0PSHOF*_31,FU Z#KET7M&+P(9R-D'EW*Q MV;#6]<LI=8=3GDYFR8%TIP,?>]>9UZ-5)ZC) MR*2WY*TKET'9F.BX)N>=J\R-#XG,N?VJS5=HA[9I6O#:27&V(V7OQLW[W\>K M:=/2<\DQ0"C%5YB9;#!ZI4@(-B6OG6C>/[0AM.].=[8CI?=]IQ8'DH47LE;" M06+5PM/(ZW17,O-XDL9IEKUO79MV&\61I&&;E*?M*.,>=HR[UOI;^&-P<7GQ MRW@R&?]>([SA$_UD]N7JD;6X3LE M3>F-E]9!EF^!UA+N2:YEW1AFEQ-\.?X=)[?@OI[O?N>6(R])T%$I4@$2583H MBZXI J?)LQ1T6&X4;]D6P2FHR_XH:)BLOP7ZAH*_&*5)O1KCQ>C)^.)BL!I% M$:TH=8^4(3)0=9QTT-Y"L$7R) 0=D;ZSOFSRY)/4D^8B;YC-F8.]$::\K!+[ MVE<;AD_&GY&^K.TB#DL.3(".) GE. <73 :7@G3>E,1N&BEK]&+3)YZ,/O0B MXH:AN#M KC"]Q,6\D+>UYFRIP^F"G6,+%9 MI>'FSSQ176@FYMO:H'O0AA>C&4YP.O_^"BY14>'*Z++QDD%*=9*A8.16%<$@ M.ZE*])8D)G;0BON>?>+:T4SLM[7$M/1KSHG)S+%BL3K3_N5)8^=U*5H$SY20 M$?OL)CL%-=A9KK?9CG<'_Y>W [V&2KY1+B:0#K^.!E:PU91PA M&!00LS;.&=26M;Z\:7?4[48Y/8AEN@[,(JFJLF=TAEHRN>NT2*X\!,4-\&"$ M2RE[;'YI6C/P^VH?W;.6KA_[M$^RCZ4G=0&??GF>C!/>I$3G.>B$M69$%8BA MVH)9>RS&!1Y:5U5> W#X24][U8&;\Q6WYJ*/22U;"^)J&:/\9AA&W]0D;;*F MG@HL^EC/80HR=E"3FUO?L7#\:/0W2.N%#'7BC:8_5*A'3*[#GQ/6-3GAOUN] M?: 6Y-C5M@.UO32\D(LR2#/,"63_+N_A.;[5(+,K07W,P<))&4\NZF"GN3!6X[EX9)IIR<$5)"LD60D! M@P A?)0AY*QDZUG9:Z#\T)PF)#6^T.']8%:-W1>C//@\R)=A.-^3 V=<2,^ M^>I%"5XCP8[3GNQB%D6XL-GI]L"%#G<^_/NT_-MPT?BZG5N _CZ8??SVLJ?W MXV>CV57;X290&U[)TQ'>_J_M:4#H?>K1 QM][RX/0/8VEUSSTE;1ZZ-*UN"M M*X!*IZR$R,EM=%H]!L6YY[J@P^I-%Q(:Z\O3P003_7AY+DK4R)@H4&*NQ9DY MT8J] >:\IT5C4DUNAKK^U/U>*-0K.>,FDNW#6EW:5 N]QJR2J'DF[ATHQ @N M&P0H3'$-S;GIDU%.\@UA[" M'#=092M-C F!CK':HRPR1&XCH,.0H^/&Y=;YAB.(A/7%<1=IMJX;?GTQ&L3+ M:45$WO.S_[FLDVE&^04YO:.:YJX_6#5&!#J%;-%@C/>@'!/@#9=0$N-6YI@3 MWC#WUE3P;/[,_4)1/&%<3@56F>8MP(V1%&JOI-?/= 6 ]J]>SBTW#\!?$=3CX/EA&TV]4T MX]%GG-9[YZIXIN_'LUKO>O7S)^/I[-5X]M\X>XMI_&$T^!?F5+X<)H[63K*5*]+>:[4][C4(L>+*3>%K;H3WP^GBS_JOX>)PY* M0J$5**LE'1I2@G?,@D<>@G6*^ F/Y26X)H1N+>Q%S]3TUTEM MB7BQ[-[]=3*>3L^US5ZQZ( E0])7@DX\3F>?9PHS?:52:=V*W\,ROCO%/[0J M]! ;V7I)\S_^B][PP>C#8CW\/+C"DR3_4J"EU]68!,&2DQ"UTE%:@[']+:,- M\?_0YWV1O[;G:P^U_3?*+,(HWTR?_XT>/6U>^=_QN;WU!>RR_N/I&LA2HB#W M$ )&\AEY8!"DX,"$D/37S/+F WI/J6N )Y]8O2&]UL&!RO.7-1E(*D=N2Y3: MM;Y^]WOL&NBBI?UU#70A^SB[!FPT-G$CP4IIR$CRM()ZH06JY)D44J%K[4.> M6-= )QVXMVN@"Q>/I>IZDS7]Z!KHU#7024WV47Z]#<>/17\U*H9:*F!<1% Q M)(AD;D.*(@5>2G1\[SV41Z.WG;H&CDYMNU"[MZX!D[1&8S/P>@.T0FYK2ID# M>:).<$VNJ&T]\/B4NP8Z<;Q1UT 7@AJFU):S'PI.)DL\3^H_.0T!FN'.0>"&/W1D&D:,%:3D7TEJ/J77QR'Y7>(2:WG,(7I(]:.G^ M7Z@M5.P0KOK6"[V>"#[GHG9', ,I) 15QX8[.E6AN))]29GK%!_-JW1];3_> MI(.\23LHV*.RX?YKSL?7=:;J*B;%H3"O:[U[G3^;"N3,71%<1=G\9I1]K>W' MBW20%VD'!6L]X+B_19[E?UQ.YR./YN"ZM;P?[]E!SJ[=U*SA).[] M>XZT87C'Z)RVS%3/$1DX9 DT2\DZ5-X=3X'U;L&)HV3A[SCX\+'6_B_F?,^] MD:=AAL_#8/)?87B)W[X\PBL31:RE*3:#2DE#U-F"5U+)C"%KT[P6[;A$\(CV MQT<3D^U-!1]5H&ES<9S7V?N&DU7:@+.V6G@4!3G.G S,IE]9W=1W#NA_1 MNW<,RG^$+W(GS7U4;^_U*-[#@BBTZI*C!$_>$2A5PWS)1-#%Z&AM+$ZW+LLY MFL7_>(^/\SWN4XIPZ<8+G]80JA++DB^DV2*$<_((11M(:NBM PJ6.\R2%Q) KGL@+'/4F!,ZM5Z^OC MCF/E/][OXSRW>]/>QYDDV,!P"1Z-IXU+Z3J-GS,&WH1(A,KDI#3%G' PK.D0 MAJ^?_1N&*2G@'&&+^Q4W^^ &8Q2V6$&C.0E?G_Q+&"[J\A%GOT[&EY\&HP]? MKUU^-R,**Z@G8<'W58Q>9QZ=S@@.19WJ'!!B$@Q8\@PM=\7EUGW3NV+>=?NX M>OZ7NQ LNJ&+-78^E]HE3GZ)0@F!Z0#"([?1B*QE:]]Z$US[FFRP5[VZ>:*VTK@U@CRA)VK!TH!*5P4FI'1+%NW M.MV'YU ##=J3/^Z)A!X2!5?8GI &3D*:U2ZN57OZ!MAZ&D%P'Z[#C!)HQ^): M]6A$P;[5A!5+7K7A4*(BC*SXZEH8(C6Q'+752;0^N?:O'@]T[!]&.[I(OH\L MX^_AT^J2#>?1*XYTW$I/^R./$'Q)D'TH/C@9E6U>,//UZ?MW\=NQA@F\R#0.>! M<^%#9)"+8Z"\L>!ET36MYF1. 0/OSWO8'OME(NF]8#LS9 ==>BYDT*LU[A6Q/1@ M"-YY.-W&NW36-P';4U2Z$]##A*G[8'R=4O5&U\%U3">;D'$-Q8M:;Z()/MH MROAM4>@6P_$N(].M;JPU*=*O1A]NIQ-YQ+@RV @(]_+\1@!:=6+ M6TX#EP6<%49&SJ+-O9E9M^$NH[#UPOC<%V8:%/>T@<@DM)UIQ2;5YL,['LCY 2-I" M16#F/ 1A&*,CU=2"7A6R!I^9 :X8 M"Y9E(UE_N?8%AD<8$MW%:=^)@O9SS*^!Z1SR?S6>/1U,%Z&!Y\/PX5P;EXIU M"J1CY%R*$, %+D 'Y2T=GG2 ^NOZM';^>5MDA\S3;$/T^%A8ZN&86LCCZUNX MQ$9[\KD0:#07!6+TM#TZ+DE$(H-6IJCB!".[J_%VM!;,=[8OM2%E/[F:MS@; M+$[P.AR^2:G]0Q_9(&?2"76CO,?3BA7S+SBB+^;/O2+V2F\R1E^2BD1N(;TQ MA:P25O*S_K!)6PUJF M&",2K24$:^@,KF$M;028@,*E[#+7K2L<'P1U^#L F^O#K:N$6O+2RV54]P!< M.J>;0.PI8[$!O,/D*1H3VT5M=F#E0 J432DIQ@2I. DJD3OBLG*$7"JC1%+H M6P_C/YCB/)"$.+S>="&CCSK?\46]Y#Q5@,L@E6;)*4O^8*0E5D>50716 !77?9-06C&:DW1CI M,'4Y -.!6>>L%>*^.0Y33'_^,/[\\_(3%U0OO[EB^>IY!PC#["CU\4XBZR/( M/Y[@X,/HF_78&(5DPH/AY)8KSQ2Y_3:#I\TJ2JMYR:VW\UL@3N]UW4W.#8E? MJ=Z3LW->7&+*:+#6S4U?!SX7!&Y\\3Q%P=)]:>!N;^N3LP.$P'83^G@GB?7 MV:^_G/LZ-SUJ!H*' DJQ!-$&!85V&1:+3M:)9IS]^LMCYZRCQ!HFR>:Q]L7\ M\=?E1K#NO'C%2L $&CEALK3?1ZXB6 R9JX)*8-HHL;'F 8?(3_05YFDFR!ZN M[;VQY.4L?>8XIVW!@-.I7@"J$6)&5R]E<]XD:PS;C-UU3S@Y>IN(LN&&>TWG MEN#FG9F#>%D%O5"^Q&G3KXODR *!J[/;C"L@?<&5_"W'ZRY=G%Y^&XR_5^A>,YZ0E)&EI Q*&#B>!&9P,C"LN,9G[SN,V MR8XUX$Y);?IEIN$HU?5 5Z,AGU_6N7(KG-?@/[F<3.I821):&/XWALEY#$R2 M>V'!J=HOAV1[1C)[P"2E)$?/?/.;+ML@_SZ4KW=.U\[\[#,%?M5Z]PIGR]4^ MH7^R2PMBUT>T3Y%W6]5>4^96D!6;@@/I$FF$UW3E5$B4F7TO\I>8I:&>&^Y@Q\3@$R 1:,L01S!T$\E3 :54OZ2K%(/IB?.O+.!]+RKP360^GS+M(NI^4N4Y9F"<, M(0@!8JWC=SH'7YRSQMTW./U1ILP[2?UVRKR+R/:2,F>$.,AZ@5Y-_*LZA,C9 MC""C9=%Q$XUHWD_[.%+FN[RNN\FYG_2K+=8HFTRU=7,-W0120EJ>SSD6=*X4 MVRYE?ASIUTY"OYU^[2*Q7@9/WO1G5E/#:NCG/$@N;4D:0M:DG\%8B%8H$!BL ML(8<'-XZY' _HF,-F^X2;6C(02_S)M<%=6F#NYR,7L]?AF777196"AX0K*M) M!:407+ .,OU?0&^<PV9Q?CR6SPK_F9^+J\F0S&DW>O14]LA_3[TJSEG M>\E07T?]*PEW^G),;P6]%#;)(@0GJXM0JLAU1>F!:^[)8 Y,B_YSB&OA?8\Z MM2T[>\E3O\+9XKK20?HF2W9./I>.Z&K30BW%033@:\N4<-YZ%XIGOO^C[VYL MWX<*->#EP-GD>;9U?+.(KX^D\OU/ZC.WW&&-;5/,-XNH[BQ^<,:6: W0IW Z MM QY=3*3.\YB+"49$=KWXFR,KM%.=O-)BYP5YS)&[CF8^=PW93@X.J8A:YVS M+R+:T'X@_'H\>TXEM]:--9O5[J)_/.EC[TIFI4B@_X1%Y;'+TI.GH;SQ1J!G MK2,'1YL^;D=_YVQQ%QH.E.S;!.*/;/%.Q&Z1]=N&E0,ID.3::27JO5S:D8>0 M:N4%2^ ]#UQE5X)J'1YXO-GBOO6F"QG[R19G3+9X(4&J.L&"VWD'*0>NHN?9 M<)U=\^C1(\D6=R+KX6QQ%TGWDRU6)1B?.$*0];[Q1(=IL,746WFBM49ZF=,] M7#_*;'$GJ=_.%G<1V5ZRQ=P(83!ZL";;NIX"CI=Z#PYFZ8*(P;)= M7M?=Y-Q/@W61UEB.">A1B1"(1*J'"KQ *QEW(K'[KHIZC W6G81^N\&ZB\1Z MRO!G9,:@ 8/2@#(V0&1:@3/)2>NS3WC?]+K'F.'?A;..$NLO$W+3^:QQN+>8 MQA]&@W]A/L]*,LD<@U3[]95/ D*VM$8I;&!*<*];E^AL!.Q@H>L#A81VH&6M M1=4T>/UD?'$QF%\R5R\:J_ 'HP_TW3=7CK68$+K-8QJ$K7=>7:.8]9O).%^F MKX_]\A5)^G*E?@6](^T@!\[8VB=7R#!0SI,V:E^,$SG)UH-$-\&UZX9USS,6 M$;-"UBX7S@'MHAZ4+&3P2I? H?%:)VX<:[U7/81I7_'JYGIQW/WD0\6?VY(Z;B;"] M4=Y%JJT'S_SMS=NW2]=,EISKA"IZ;HID@=,I%U7DP*S3F27Z:=ALE-#59^[/ MXV@HX?'NXFD8D,TX.'^)'\+P&9TSLR]S%;2::6>X!9-S 95\G5B#&2)M"\J3 MJR0W&GU)'[UX"^F+JQ?PC@>>U%F[JT ;AA4JE 6*E9YN@&.#L_5A@K]]ZGX/ MTIW%/VXHNX:[Z2T\00BN3([@;9&@O"PTX ]Q^&[3W2T1]!K0=I=D*Z'*=UKH++ MP7E=VQ(SO4)10!1" ?,F%E%R<6&SX8O;//V$U&4_#+0^&3H!?C4>K3";(@M/ MOH!+J1Z)U3C5)":'SK$D,\>;5GH+K;D"\%TKSI8\M![*?!?F%Z/I+ R'\_*$ M\*7^YSU.+LZC9T;)H( VP#I#DBPHCTY#9#(94G8O+=M:7>Y^YO>@(0VDW4,G MU,OQZ$/%\>9RDCZ&*5[ERA8:/:\DBG40#:EGO7.WWN(BZR":($AIG94- M46[HMW1]\@EI1O^2OZTF>G_FR:IW+"_WPK=8Q9WK?.SYN-B2 IHD.1V3NG81 M2@L^94TB"RZHP+S(O+W-\@"JDU.O0S%V6_5,DZGU]#Y\"J,!3M]BPL%GDM2O M.,))&+X:SP8)7](J:^D765T>F2(IU>DL%F.MO_'U?A-GC S>W4P5/S#"?J/' MGIKR]"?SV]IA=]*.-Q.>YE<4F)*L\ MSN^XR0$A8*Q1PU 20XO9;)9R>OA9IZ8'C:5[FWRW6SAUE ?3-/Z,DQN@&&-* MQ&@@J'I46O+D'<\%L/"@?-'N><&I$-Y'D;7K]3O1^"^2,5IL&G\(, M\Y,AAM'?/BU&!YQ+(62LUY?%6N&K9%+@=. @5!!!%^YSD!M1O3$Z^S#!N:ES MGGF,BK2!XP!+HB.#5=V0L3=^A/FSN/EOC> MXO]<#B;5^"7E+N/)Q;7-3OO@C#,>=+&U,4N36$*]5",Z,F@LB_YF-O4AG=G@ MJ2>K)ZTE?H=N[!8W?3;Z/)B,1U5)P[ .+_I&$.]FM!'6G[PNSP>C,$J$^,UX M.F?F62T9GVO]L]'E!4[F7A99Q,N. \S/A^'#N7,P).-!,XG M(STS6>%F7FZO,$]-^XZ'TSO4=>>([EE*D\LP?#Z>W+-.>NG.8\@F.\X O0V@ MA$P0DB*@TLH49*F3E!I'=C?%=D(:URLM=^C/;K.M;I$ZER%BOOCY3NU_.9C. M-F@%ZJ X]8'3*\VIC^[6 ]1@"8WZ?;[I+SJ+M/&$U'K4R5U/:+%]8/[FDU=9 MW!ZV@CN?L_=W_QZ>[GR+[Y/.VIS_EB_DM1(\3/GG>63V/3WE]6CXI>.;]^WG M+"A*^8J9ZY_@[K*[:S49Z/& P7^/1:A6&K>[;Z@+CSZ!U2\$$=)/QN-D[__.W:J]%L MCLY=S]C[:]VGAMP>HG./6!OF8[^:*PL_B>Q3G"]AV@N1ZYYRTE0^(-K66=.G M6)!.D(7>_(T$.5V5NJ)-(24%.@H)R@0%+FH!Z$S*)ECR+&Y,3%E_H?:=3SA- M&ML)=6V2.<]Y M5-55)*7L8%B&S_X _E^ ( ' ) !H ! " ( 0 @#" 4 D (@&@ $ M, @ A@# < 8"0"C 1$ 0 0($ $!1, !$4A !!J 0( " D# 0@D ($& MH % B @@!0< *"4"A_^L-0(, : @ #0>@D0#T?\E_LT$@ 0$@(, R/]J M(" ! 2!@! 0$ X"(D% - @, (%!(# $!(:#P$@0& V* ( B0* (""@"#HI M@B+0( 0 A "!$! 0 @Y"($$(- @% *% (!0$A(*#4$@0"@U" T!H$ @- :'A M(#02A/X/QW]K@R " 0 AP"0_\&" $0( @"A$" < @0"0&B(6 ! R"@"$0 M,!P"1D+ :$@$ !(!@D1 (!%P2 02$H&&( 0! B"@$ 0< @""4&@(2@ ! 6" MH" 0%!R"0D)0: @: $&#(&@(! V'H)$0]'\4_,K;ZH+QJ'C-=RM+YX((Z$32-/K:%DZ ,U"+H^ MVE Z\HGY32*]>F/96!JW(<)RK+%\(DO(83Q/O:EB,E?2[V1]K.G+=*%\-!Z# M1G/E;*E:&J_5>'/5_!>]4HU\C18$JMJT";HQWE*]5&<[D,B@V5JSTN0RC[": M:/VZUN:].YZOV5:[T15T?;(QT5;WXWO$"WQ&K?;Z[8%X,J ULKUA=^0SFV:! M5D?C_D3V!YG/+P[_5$ M(&<G)231#);9_3V%)U+,+/J>K\ MA4[ZQ"Y\3_G>Q><1Y: G"+)?V6HT&X_GK9E1 9XW+\R9K >U_Z9B2 2HA&SF M>1F?6/IAO!KACO<3&.$.$J3T=VJ<_,TCF%PG:W'>-1?P/6=GX.?NNG3INB$SD4<-0;RKT\L1YCB^*[.39VK, M=8HYRX5]_GA&<*8\NI/=@XKV;UBV:>V=EB4*@[T6.,.$'VF]9EJ5)*]FU;B^ MWLS)2SVYN<_$Y[JZK<:J'K=@I)I6CX^E5+M]AC#6>/@8]Y\V-5+,Y_*-:+6= M_U[S1H^\2PD!&FY8=@YC3JRF[_2=N>3CB./NN;U--!5#,JG(K0VZ$%L)#]%. M9"?R1X][W.]G.S->?9?"5Y/P/X3R Y>>"<#7.Q+J((SE;[]3-B1^6<)CS.\2 MH!;=4\S]&S1\U2^2=-"++?CT*_; 2FBK10-17>/$JG-0NBUN_K8"^]0=$MF^ M>6PW\N(RE8,7>OW/^<[TG\[3_=&7NE=A&U'O3MV^#E#Z++%]ZY#(,'Y_7QE"FH8G8W7A>(7%NZ!$=8U/R-)DHHP9%[4 UBX-$P<"L:P8,S= M/>K:LP[+9T1[;5_>88?,))A?]2_61K:S67?N&N[R<;YIDO+VBI)$%A.]OXM?!\L:W/9]0_WRTYV.BNOH;PS$Y*AN8:@XLQVC+!#,H&JYK)[!WV M2(JS)2BE'I&DY+U/3F3H+$RM-9'NSQ=2$KG.;)])9X^()%2@>P"'J(VT;T1^ M>FL-HQIV5QM6I+WZC(X738RK,!$@P21QW_'=Q-ZF8J4JQX=@:#KD7XSDJ!(F M:#57_V# -?ULQZ[I(1860_EV:C4+\D>XI^- M8Q*C/AG,(/>9(F!$CX:WM5XDPW+/$<-X=/5W:SN:,&U R4PKM4#31/_!(SUH M2+VM7P6R$EWR8RIZK$MLK@S(#F60N!4*>^[/] "@';(%"@X%!G19G$,\1S0W MKXRYQ0-YOZ*RS5?Z+T'1?>10<\Q!"9&7V-%#Y%\MWU 7V+*:P%^)Q?-XO=4 MCV=V$6J4=_]KE^%#+7:3?*R'1>XNPB8A7X4T$2E"H7UP_U5@SXN_FS FCX.G03P;8DOQYM)<0NGOF;? MUSI-.4N6U(^,W!]U(16="_)WNBO"7A^=P2+A.4KKF>4I!G5K0-Q[<;/E7XGR MWJ\^+=94;@B,UV=8+R"BCE',N8WW<]E3HE:5G'MEC=QU3:X(O6= QVD%PV] M=U[4+]/I!VT:I?").E5^37K"M%1F@A*?PF8ZM6(S) 6>Z*\D:RB^-MWC\B@G MOKOY2)ND4WKSP2QEN$A0;?>F[@R-'#77FXDI<<]T];0'G39&RI%]M49C/6EX M%U&>@U/'3D9,>7/E:!Z'*-?CYMT46L(PBEWLV3Y5Y^C*)V(+][[PM:R56TO7 MJDB-?7-\\/8,1;[4.5\#9B05Q<Y_2O MF_C-'\._%DYIV]/?Q^V[&-)G/V;H::Z1#\\?>_\YJ G6*^;26;3 M6ZHN

PJK#GFO;VJ^V/9PF3Z;7@^Y-5CW]_1HS$EV15^\[07)@H%)A_^6S: M%I4O6J6VLY:3^#1(_'5B4<"@ZO/+O:6XE9]?VRZLA\6)W@0+6ZG@+# 8NS[% MF2_+_*K_U'/V7?>:R2%D\U2%OOOUI^5?_:4!AEJT)7V@-:63Y-\P-%(H4Z:K M(FJA=*/T9^U>ZM"-NH,[TO2Y'Z_BJ\>+T,(],@FW_#]F2YW&K5OU4A6M)I1[ M)FP_ C 0A%TYG2,R=;*EFLF^2Y%[8B4#Y#\[2X49LOCJ*$2;AO@D;M[AM4>, M9JJN*EK.M0AU#0GX[YE,.+G19;[^@"T_[V?P[$IZ(M;#OYR13DV1E]*$3%L*XL+98L=GW5Z5 ,!\.:^$O<#_ZRB\HV^>7JV5<(_GC3P#\^ 4M1+I()Z9+&T;LLEVD*%TWZ$P,)FR(NR-N M@D./%R*OD_X$TE.P)F3ITU'+K/IZEF;2FP;IO3 -^33JAAD3@I$M_,XDX=O= MARTC'N)#J9@@*"4[GYX1-+XI*0\L;5X:KAJ@>)S%2>S%B1R.H+.JPD\Z6/]J6.9*V&1PN0@W[81JQJF'E"5\K MXM3$$Y>N+;94E'YA,IB8F \IF/M0AZ]4*/8[23>U@X64<4*_?* 9 9O$Z"$; M/UZTI]!WO%JME#5_H^I@Z#C;9UUCS-FU%YM;KLFQ&)RQ'SE4ECJ5G50*@ZHJ M!7&1TA4JDJA0&6Z#>%,DW?'9/VIPJ9GZ6C' TS6JI,#&JC-*$OH&GH ])A>* M2&B;+_8;R]5%W[_ZBDH!B4QPH9\81FE6;C-261WC%08K^S,D['##1M]XOX- ]WR!8.6&86W^4/Z[AR M]6PU/C7186'W_HL3DVN6GXQE6/TE9M+@316&J.*N1I@SGTM(53:4"&T8:J1BI8V:=D2V==U'/_[MV9Z M&8XJ(09['>$:W.;J^Z5!Y)^Y[B/44X.932T;7$@Z?N>U2NJ]>(!?1IF^*!>7 MJ:BYRZGKMJ-W.[%_INJC!RU[Z1)%I@E5=8!":4S]_LH*/L'J-Z+EHB"--$S0#Q-]WH MQW%5<:= ;3SH(>3.Z",/JW],*M]JE/,N'LY@Y7J9]II8[%%V3)UWOD5N>^(: M%3U,\FA/XNM=!9"2%8$C([]D@Z5>KL@%I2N!DDB^SGD;BB]166;*M6=OP)G& MJE@2AAVM4ZW&3( MF++,[)%,6O%!8M50R\NM''X3[KX3M&T'@R=\H:=@Q)P%J4B4ML7+B$F_$TG5 M1HJD/!_O.NGZ%B!<=CL4RGBGI=95\"KKM_@X$#L&+?7O#RVO:U:>U/FAJU_T"0Z-&Q9Q5J[Y>G>/V7F(:_'F% MTWZV)4#/24Z-MX.6HE-UT.3MD.Z(HX +3T=A,P&E!%L,7;20M*"0RSO,' W; M94EH=+O.TTA$$KGG2(","ZT2[D>Z]AV*O_BBT@&SDY\*@T%=*S+N:@?/:3G*3!\*L1JH @LU*)=9F)K M^]LSG#1][UJ#@:[=U""V^FER:YV,'7>8M?_SJ9.=;=9KU@3KB8!NG5%7@9JT MV>UQ-79U/Q&XM4,4<6[0HHRTQVHQI2EGZ%I4_KV3B,M;6PU;4MRZ^3%YS3R* M,-)9+(Y9SM-H$]L($-']G:0GG6!GFV.7F.*WFN/EG6^OG6GOQ M>V;P![>(<$/(!@$ \7?SDOGSTCWSLAOSK_[.RS,L*,HM*'G,YP@%V).\T.A9 MT-I8T/F[H,> TOU:MR8B;UC^:5I%7>9#;^*BIJ>%(\1P-&)@]R&"83F*<#E5XR!5?YW4IV_DI.STK.Y*S!VQ=Y#*M2^775 MI1*,:C R\]P)B)OGUWXO6F7N0Z/:6 $FL2^#FI9M](J7<)/'FT8?]B;W/_V5 M+>^]N\LGG[LG)7X0I2PJQ6VW:%ZZ?D[IVZTGVJB1OQ*#DMM8MOJV>MZP\K>D M@)!2..KCXKG3WL;&X=^2A5B[ZOR^_RU#H"4Q1]3-#8M,O/BLY"SF/YXR2 M8X%\'6KJS9:/&5.9?Y(-6P.+<7([!\.%PG2FWOIW!8&7V;,F)I4[#'.*:T*H MNRF,<_UGY'8;E!UB^"GB^,=?;^ZJ3%DI3>VJ7>QJ%)@J,[:(D>XQZ<_C6>\; MA^_+,&SJ8:^:ZBS8&7M/9I3W,?_A$!$2_;-[;K6W?7*?+\) M%-@FUL:D" @F;5(P!61Q<#0*_I1M=B%\\'79U'#77D#=:B(: \BDL-:JT3^$HJ;?Q:$RO5/-; M:UUA6R^(/=.MC5?* .3W!$W[(=W)M2<^B2"IT:O+P/=_ -Y;!EE;09_FQW@Y MNI#9&5JON5N1#/WT;)](YUCDBY7+CI[J9,Q;&3+?"]Y'HOE4I8]=@8,2<3@Y MHNVWLU1J;)I=SWES_N&>XHQ3V*R68XZOAZT]F/K^U$WYJ?ST\/;X8?_C8[W7 M8^?[QUU\U_*VD<>-J!XUTK;-/Z-UIWYU7F&%3^]_>IO0+R5[T2$CR;1*. ^C MU@K^^'DE*?;UC+:=)#LQM':;Q3WW5Z&B#'GNLTQ+UJ6C^T'@P4I/H*_L/3CA M/071V<]GQ!N434^ !MTM^2A,0D:E;+UMQ5A\=&A/R"VV?7$"";]!\QW>[E 2 MK8QG3?;+,M44)NU,I3%A)[7,.H.4LNS$G>$46J? F^7J[:F80< 3!JW1D5Z) M/;LVU4,U_G-%F@G&M\;M[J ML1%H5:&U(A+BL[^9+$Y%N]%^>_#O%OBVL/'=S:9GLG%6P7I[6,9^.5#BEXU3 M0 9J33/X$GTIKQ1^O)T M&J1!S-C#^EMQF:W@QZOL@NZ 0\KBKB3BL+_*OY&X^Q7W\1&*@@Z&61%_8$ ,(18S+C F>W$V&$J%5.KLJ2P^. MQ-&JNZ!$=G;I18;=W%75&T-=952?XX%C"]C$1@Q88T0%:S&V\!I":7&\B.8? M'WYE*#QL2>?+ISYFZ7@UQI%/G]K,+1?Z59W^UK75')5S,[O2KN&PR&Q1@5\U MG^%>K=,INF&H/OTH#[VH,(]%)VOTR#$-I;6_,AP#R;PV= ML#Q*=Q++_96UG^Z!7>-G; L1MZIMQQ^32Z^F^96^QY$][;EBM>,03BLAM]=.\M?XX>QW9[ MC_41R"[ /5,%/($2PV7MN@WB^1:TEX5VO-\M9%)IK%3AP]*D=8[E"K I;^X;"9&$,;2('O-QN2Q+S!-9SV7GB5:MNWM*FU9< FC M'F00T0XQ.GYYK[=;T\0PILK7G_3QSI>6UG=2)+^#-36(BBK:%.J'/<&4\^LP M5U1AQHZ^N^C(V*0(/>8L2PC2'>)MK$U4/X8%-.;]W<-!2T@:U$2?;.\.BE:H MRJ\2.A"M4:MZ*I;_P$GDD,#=12_.M]6F?XS)8M]&V+>KZ^C@!&8_J7,I2XVO M%'L)/+BL@?=\NYFQ4JB5,$JN_24)]EB2J0=+]_EBG"?*>AHS9 8YN,^X,]RE M#J K39G"JFG49_#44&EI"Y=OL2UL1'L6F7[LRHP'DFK]Q-HOV3\I(42U,(IJ$,B8B/)YT!B3E]);@']. MQU8^,C:6G(&)+Q0/="(_M[M0=-PU9HYUN? 5M\G:/)!DT@P=J;Y!R.XK:YO* MJFM-PQ9:[*&ZY19/'Q:163F+/DHW85.L:\U)>^)= ;6R(=&F/M)?Y/VDZST% M:/)_T&<(>%PYL^V<,;_+(V/:;N\ONG@R]&HV+ZRPQDW2QZ32E^!@J-Q1M;>Y M&34MQ*/W52=EUQ-+9^$OS_U7AF\5LT:1$F^\EW*Q'LU\ M@E3_4I)D8K]0^OW,R9$E5-3LX7-&PU.EH-^Q!M)Z,5[_4 ME+(*SI_W &TY=IBT7_XC+UG5I-EE-M5]X9!2\V_!I]4U[L6I_M?DF3;PID_+'3O0%^>>F)T4? M6VWIH?:]34@7IPQ.&]@"FTMZU4M-*[^O7;8')N-1!MJSE#2,9A"A%)HU)5S? MU'V77_KG)>FA4 .5WHX[[V1$@O<+$TM&)B(KNULT3HR%!,&:[UE!VJD/8YKL MM,]?+!MY1EM,+LR1IV58JMDL,*SEB5G[9&DBCYZ/\[LL1,2Y'*I?3 D47C6M M0,U-*M.[\LG@*3V?-^AES6B*O%[?*L>%<$WC%?Y&#IOGCSF]!7D8IRU7E%+& M+%M#SQDYB@B/5=6 MB$A]X>5?VX5L?%>7AG_?1'#9(>?,2H??F).NN2+,MGPG1'I3 M]YM^"32E?54V>E>]DN&&KB[?5I1XZ;'/YIQOKK4AO$*=)R(N7D[;7FX4=Q%% M*?"E_#3!79/X5GJOC.$Y2_XT&Y!FC.E/T"A=UC&6R'VW!6'K5K<__5?'^Q5! MYT2;)CF_W!43I.A(\!2N(O^'J+7@WCD(\ACZ5!GJ VA0<;'V?1]?JS M[390I _,LDYY FI?$OR6RFC8*)0TV<5)[X9U"0LBOLZQ'F3T/'^#MYN-GMYR MC.DN5Z?-W2&5MQ2.Z_(698>&^B"H%AF&R_2@Y^IKS7W*4*%M7 M\V/*ZX!:>689W,Y5?+\I&8Y5:>P>O'O:D#G-4&'V@+8<#HL;*U+3^*_O_;K6 MY- !$LY&&[+^?#/H4.>W@C^/KRHZ%<*&V.C&FLO7HY*=GKZZ$-JD*#=]'?,J MH$O;]4VK'; SH7G?[1,_KY5*BY&/X977D!%F[>,5?:O?MR+_6_=7(;GE]\>U M:;>/8\2(,_C3_B -3V\#/5#@9S> /E$ V//<';0Y!I2\)P09 MM'0,=KG*_SU-^ D;#YQVU^0^QYS3<%[@96HG6S;7AZZ3%U+AXRWWKBV+4MC_ MYND*13K8\B1YSMI;%*L55FM'JT@9DDIOFEB>80S@F/4*8_.E0!U81)30 ]%7 M^')^3=5Y.7P^WL_5W=!3VOPL53CCB"R11+$*T"M$+@_7'/ N M(\&0?>,C.D)N@%6*K_#\FF]").= G5:&O&!M L-_'J8[6NY/P!BVSB).5H!7 M(U?UAE%>2WIA=P!GL!C_1AQO4&E;DXG+3$$S':WD]E+4LX-GZ2$CF U'-K60 MT?^3YPX7%QV5U>/7AY>RR?JROI=G?9UU=Z"7D;C)K(C%7SX(':6+^GCJ!7Q_080*;O$ M\@1'29-JB)(<5FXOD\;H8:1JXT+Q&K!*(E2.^41*QK'@XUSOEIWTM4QRKGGS M?E<.G+8!%9\ZQBRSR!T?>,?_P%*758:KJB]#E!K_IH\H>B+^HJE+DRV]XBKK M/"0A-%+ (KU61>H3AR/#32B9YD2VI1];#]MW#^DO(]?\MTW9ZR1<]R0DMW3T MXAIL; [?MWXA\X]4RO?0LL_SQG^(XE?2LVRQZV2]G%@P'-F#O9'*DUORX_M! MU_EVK;+F2;PDM+/DC?2K%VTCK+&Q[/$DT:2-32\G1C^,M6?V)"5QZI-F\N(X M"G6;/TS-U_7RY?G*%0NA=1G-:"/:J*3Z!HP2WXGR2GR%MX_=]6X\UQVL MW\J4(,$*U?C"SBM) HW)Y>-]88KDKU9DSCZ(#D9/IXY.FJO+"FXKY=VPS2() MI130Q:9:S!578P7IW\4IYB6&F,\,913M9)JCZ;K4J3*U@/\DQQ'+DX3OQ+W9 M9Q7V<;?)6125C4 I.AAL);3*LT>.(XP!4V>6$\I_RZO+0!1RH\1(C+ITCABE MJ3)A)0Z:+H9C D[7D@]E5? ="CI]SG^\\3,*"4Q-,U>*N$10(NG^5+7^;I.C M&>-G&EVLW8+OZ/UHRI[)?1<6$7&P(.XWU,YXHST"FAQPZV84[;?JHI]6)S;[ MP-7^(J%&34.>L-=&>T%!;&&99\E?F8].61_77SX8)O<^7;H$W^ X)#U*H-Z!\%3*E48-X1LEUAEA0=0XW^^^S MZ_,:?:17(GF8)2BUZNJLXJRS)J[BA6^KW1\%;NEF",B,W8>PDA53DT^-VK/T0[C>QM0<%"\5.CVYK6[$?&>_D<#',_9)/+CG$GFPK-(TMU0TW"9 MILBBL52AL20 CMF*\8F56,;B$O,MTB+7?Y=;R\\7=7 MQ7ERW)MZPG9:XI;GK9ZKB^,!B D/8$)?47/7)'#0XN,M:?IIO\FOUX@9O:)] MV3[MU2I9DX7@C94 _!#YJ2/'@J ,H2\-?*]E"_R1&LUG"^\(!_?RC([<05'= M3:$4RV7%JK*#4Y(RG56&.#N[*=8K!>ZNK'M=+P_I2%U9O@16"J=Q Z\]AK(8))%6XBEKBNG MY&5M)LXENMAX.FYXA67XAW'89V.(RD<+%]D*RT>+]MJ*DD2+;MGBM6X1_][" M^5%V'4["%]VV+8'.+Z)\M!>4VY>\MP@*8>"A'CO#JFZ$.G%>TA%C;^ 5V ME/_LB%0*<#PM13 8[>.W603L"9XMOR=GU05/&.?(A94OO8YUA=[,_?.XERVYGR0. T(#3I"^$MI_GM?;I*VU+] M7G_8 6;",]$CG9]'/='-H/ ]H_?@629EA_-UOG8^1@:/G,(T$&6,M?'5TK%8 M)U^L].XD2W"UM8)#W\\A_(;[?/?[',8JGJ/Y?A2&7JHE5RBOQ@FB!6YJ^Y>\ M*-*PPWA=*;578:W29NV9=B]'Z0T;8M%H")6T.'=C*-TVQ M=\4O]48E_G7+?@^I^5X0AV@\9.IQOPS.X**WXWXP25V$/JBTRZ!76;I?/792 MR:?NM2TKZ- BB39,B%3_[/@CI=.Q=Q:[S*08:%KJ-O4NIG[W'5_2@UR]EER) MG[-/;.>.CR:P=97.;C>:&95'>O3SG.*:7;1#CS3ID>UJUV$\C9ZJ=.6V_+OM MX'QFA\JC.V*W?YE[-R]I]"2'1T^(< LOL8P7MO(O@TF@YMNH\6([7:D!^UXB MQ!+<>;RH_;'X5036MTCU&8QG$FAZ1Z26-[ZW=1O_IOE>^<#XCOU)F+3XZ:HV_VCDQ@A+B#X.6UM[[,XY MT9Q44^6E..UT)5YB,K=[L,5/%O0<.\*&;9\RO2&ABWR:;?V75H N.K< MNA>?3M,7G&S7B8S:]&+5]: ^&Q!+K!0G-4\R"3SA(FN2R_,TGTI_RTM 4J2H M]Z7V.&P9#FL!6'_YVE/?ZMQ!T!F$(:V'FI)U,$GU/;W\MZ-.L;D&5F4 R]F0 MFJY[I.W D_N0C^[=NHK,:7 MSDI;3 X.QMT,IXGV27]UD8Z!NF;(\\-*?OVC\^B?8YJ-T7&:&MN#4C=Q8Z)Y MYF7/ YM/0?REEB >;1L%Q1__\OASXA6?>85*\O?G6H>0@1P,TL3(%;0*?L@[ M:UR9G]YN;2:\$WO=LY%A$T$$K,'NLY5@G2@,M:M63^.YV97GC/)L M1WN:7ZDL^Z)FE.R;VE-DO=67^NU%5,KX7Y#2^7,>"EM"<=XB1*%T]X^69- M/2C&!D^8^4]=NT\:#<<[M>A$DW& ?'2"($?R(4G":_S 77F6G,/CIP5S8I[J M_%F<-(XP_SF/O33NHU:(G^Q[/X6";*@SGJ8"ARC.*M M4K^QW?PZKF UWJ'?7S7;)MH-83,MW3XB>O;:A\I"Z6F]^"7_)I* [URW+%PO MG8*"^FP2Z0"/-8!@HV-V^]YG@\1XPI]OHZ6?-!,C"U[CO*LQFM)@%"8*Y'O; M&^AT>A[+-VG0>;EX]45.(IJAA$9,;3(K\>S>K2=H.6XOZ>2EWY1DK>N%M@Z^QVM1LC[PHY(KAR&H+$1=H7)1.:WZ'(A0#^:9*#P_1>],%W: M'NKG./;" !(^EU_,_3 T'I6(^]$ONWYJ^&_]&I=+UN$D6@G?LZ-+-K7$62Q% M/E>1[<'/S"#7\<&YC"JT.,P_W2)SRK^XTUBT3]S MK0Y^GULY>>Y_2WXT_C%D5VG=PZO4+F0W$&M%HQ)&[;,['(??$;(NF;$SF,;P M9C,O^+KZ=5UL.;^'M,?>0!4G,9%'1]-!?S436<'?^\N5^G=%/WS4XUN^=#JJ@*PC/O]*_SU;;O.I09E?.LRT@34_K G'GFWHF M!W1XS>/\V!V7PWJ1U_=7_QX?KJ]__/S^.@*-2\W\?O#&>);]BJ>=.9JPQ)\9 M9B\IR1)#(:.-8E@R'8K MD8&'#8O69:O2X:/,PS+;9UF\^]W/"J0\*AJT+\E*H]5_5^@::R244QBI3XIR M9.J_W$_7D3+KF#>Q4%$F !M[5J'T]:O&TG+TE%&I6NX(4P?7=WWE5)9O-U:H M+&9_C1E;!4]V?)+)HQ!9<]@1RS(-/?D:NQ[2'/DGT7NX/,O%O6Y9D>L+,X4Q MW",KJM7%_?!=X%II?,<\3W4-T3RW8ST$NEG3EG^RXE#6@CYY*7=Q8_"A)G4N M$QH\*(9P"4UF'-\,B7U9LI:J-=P&;$%9*R$)YZ!=YXK"!%!^E?'V4?Z.?6G7 M')%]1)>G>LX9;3+L;+RZB/I'8,Y%]TL/F-B1EC<$OEA+1>^.!] MNHZM,:H\ YS/0ZGORIE!D"N,VSV?@?L>GM2S!76D%/6\=UT<"\G7FLX/.7EA M(C>S@)EL2<43S>@ XSG)KCK?"*QJDEZ"K+A7L?):S_1_8[VJ+>D1IA-8TU&-N$BP@?8W!1BS\DHG/+L6 D6SR"W M&[/FH:M.7VQ$KC$KS=Q:]KN4+T0Y:5=B>2?YR@\3LJ K[5#*=Y6C)P^A7B45 M$E7U,VR=9I7IK)GKP.HH]#^A/);\JJIFO)Y_CH=KL2Z"/[$K:$NA^SGZ&R>N MX#3M]743V@G,J?=$ZTOMHEQ]4>N]/C6)2Q@@T\\4\KNBP?/,.#17->-&DSNDBU:+LAN<_1GM1B/->SGWRZ9X]3YG+[*,I7AI;Q3+-I M0BF',;,\OQTW=LOAPU5F'!5W(R9MWR/9)98R<8-=G2<.AC8TTZEZJ=G#R/XT M9PVGJ0J[8!@:QVI#1>'WRE*!U[/(AY5."H4/2M4(P<8HO1E6RWXI7<_PNKKT MX4J"#S#GXR(_,.FZY=JM4Z+-P226H9IB*I(=,L%>S MNTI2KB)A-0O)(M ELK4, ;)Q>6JM5-,)\XL+/^N^_9.%=')!N['8')P*TNBJ M!/UO=;J!J7"1IX5&N8U])R\>&@L!1>*Z=[&>BR^V@NG-"O*5!:&G^!9E:#P% M8HV*?8,,%JX'ZVA>4/^U$)XC5[LU^'OAN:Z(WGRAPQ0VH\G-I]1+-N8*3LR> MGV'0CW!]RMG%^[&A[?G(C$M;\I0YCC/%P MNPM6^@QF6M*L-^(T\UFEI^4G86:#'/U*]FZLB?JOG!L$ K2 /J0;F1&)F@?@ MYIA@^PGKFQUDIU(:PF ?7R46U/N$^BDD]6)ZE=L0J"3WT_ F[; DPH]&43R M#1IIS'2G6Y1W0_[;9\\U\-UUA*KN@/MN*P MW ULN4#H&XDA'H<> OP166.R5?$AKF<6> /?8(;U[1@!]CYIG!$X9/9* XVT MQ?CC=_Y?N%]1? BUARI/S2M/QJO4-C< _XX^T![.#+O%7;X(84S,%I,V81MY M<)"4N^:._.C5#>MP#CTF_S[<;B_^WE:'-7K89M0HT5.*#1GYTH\HS/.2PB/4 M(62>:_%>8:$OX?ZDGCS:)J.FN?&>PLQ-VTTR.1#1S JA)\B,I!PO6/:.E=.. MM]"J[4/%#UV%[+^23E(G_N8:*$EP ,9J%:XX2OV">!PT:73.C#6.SX JL%V/9;:^8G31W-#RFAY7B:AT M(E!".W506$ I (7K+/U7!1JAM#!+C):4UQ3<@-X*76SX>_NI6?J3]7S) M.-9%L$EQAL]W@E^KGP:IY^^AKFK^9\=A'@^L*[2WG7JY[4.1M+0,X!;5@NXT M"[PD3N)K7!)XI6'R>:=M*VKLV)A+:96P?,2XY+9^22G)H$E8T#N%\^H?>[?+ M2,>G9T\EKR?@#.!-3]I"%_H*LFT00\LRF0WM!A_TV,;5]D&EO,W_KB1 MGJN3U>3J8;M-C&KT^Q0=_JLR\;<>01U=7K\(08*4UFS0VY.YRF\-B5).NW'5 M'VJ'F>"20Q/*85EC] MI#V02,ZO&2G#Y06M0U ]O-E=!%:OE<6"['4F+68=-DT))7_$\=%6S)B:N&7% M]83&"O4,!4T-AUQN-=M]!+)N7,_?4/RP^R#89N5W6.P4N[X%-*IX[O'S^!GY M#QNJ+@VAVMJ&);4%1BX3:O9_;WNW9[>CN4SZ-1WN!N)P-BDN'SO-$7]PT5%A MC@:(KSE)N89[>%)C _L!+_T,#'G$AOQDDT1\3#9)1YK2',,Z+BXK@K3EGPVS M7M(S17R_-JV,X?KQYU^@I#Z*.O:]281Z5FX0:G,DBHSS,LQ$_>ESP/=+4DHI MS)N':+]$Q M+IE.]T?"(5QM9N5_586&QYBB8XRBVG0%-Y@J"_,W8.K?PHNM_*N!D=JTREB; M^U3%+.D _L36=[G_N(<)0K94SU)LI!9MI6BKBAA,T,DJAL*:Z[8,MS@&O;B$ M9%W3=;2F9VB$@E )0E6M)&S;^8*@>C\G)XIT%S*Z%X3X@LMVQ, M2(@&'*1C$,0XD+3YR34)#(![Z^/6VS$*KJP+B5)1V,,*M%XV\Q!/6%)+0;N3<9 MH;#OPHNKVM-/RXF-&!^X#.9*MRE"2*+P5HEY<>9>]3RG#H']39G@%9BA1GQX M=C*LR;#[ 0.@1L &&L?F]K84_::V'Y,S>O[B62Q)+$Q)="^=D,)$'Z7GN:WW M2<',%Y=N!*GC8::>BL(P0X=M\DUN2UU8"MLKC<^\P=% G2F;7&5O*6]-W[Y+ MZ;"B(T+$!?<5T2@L!QLE.IA:932L ,=GU^*7BGPLZDW+>#=+E9L'_HGN6.H/ M_U'XY%T)5F^-\U[.<%RP9PS&%A A?]@)C1LKF\^&KGEF+0N+Y=MO#DY;1'O:W@N9+=5;%>?0*(]R,CIPW^6W^CI5K"5LBN]68 MB;RP1K?UJ5GF3 XF7USKMX_(GN&.;OFX?4> M5"]A51%W$'N92>Z#H7^3:6Q%_,^RF MH4F0?:!^SZ[\B\2,E,*')>WE7U*1ES&YU#3/QXM-Z3.,1&@T?]&[ZE :P3'] M"8E?]\=BAY] MP-G15CRB*ABNTJ^,BH"HLKM\=X]W#=A5%2HB;7'PTM="GK.0*B21\F3P2Q6! MV9'U')B'#7G]?"[X5K.7CLZBY#M6MH.7]UFEVN.-6X=_K;@3ER3)WPV3D>W@ M:;92M7^U:ESF8/#61+0R&%LAB&,P][3$DLOO.IP MP_J2J.QGLG8I,Y[2@4EE!%X^87%FINO[#OTI^B.YD#T>@[*G9:K0"M7*FF'' MW]KO$<[![V8#K? RH'1VO0:YYB>&>- TR>KFWX6JWBXMK+!8^T$1"%#QU\&W M(*!B[PP_!8%)B>4D/[/W><[A,ZZC&R-^> $F=,R7(4O'[&1T:TCDC*W0FZ;( M95YQ<0FZMXF_F 5IW&@P_P%AUKYX9A"R.NO@P'^?HW]J&) &5- G#Z+$L6TBU5/\8 %[/N[ZH@+@58O$C'DN]'7X%( M#>;L6$&FU82#[?);Z_$@D?&VV_T:/H9[G ]XXL.M!RGI.O8DBB/6XN3:)11V M6U#AJ<,JVVE(['GJ'(VYV/&+E7YE1)9#Y=Z5ASW>\%*H;'4N5N]4P:!;@-L> M+6Q-F".FU4-YQG6?$:,=@M%J[$;C.4C8,0CFY#?I'_2YT*G=UQO,J];6&])F M-TNE,!-$4>J;GE]GV#:G;/VR')0U*NDM-EN*P;I35N'N5[E(49V3(BRAIZXI MZJ]?M;?5CHU 0\85A[2=:U41+A?,_X8_OTH=_F>-B'I9E*^MW.'H7C.\/)S\ MAO%S#5^L30MBBG9J_&* )K!6(>(H\?AGS$(A^GEO 0)##D-(L?=,]8[/(];E M)'U7BG?HC)9.FE0+D]3B!5E&2G&M6:TG?+TNF3M:;&4H_\[->N'L%=)Y8U@[ M)U-C$)KU&&+AD<3/E$+\USRSBB@G0MUJ==4#8OEI>>N<]^0D.SS1$9 'Y!Z_ M?44=W/-R Y!GIR6X:E12&<8>_H"\C*2K-JC^6\MW2.NMF!V+#!%63!)0@=5. MA/P45[EPL[N [B0G^JI[O"O'E$ZJ[7-#:N\_9\VH3[&6WMP>-BW'/MJ=+&AW MLO V*WB:'C3'0S$;23WSE.;X0<3$_G;#FO^,QOP9[IM@00I(C8(B M0Y6*[K3EGAU.[0L&(+-4HS$/+7LJ'WE7Q:Z 2W/BI6+8Q<'J%94?[+FARU04 M3( * UVB+%@'V1\BI3^T+./T>#[50+IM9^1MW7^FDY3(/7MRP6SP9%W,=7X :> MC7O5G6KR#5\K9PETU[A-8( !2.A-L\*R&L#-\U]@ M+;D*6F"F$S(,8VQ8N9PS\":93!7:-B>>_'S0E^QRH&SKCJ1=I8POCI ML[<7D_,:&I^(>/[4J]XFX-UX?JI2-,BH.GS\%LL>Q=7_C\(IJ)&X=8>M9.V\ MN 0JZNM1)"CC,4OT9EP&Q;P"U6T,^0&<:?HRY>L?>,GAH1813^[L8_"^J(]] M5,QJNH4Z0@W'(X_O\2<@&I:@X*_ZVF$_]5)YH=H(C[]SQ[*7A&Q>&J&#FR( M;A*9MBO':DRV-+'$P5,A!Q*-J*S=>=?%\N=QX^))K:KCJ1,5Z$LI+'NSC<'V)M1MC5)(^07 SL9RG_77*VI4 MNFV2C(XWP^XB@[.6Z=1N\2JP80R#A(6FSJS R1G#BMIWQHX7S+#!/;Z#D0&OJRY@YT M1U)K\XQRB+;LCL#K[C>?>:F32B$IW@J$]E1;JVHPN1J?5C[@>77 ENUS0>Q? M@F\'D]R:A8TOM'T3Z%K_Y$BNZ/1@I/7L(N6TTG]\].77*M4I-X4E[=S]'P % M0/J_.%K*7J <#R/*9,'IL_HLH4,YII:RS]QV_QTI8T^EO:<[0S+'_J=DT+8' MG@.HZ'3 :I>RWAM];8:)_\Y4DVD,S]W$DF]P:$:$-Z[*NNF.HU2G<'?@H#=& M',#B!#:G$ /[,<[[A:O_MBV02\X-X,A<*XPR+!NKWQ)=B\$-K$ (X?)0=B[6 M(#/,(;:Z%M,ZHBX%NBMCY]1.2+;-=7!&%,Y+JQ^@8':/6L0VW=LB RD=;?A_ M*N%KAS5!QD9WB'90D+X9ALF=YY$SR=E5"PWBD8^D$<3J$U$.I PY:3#?32/>ZY+C- MZF]?>P0F(8G^1?<$2?]T GE V7C]W4$)')1SOSS0W3BR9VR&!0 M?^\+7.P#53V;=C884)_J@H?;78UXSHLL(AEM70KHYG2=4N-==^.K9_;Y* M.\-3"P^ZSF]&;UN+F%ZUR3J-SERQHOGTTA1WC'.D<3-)LK-61H7AX=!Z;R0\ MNQC\/GQWMFYK,>.F[BJ#I2OH6U/KA(>;^\S$\G-B6/-P-N)'I&^0TF?[&Y))P;R!J4W9:^U9\MOJ5IH&XQEA[YNHP]1DQZN4 > M/)[R?M;(NN$0_U[K;Y%OA/"3"RIU2CT\/[=\5-R?_Z;!ER[L%A>4+Q%[V[$% M YM0V!J7[W'$0'-4V LQ:+HP.S[,$\^=F# O!&C WKSGB[5KBZ(D<@_S)1] M$-LWD&!!@P<1)E2XD.'!0J\@IH+X\!5%B14GNKH($2/'CAY34?$5[U8!F5);^)&5Q@WICI*4V1$C$V/ M[CSZ<2)0H00_ ="ZE6M7KU_!AOUZE6Q9LP7%B%6[EFU896=7WF@[EV[8&RDS MU=4[5PSYIKU:M>K9[_6E/NU;MF]=_<&+IPU,=:@ M:A=O_6:WAXTS#4U9>O7RX[6/IK>,F4F"]KB2+,HQITBFZ+O26CFRYOC MBS[F84 M+"4TPU.T(;SS;G@V$R.-3TSV5*TKT(# M4E#_ZY2I1YEHM(/&SWWHL["^1IMBSR9((_3P(P]CNNBF$F>J9=#\3IS*1)[. MXXD]CD2-M%$*W?G458;:X=2^BDJ$\-)7"/1OU0H?&N;5A(:IL*9=X=/H*0DE MG!6IB#PU:SHON_I5VGV@#:M*5WFL=BR4TM)6JT 'E=);PA3:S-MS>P17(4W0 MW>HN0;MMEZ5GV_7JAGI6$M?;:P^J1T_<\D1NN=AHB_.VV/:,,Q/F^#SX-]EH MZTV9V@A>;CS]K86Z4%-?M<=8&L]UO'T$W:1G2+5$AMM_$^+!F4 M)'%;[@6[U/9OC?/NZL>@]*WV7>G2U%--@.U\T^#:,$[.X-P@MS-AWO)TS;C- M$4J<*[1)3TB99>C9#M^"W.&)HE.=6FK2$6EW]*-:AWT(YDF?YFFJJPD:9N?2 M&7+*]YA0H2_9^90M%6J.5"3>1@>'I>_40I*'R$")P'[%9Y_9TSVB[L.'"/A/ MZ1%^/-Q=;W_ F92*>>A-87\%+G//E7Y#T;7E%UNWJ\,0N:Q-6O&J5@"E4S@% M'H9M"!D@NFKT*?Y!ZW IP5_>!O_'D&SUSW3_LAS%ZH2PWL0&%!6#S9@J%C$V MT09SEC/AY5;#I(-,4"OZT]]HE@&-D!DD6$?K2:DHQ+P)_4=F%JJ?1[S6GJ;4 M:G@%H8V81SSNL8[MZ,4?>0%%2[DN0%"Q"-&$Y9'N(;%] MY[O*W: 5QOQL$%T5=!6.Z@6FA03.2Y^0EF6\%<&$0'*!I12+#!NR@GK]*I,K M(>6Y,IC*_"%D-9^SS9M V+G6W*E.:-)EQ6QYPLL)!W(II%CHQ.(_27YL.]TY MB-;XT[N>0OK,5K2B22$[$B"6S6J;*WN%I*+I$X1 L192#.,@*=1-JFBQBIB" MWC(91#WMH?%V/WL)KT14LV)AI'NB\B>J *J]@#XJ=_@1DM3QV4B\MCB'M B., M((HE!!KD@J:T:5A>6I!6OHJ&4V+I26):R;/T-$G_P'*8F1P&L#*]!F&ZU"52 M,Y$,YY1P.7*ZV =QDQR$!-5=\%2:/KP3,GT81%@RFU ^G\9%I^&D?6M4GL]> MD;."]*(64,QIZ485M362!T,!*J++0/*0NWKU*CU\$/P2J<3#5J]1")W4?+SF M/&Q*5B:E N)[UL?(COC!?9WUJS3/2BM?P>65-RVE,A.B4BS]]'^K/$F[8DG8 ME+I6MJ.L5VSSPU4LN;)PFES11($K4>$&E[C#-6YQD7O876T.<1 ME,*/VJ8[Z:-@,LIWL6L$VT(QTL2SU-2T-V4M0MQFR5>5=DHH<:F!]?? 6<*X M(&Z@[:M4ZR3<[H/$YX(&C1L"G#*UL&'&E&[!DC.GI^X&.<&DTR\C]KE@0B>! M:Q$ED ?UEM$8I'7PR1Y\VY?$@C;-=FT-:C0=([D>BY(FI= M8A69]XJQ^H7%)<@+G$G M9+OHD2.>C)'8"^)[)0U0BS1+9_DUMR.G6 A1U<_1[5Z?2-B]V'=*FR5C[/:M M*K3A",>,WP]6++[+G-YYHLJLT=SSL2(,O_?H.YQDHXQN/5VX$QO$UD7]V*J5 M--AVX9K>GY+QV5*-<21%>U 5[]%,"X/!CNOZN<$>3IR6/>PC#Z?71KYNX?7]E7H!\_O-@$2N-$%ZGI;CMJ/K1\ZSN/J\]S1[_Q-[E3HN#M'0:D:(A MZY@\XN<"M4&(ZJ2)?\J WJI;2]$U^)]O2.1(:G7CTS4MB"LIUK9U6^53/;$V MU8DVCU-.PHB#I^SF1DV^?"'G"$8PMC4^[(O_RZ+.H\5NBF]KD,;0@.<^'KC* MSYNO@#-!VF%N_$*1L.K$U2(3VMA*_QME32FPZZM]JW[RDR.PFWY%LJ>RY4.$ M$.RT)F+C<\_RY+5E%+8(-3,,DU3A_9"5'3^"(&)UZ_2X[X7[.UKJQ?%7S5I; MY$(\NJ!O4#Y.6UKMQE@I\52"_BC(]9;A8:P*-,I$30BFV0XFJZ"+\S!0YE:C MV%XNNS(A&@ZB\-0"U0(0._R$>1C$38CP3FB\C['8;U8"3/RT9[Y>0?X(XHFH MSMS6+(PNQ&D(I&F0KL$B308A9,=6CGH(I&KJJ?T:[KQP)[16)6CVRG52I43$ M[)H2"9UJ;XC$C41^CS+XKOX4IR%$L%I(SE7"<$8PCR!VJ@1?!/)ZI #E9;;. M905J#6__H$_SXN1SH.JY5@BJI.R$M@N$*,8UFFQAQL1R-JT@7JTMW# _0+ @ M>*'IED_V2&+]+ )$%BE$DH)K[$E6)F(']\'-AL_-"*MHY"U$"BJQ? BSR./Y M'A'!:"\*;Z4_AE"A>D*;GN(H;&(J0L(7\ORBS>#LX8F^(*@Y$9 M)Z3U5&+RQ!!=[H\@!K!:H%$_I#%)%(\-Z^4,'Y$RKC&2_"SPN/'BYA EMC%) MJC'SG"/95&BI\L3)>@-.@\AIF[X7D'X"(L2 8X&'ZO,LA BLE':QJ[#5C"TW O\_UI&W0@J".6- M6$SR9#+M?482]PA)_/Z W/(C#:=Q2MIQ'^ P1]"F7FZ26E),(/4C)V$@Q!T71ACIQB28,S]QM4B2%"34% M%MW0)5HP:C*,Z\@O%0_3BIPNX'8EZ^0G!BT$B*P(" 6*L1@*0BSS(?1N012P M)A'P_P!0:7C2U-SF!HR0+!MB'+TDU?@/6E#N4UY3*2WH)UU/&9S#'O]0.ESJ#+F.!"Z G'F\C&[ M?NT=.T]SU,40#)+,2PDO4E7(,0&"2*0A"\'80&*A!1M M3C*<8%!8Q-2]V*E#6VV,WO,^!:T]T6,EE920V$K\ '14W"IL(&P*W:<5\\D6 M.M-&-M1,6Z0= 35'G!)(DK(U5[/$8D ,T"!.__%2#R)"3R/5\C1):)4R,!0V M-=1M G 0L^H3X)%/?"GT^K$0]01A8L[7:F-.?K.6[$LP+-5;%\(=X(H^9N]6 MHBO$9,CR_;TB-9LHU"5M7U6ZBG:]YN M8R?,^ S.H+!4P3 RLR)3H/XJ*CZ"Z4#12NOJ8['C,YT56KJQ62%C3UL+7>X* M7#\M!F+@!HB6:&] 6[<5#29A6S%J8CIN7"T.RX3V,LK5+_IT2J:5QQ#_U/74 MA#I24UK$9O<6<[U<,9HX:U<%RT4[\C]H9AB]1R3@JG*1HGQ(,M* MAA>7+S\[@IHXUS_9)_ENXDD#"S$)S1:&H1U&;<5R]M,8(EIGQ$)?Y5RAA005 MHEI?MRZ(5FDGP3AJJVHO(]54"5V4EFF7MFF7=GF9MWF=]WF1-WHG07@A VX' M@F<7PWJ!3/,\;X0R\'& :6&FTAZ/(\F0C#CX<34617?7XE_C%B$LQ'31;EA@ M!YT[BIK2U@Q MDA8-NE5ZI-;Q_.R%G?5?2?@TW!?&I"I?@W,/Z?5\D'$:,; M;==+KM8Z%AE+[NJ1$3DRLC5.2X=Z(2/5)ADT__60$\.)84R(.U!%?[,V?ECF M[K&7?*.%K#*IBB,2"?\"DPZCAY]X('C!2,MC[>;S=1Z88[>F"A7N%%L^Z,%C-1@5\5:M1-))29WF0Q]RHRGX85K$4:WK4;DR.19EGM<"E&N94?8-A.&N/A3M M,%UA/#]X:+2';>H2@'_4F GYZKJN*-9/6%E0D1)8B%RAD8&L%\BLFI:Q_$;W MS*SS:^K#^!(W8Z7SBGLO%XN&+=<)9L#S5E072#Q9H.>B'27926SZH>I%A??_ M 1JDVDEB8(8_!9,70Y.[.N+2M5VTVL\F9S;T=84P9ZEN+@,K<%^KRCC:>DSZ M-3$,^GUM=0O;*M& E3Z%19V,%3ZB;B"^&&)_5%6O[CTY&EAQ=9Q/I)HYTI== MDB4W)64;+B>T^07'QC$12\%$6E4>1 7IJ2:>>D-VN*R;6(-N"VVB^C!H5Z=8 MF_+Z63_^.0ZQS)YK&^2 *O\$M:'WA#A\,0#'V M.FZAJ05!,3]#LJAM)Y/D;T6:U M.2.MQ3K!UV(%T."-R2+"$\//8EO".>.LT26M_[$L*LEVO*F(N\O%U% M1HH9N!O"HN%\,2:A;3QRY=ECA,VJ/F#9I:G_"CE@14KO2S2X KS[<;3 M5J"F%EK=;@*=AP5(0?\E+ZM/8L./W2MFVSHP'#$T_-GSYK;WP=GW L2!S'/( M-ZF<^Z%?@P_Y<91;^>;><5$BG-)/HCWBC8*I@HOF.W./^H-+%T30+<@#MSNY M,P=/$; LI51$UCXVL9!FME&DW,\L7E:T!89'B.8F0CS M6#U$>JW:(T*NZ+NSP]HOHQNG_3!(1]OU(JVYFN3CN=A1PL^'<-SW,9CN=1[[T9BNZBJU"O"&E]T78NRJ.%@O6->=#L!!VK%=4$ /(OAR M$)EM@%7-L1##..(N'ZGF%Z,=3UY'8!OG&2+P_5XKL/W"E;VV5/[PVR*V&I\N MN)W&R7316)JQ79?#!Y'.^Z=@QIQ _M51E MZXG\0B1_1WIR ]OY#\L6VKDLWMSQK279TY$T"QHEJIK[ V-KA4+F)13+\)S\ M3Z//MG](HCWSTEQ$PF51.GT%Q(HN&%+%C!L[?@PYLN3)E"M;EGQC88S+G#L#, P:H>?1E#,WA$8ZM>K5K%L# MN*$L-,+-KE?+OET53>W=O'O[;IS)(>+?G='@/HY<6:9AFC)E:O[<.?3FPZ1G M(A8].W7HU9M/=V[]._?MUJ$55-8[-O+U[$/;VHLT;E=7(5^A4ODU;=*_=U_I MY5B(2P:Y$Y--!=8$"TT&VGAD("SMM1=647UQ]!1]_=UE5W\9T?-@A\?ULA=^ M_%4T85,;L?257"H9-59]8(G8U4A_=946?BB.I=*$9F4$EE!@Z2?2*X6%AAYQ M1A[)6@R:(6F9AU(Q69F2#M$&9956CB;E>C=<&9F37D["99ABKJ8>0T6.N=@D M7J[_J= RVCD'2G?61>>=-Z(K[ARDS$PWT02+J#DE>."! C9:%5TC_G5C M4RDY-1&*]"U5DBM1L!)%;Z5DH;!,_4=41O?]Y4I62KE8;"$63I0A MK;3^E*FR,49*7WPM6I25IA3)I9%>V^XU3&C#HSNRI"^[!HG\)KZ1(<=GF M>-DM2I#"KH'<<,D]V4+B*W9MRU9](=$'(U-H74BI1>D._[A@3CB9>A.J,:UJ MI1IB%BJU&)V7:J MUM(K%OTUK%9?5 ]HGQ@,]VBF)00PNTX/M._<#<7-]VYB:+GOW56!V7?A1Y:Y MT-OV,BPX>]!!#-YW$1/JW9UQDD=>=LQ)5YV?T5W&C3CP'O[J MXYH!B4!4C M5,0V1B>P[&8S&87[#. ;>#7KBZQ[7L,:]DK3L(L/[#XHF]"F<]4YGI=+= M[7AV#A$21$8KC)U1SF:AY1F->Z]HF@[;,XQ;J:Q'$[J1V%HTDB9^Q"*\4 8] MB$$/>KC#BE:D!Q>UZ$5W9/&+6 3C%\VXQ3 .HQV]&(9, '.UXF%J>D)1,!32JE7DBO+N2$Y??"1BU;'L4C+4.*$0G2"][11$@Z.Y -OX$@FM"N MD9B:91QK1LNT+(662PO)2T%J&.A!2FLU:IF(HG:VV35.J6!Q8?%26LNP(.5\ M89%F3Q1'T(+Q4Y7TO!LA>9*HL!;0JX99) "1*I!'JC6L"54(C5C;95"X)F1C MT(G3QS 7.8=F8H+/"64H'3BGR47'($?2:Z.^%K-S!2EI4\R/B%17"X3 I*:[ MJZ'.Q.B@TL!TMYWHMYD" =)4YW0RJA5\;(+=K[FA"W!REL%;40Q"U( M3&T*8-#2U";#3%4MVM;(C>AE4B;59E8#(U2COG[@_PY.6178YE7QB5TS)W8=;!5E/>=48(3*>,=P. M2)4;B\FQI$]$'$O8[HCL2D"=\ M&WI$5<7=S%%MT9>R;'($: 3AQ0U]B3N>W1"8!W+0)2%K/!I5+VP4QZ&H,&O76:DIOFV[_*BM3KEGI_=3VHO5H=Z'THQY,84N*WSE82/U!DIP;Y;)Q-Y4LX!_/:,VFEM$6$J7"I MU"FG;>:U)B):8R<$>EQ]-BR?:$L3VRR ^R%MI?ML;UFASR+]Y0"83Y-]HDGAWW?2=67L,@^+E-7A0B<&+3L<@ M T^-)-2-&WJL,WI#P13Y+BOO\TU+(^FFAX%W5DQ1>9; -[=)*V4F6[/5U\+2 M.S=34+%PE!ND%\42+H2E_Z;O[C45(SET7CM&;Q_:RY]T] K).8%$LZ@#B%,>YKI*;+'P4/VRP#/=OB&D1%K6;4\OJ MZ$O,N_EJ%X.B_'0%[83>KI8@YEZ"?\ MGAU$,2D K*^*.T8*/G.I-%AI^^E<)M3O@=CNS3,<)IQI*BH *"K4ADR4PA78 M@_<13>X$L32=9D.<5&!@KJ"!BIX-L]<8C$+@L MCO=T:\,B%9%_PD%]1F)VQU#>"=VW+5XXK.40AKAD_ZPG,1<%>!Y'41'UBGRE0;WV',VC M@[Z1B6YX$"1T/'^(8BJ6:,O63>=D$3&T=)XG@)U'3+\$C0>2=,ZS4M(B;^;4 M/2V';T'1BXOG>O5V/O^!58JV8<]B:+!4"%7G/,K0.BA43OS1+"<2.^6F%L5E MBK$&?592<.QR< X!#6F5BD82&ILHD'JUBP&I0"S(@WF'A((76-GA0% 6';CF M?;5&:YT3,0;!?%!2;+Y8$&(62T@#(\LC67-1;OBU%X1X$'.&$[7 >0%V.\'D MDC(Q39=E=!:V5+)U4MOC4AXY$$HE*6UQ-(*!9^[V32*T/MZ2%'UQ3K7E8HGF M$:N'3_<8: 3I7O^=B":D*!O$D(\(21K3^!!="6K29S\W$ -FB99GJ99IR99K MZ99M"9=O*9=Q29=S:9=UB98=21#89R7:YUC*0"@55(M\)YBT)A[=067#,$%U M,AW-TU[$YY,,@6R1AGK]@4N2]WJJ12.$<'O[8'.@M6V\TXR=14S9MH*CI2)E M%I(K!7QS-'KXT8UY=Q490A*4=C35HTXKIH:ID(>-(X4FA9(?=GHF:'M2,79C MR7I6^1O[6''KH0S*Z96188,/ 9V]X5C'R22Q&9FN)B_3.6'*,3E3AF6VQC$; M1XL9@YZ$0G)6TH]N.&C;9%\G)B,,N#[6$W:]Y'FF^7DR56#@H&TW49/_0/=, M?=9T$N%U9Y: Z+:=%09'UG-_U"-+M1<6O2DXM8 4)5A+P05N0N$M(D*A=D65 M8":6!'RT&+Z,4Y ME&-K%D5KU_&1:%>CJ/-UU@1_TX,6,1<^"7J:^] +-<5S50J-,]F267H@8ZA# MD;>AS-8I7(=Z69$*-)IW(@4^3;I-,3,7E(=:UD01ZN@\(1A5=Y$K=4H43O47 M:!&E"H&=,-I^*LI(3L.75>*75)$)U;FB + "_12B.O2G1Z*=1_I!"YEWX@VG6.A' MGN#W0 _T',TA*!3SBJ"S405Q %QRJ(OW?F%1FP*:%B!QA_&F85?3$;9PGYP5 M$P)8J[KSA3SC6=(X35/(82FF(Z27,M_C;!<6@=L96^:H4D&"6K!W:'5H$1XH M0LBV0H6 H>08ID/#4C[B"L;YJ.^%BC-Z-^!*' &K+FB@J*(XJ72SLPP$M+^A ME^T:,C[_N'@3=$'>1U&>0VOHYZ.D1'X8XYC(U:[ZT'LK4BR V!]*653=PA04 M^E\4&Y-OY(P%AE,%MG.>!U 9(7\GICSX$7M: 2RT5$3;64T[236U\H ;D2$. MJF@5\:%.\ZS)UJ!A6D>01RFI4(A)^UK=:B5'ZR4R6H/T0@QH8*KFRAA-.T_I MJE?:RB3LZK3[P+G9UWX:EX2,:9@9HKFQ=@Z J!+BUC4P!RF8 MDIE4][+E%#/">[CJ\Z2D50A2B1!+ZQL3V+-MIEAM [[JZ"0.U/\@=G(,Q$&5XF5J10EHH$\-88I*]ZO:-N90]KX-"?E%T M04&AQ !@,^FG"NQ,37*I#);BW?/%[M065]:9Z@ MUYG8V@^$J"5LB MS7HWS]I#R%@B'2&.+):-TE._ X&Z@,IZF%LE%=PA22RIP+._H'N6"*F54E&N M!:E7!US /$; KCB8(F=>%R.O\DJUF1!*3%@0)MJ71ZIR"-I29'&X<&H^0>*P M"%$/;E:KN-JV5OJ,?*P@_K>K">:@7#5+(8$6&/A@2^'$$Q9;CS<6U8-?\T&P MJ1.K#!2"E?=UBJQ5&LNWKG(1@]R#IO_+>O?+&Y]0HNLZ3FZ4J[_4C/^9I006R"B,K0<65$3GR=;IC0LH$I:+.T6++5"(B%=+G(*//8< M,Y0EK92IOJ2K)K(U2Q^V &,'0<*-;[$-O;BL6K?3I=W1H*C:I0;"0 M_XQ4DE-X%P5R8HR>Q&S,UO'7QI>5/JER(FN-D&)TQBC:&@$+8)F?/0.&%AO3 M/M.%%]N2/O/47=JJQ5,\30V?.>D73%'0KU6!OM>J+40AM)F3YLT1J=TPS\U, M,AQ%07* %Q(N/+S+49UW4RTP5=W/LRUK!F,8NMT:K]6[7%++J]O:M?':W65* MO0:D$%1E4?9K&/V0AU(0\N*1]8 RE=S3'59?T4W$P9<0@9W=A\W2;.N%H_*2 M-5'9I^..POA@_UUO3G'240FX, -50J1[WI,5(:O4%Z'"@@,B2KE$5$A$7L-G MM83?$$W@2KD56(N9 M)SO:'=R1F>8(H:;_E-1]*#U-JL=;FC,WK2[" 4S)>[HIN"ZX. M/*\:PZ4GPU,SQ_79OB0+Q,T42[>UFC-BY!.A[O12#UV!L%4C-D81CRNV$L\" M11YVY6'^Z^HF[:3!VQ[R\'+_<^L"L9'RHL\%4>O6>9VXO9V^';1NJ+6V^R8@ M)Z_@UVL33.(3.+!F6+"1O+(U(^@+02C=YD<[,PGLO"\0F+UA^VO$EDL-R%&/8+@2?8@?9GK_9IC_9M?W[8XMA4M 3/QI$LO9_ MS_: +_B!+X$@_QMW'YG!SAK#_EI8J]$^*BCT.LQ":J]=:R]Z_I>2;%]:ATLH MTN3Z5U,W3MAS!MX%=M@G[.@W >V7-)PGN,'LFVQ!;B$YKF[M8-^OB3:A;6]Z MNFA,_TYOMJ2^"'\NTYTI4-[O \'/3ABH'L\>6[XW91^#]H+X-L;\FF@EG88: M]M+>MQ'AKML0R0\E:\[FXB6[PZRO&FX=2%A1S=/]5W+%-C?]SJ/?*6B!0X%' M0&U\5>O4J%0*5.O6BK9M.5+$_"5(ITJ4E76:_&G)EJ&%!B -2N9=O6 M[5NX<=]2I5O7[D4TLVTUW :?L.)NP6S<["B0O? "8,.(9BR'O_4GT< MV3+RK-QL@FR]&C3'B,K+60A(2LLQ\_VM%(PG2BZ@8F$[LK MRK<8ZZ@R*OE"+4F.\LJ2+R=#JO%+OD3C\DR-?J.MN.20(VXVX];D+<[C>DO. MMTR(TVA,,OGR\:)A#.K_11DT7]/'%@Y+^H-"#FLBRY4-7QEFP8[(FZ@]\QC" M5#UP+DWH/$_EN[2^]=2CB-)"Z7JQJPQ)BG$K#U,Z$2>L*BQJJS!3U97$ C\T M2CN:@+U.6%@+-$M7CT@4:R4!8>PJ)EM=VDK#%KG#*D2?5.LS+F2YY'-;N+9$ MUDMPX=6R-U4Q\F4+WI"T]9?(;I-4 MYKCCB/E$S=QH"Z[.AB%&;C> +UK2W[7VW:<>AWK1IV"Z$&4Q*9Q( E;11L&I MN-)>/(4//Y<3BJ@]3>&S+U.$:+:Y/9"I&K#$HR)M:5H.M7.4JZQ0[3E'H8R> M_W79D8BVT*3K7/2*I/V6WJ<78:_^;V@"H19Z) \GE)JEK'WZ!..UM&[P6W_7 MU;5?M@%8N:.Z = X58'EK0O*NJ?<5FZ-R,6X6\ Q/M>CM>LVTVT&9;/-SM_R ME/-AW2@7SG+>W@2%MY43SWOE\ASB97'(.;**P+&/ZG4E6](>KSR"1(W9T_IF MG@_1ASZ=2+Y-=S?UN=1[@GHLUYT:ZL082R*JI0Q3O+OXZ93-JG7EK__U1*<+ ML;4D; NVWJE%K:[ZP.11]/[IHJ8'J6^_J9[XXPV\+OA% M:6\8:1?;_H2F%=3M@!X)8+H()C_8((QAE?M=-"Z3?6AZX#W> MZG00U BB?M4\HQQH?1TB22V&48^=$*-T.+-=>T0%D4XA1"'Q$5[.A(Y[M(*0U9R(DB(:L3&]B![9R#*M[R1(BQWZ2H1N-9)S%$P9 M#U(*$I>RH6&1Y'D!RDZ+GM:4*'Z$?_V3HN#JACHNW0\Q=5M!S_[WI+S9I8!D MTA]&&E@N<15J=#R9H[L>5\>['.R"FJ/-FRI9N=UL<&&20\YOSG7(?#EG9Q-Y M(0EYX9374>U1,;%%*7^ MW+<14&[K@^^_A2WOFR9O.I11@9>A&MG%$IUOR*$Y^5 M/9G,4G>W6ZJIFEJ1IT:UE@+I)D_:<39Q9E5[7;G)5K##DEG>5*QCA8]*NI9- MY17HJU]%'U>!1K*5Q)%Q]_PI4/R9+X#^B&YL2^1'1.>O@^8QGW3Y:RCKLE5'4G(8S9IFCJ0Z;Z;GB]H]EMPVI33,G5B%![RM52]"); MF1&;2!-+>VE27JO6124PF2%UV5F3/Y3M9F4KXO 2L5WI)+0/EE6 M*@4UJ*[H5]E[Y6V!:&HDN KI$\;2<2JEC5)?-0+9?'GX1QEV5T\03*:%*K@G MDNSD,#;9F\K!>&*;PR3F<+,@ MBAG,>.O_VU*9AU1*=:KP%/PU1V715N8-<**.MKUQ*A=%YGOMF%UKYC)GKQ!' M#@D9B[H5,Q(9*5Y-"0KEK$6L6(M:7('SGFM%U#XC]]&N0.%L],SU(#:=ZNU$"%Z2R'$@.==._0&23N^]D7E03=LD$+>@,['/J.& MS8WPECS=%:@IWL">&P]C-D\1Z=[F> M)Z$&E^Q# OLLH7P?'<1Z!.FW:8Z,WO]?NF]0)C(>%^+3J-:Y[J1L/J=K.;'I M-Z'+,5OZRC%H\]13!.G%U>OJ[%V""MI#C"5O=;O;:F.J/M*F=LQ4K-7M MQ1 M;5U6$K?Z7N(NMT5J-:Z^B[K__ L6( ,)7CF1@4,1\AJ;+'(BE8@5:NH:=7JB M_'.45'(1==,O>&NF1%DOE'(:XRJ)T&NG/RJ]V^.],SF]>M$1^ODT'#F^;;&] MD$#!/DD^=*D]D)#!/F%!V.@@&MP'EV,2F&,097!!O0"^!6.8C,JY3)*@VC . MV=BDX,@Y'*N^MM$(EZ(RVP$[AOBQ.J('6&(R(0J>[%N(7XJR[8.J9[LVL@N_ MB6"S=R*:\SK_FK>3O#03D.^ P^N:KZDI"3VT(CY#PZTH'V,)N/M;E561+C[SLV;Z,U7*,Z]0/#5+,_C3P+(!FZ^PE0/9 MBD4$"9-+,!+RQ9,;L0XJ MMGU813+I05E\BQA @]I0!EFS#3'0C+:(@=Z+(9V[(#J!F(>YG(;9H .J!RID M"WFJF;#:E/"[I>Z[1BX!IR2+)72D"/*KMOPXP]YQLE+IE%Q:#S;D';+;'6FK MA5VTK/[*.\1+(POLE0O$C@[\.UDA*J09&;P[)Z31#HETR(OLD$@A73Q&5)_( M@[>)=(I(R;Q0_,@*!+J2"!14T6.PD7 *,IR84>A%)(@G X0FX2+\X@A]/^+ MNX &-<$H.?DYB8E"A $.C1#&FCPZI5LZW]FI=0VF**(]X"IMJP9?!RV2)N:SWLK0+R\@BM(Q(.>K.(_.I1 _W.KR(1) MQ./(9#D;"*3(1JF_SGRKA@.P_CLX^W,C 3&O1X06[#(IY\D>.I,[3^2W5XC+ MC1 ^P[))4N,H9:P+94!*59.X7DP5:JRGNL ]>9G*+BFQ(EG*7,PQM6&U)/DK MY,2(K&0+I@0)-ZDK 9-=PI,ZPI]?BQ25DM MZ: '+VR'ELG"WNHA@IA'U&(RW ([L/,Z,SS#]:O_,HAPATA+)];IO FQ1/*B MQ%NY-W>+T#+[-\IKM\=$A53L".M9(WUSH^?QP*(@!.U MZK!"C^("?**%0ZM M(A:-B8'C4%"4"0<T.F6@!Z?#2GJX4V)H!V(8!EZ@RZVC)6D# M0T/M3_+#(?.S1YSI1_XDB+\,IL)\ED!$JW?#D)8X/(4;&<[4.R_BK^V2D+T[ MIE'E"D\E513)4(XX!_YB_PKJNJ85<&DRQ4\];:LLH:X\!E=,A^BV&U4]&M27\ M,,?S$!4W9*B*[ XO(RDQ&<]'7(DE.'+!J"5K(0XD0I$G2<]8:K#ZK)%)P-3J>H-)2 M __*9;7:+(DDCOK2$AQ7>X)6?W6TF2-/)>U1&^%200I8?6(+-3VPX7 8XP Z M6S/33,@L-=D3@&V+E7$']02[;JN(]N//,V3/6OK;4G'8PTWQ5%!VJIP% !'50&]6JZ"HWH%7=>#.F[[G5-9L*V]0XI\T(;,48 M,4"#>LV(3"A;\@2*(;T+M&62[.T(F<,8&M3:CTA>1\H1MB <&12#A6+;J8 &NY4^S7JH%UN^7MO_6_RM"HF@7'N$7+L$ M)K7$SP56S\"5,LM-Q]W1G71\7(H 4.U;RSGM2X/M'=>%)D*+69(X4?,!49SP MQ-?17?RZ+U,UQ;_3KEW-T5X5519N'>]1U8TH0)3X#DZU2.#559%-(>6I%5!5 MI5AUX;?*K_BS1"-&):*!P[4:K_4)84OL-W8"TS9=7ND5X(QYWE<3#ML(XTEX M-3'PWKJQUHUH5W\Q@!AHXU<;XS>&-3A&@S)NXS;>6W1]VNJSXSM6($;B8GVY M@>>=!"]NA%?K8T &@"S5TKI16[I K&LEC#_YECSNM=#B.1EK$Y_S).-8&>,< MQW,YSS04GBS,E $%7!LBW !5DEC4&L/:ZCK_[$>(&%RV?-.=(MA1L+1"J4&,CT6(]3F1[UHM* MOF=]'HS&V&? Z@E_#FBV4%MY%I)W=;1_V0AU_9.]_UIDD-#?A0&ZS$$.X^"L M,E63E4'?<,4(H0@[IJ-@P)RJ?9Q@?WQ8>@RKB@7,P44M]LO@W(+3OF1@_SQ4 M$LS=#_Q4VETN=[ZNSAOF] E>H/;(-/LR8X**GQB&L5D[G+7I:EE )HYF@K/B MDBV:DTP>==K4R%NF"*1FN-**6@BYB:/GB]!H@>:HJ2#KLN8HAYZ]M#;*6FSK M?7[;@-E2$=DK$4LC#C3Y8.HB.I?V=B( [CG!3(54E'@ M>WRV0]TE*FMLCW[@R46_DI9'[;.M6;)/?!2VVEFZ'!*5;%N('-(I\^!E*7+, MH?&B1"06"*5J@\0FE_#$9O_!U5;%[2/^F=V.:J50B8_UB&.[O 09F:["#KS# M/]6,S/IR"2PKL#Q\2$A!UC\$/)ZNN[X3W9(Q)J3YU/WJS&SN"/A-%[%N.;C> M9S3^Q?/VYTK^UO7.DB/]U_<6X/C>A_%&/0:!!K>-,+6XP8[*"'));ZP42XCY MA,G!DQC+'-] E7W>B(\JW V.F9'V(92NW,I.V%H.P[O,\.$QX).>#X(M5)EV M[*^SCU8$57;^5 Y!GP(;%C03S0_\94J4ZGC[::M>Z@_.8?4Y*V$&U22BNZWV MY/P70U'7K"UV#0L44JUZ"NV$*2'>A-PY#E^A1B]U6\=21E1'K4>)\&PQ?-.ORT^(I6SR9KSFC3%./R63ZZG@.Z_*>6C,7*+IHWV6GQ<;0[V=? MC7J==N<$"B^WD8/^B;VZ.;S.30#XH&[GS<'6M3J!PDQP0E[;XGU>&5&&Z?UD MU/QTZ?*S=%B.]P_7&02.< A/.LN5=/-;Z4,ET*4MO6#6KW*#\J'_7FXZ0^:7 M=5E)[.V7%/*1B6&2_,"9I-D%I-&2S"+891=)%69R!D+V]KS['V/K6:K[[7-PT!SX@T'[GF[.\KJ4*9 M5XM'*J U+\N)XL;.V:2(4<)A6!EEW]N]^2CU6^#)G>6#[4^37K)Z%U#,KLL MC>#\F"6,[:7^Q,N)*.V,M:T"!OO8L4GH&E6%VWC'"YN7ET!@%DF_G]#=S>I3 MW^J2"&^,0.J"PT-IT4 H9OD8?05#$U7+=.W"YUGC-BXBQKR@;N>D-9JF>#K1 MFWFQ_N2@=VNJD/;4=YS70/W6CXOZ1M+8_Y?2G[CO8620C/&(;_>(<<\(/IG] M/7&3B3;3.T^.C [HA;J%C(W8@2^_E9[W0C='AIUWW++[47JJQ8UIC6WT6 9X M>A0(W)0[<.X.S7MJN"M%?2M>[W:[KU"A.1S9T3QX[[E#+CH)H_8)'3Y6D&=, M@'@EL-# 5P0%%D1H4& J@H4:*EP8T2%#A!0MOH*82F+!AP-'CB;_ M+"0TT%7%CRA'OK*U;R;-FC9OSB0&8"?/GCY_ @TJ%"C.HD:/(DVJ="G3?4.? M0HTJ=2K5JE:K3FI:5,S5KEZ_@@U;5>M296+/HDT;-!/9F6C4PHTKUZJ8MOMT MSK6:U2Y3O #0& F-P?-HIIXX><;_X%LSDZ9AFAA#9OS)<2;&E"$3>PP9FDW! M>3_SY%Q3GZW2IFW5*IT:]>G4KDV_9JU:=NF8K4^SMET;]V[:JVW!6@WK=JW@ MO%$/GPW.=?+5OXO/!OX\^G#GI:O+QIX<-N[7[12##[]4),R-)A6J/!]Q?<>0 M%ET1W$@(XBN5!UDB3"\P_1UXM6Y[ '$TL+ MJF=>21 5XHIY[+V$47SNL4?A1!%2]"%&^C%H(4CU;=AA108I*!!^'WT$T3#@ MF07:5.+QV*-BD^@8I)!IB>?7D$=5>/LZT0I)/GJ4,7TY"6:654K:5HY4\ M <;D387M_[3D33?P1(PR9A)#3"9H<-53EYT-%IXRE45F662/:099GIK58].6 M9R5FDSO6_98=;:89!QQMNG&G6J*F,1I==-9)>BAKA79W**6-(CH=;YA*NMUO MS7$7&ZFG>9DJ>"]ZQ!"#(Q'DXGX8OO(212B9.&&$YVV8D(@C)K2K>A0E^*I[ M?WS75"\P+H1K1"[JAY"S)-6W7HG!4K21KO8AF!)$^/V!7[7_+62@>@6]I"*P MP5)KK'L/L?M1>$9NJ:J]]\YDP)_['LF6>/KR&["0@:8*IL '(Z:8E@@S'):8 M6M%KY<.I:OGF39Y)51=.9.[$(YZ5@5*99H\-([*=>I:LR4T-Z_]U4R^T+7<; MI)6".ENAF,8FFZ>5^J:SI82:IHW-B%KZ#<]#WQ;3=#GG;"G2B2:+K]1(+420 MN#1:>ZRP);U;*[KG7YV"J(5?O:]8@UEJO0C4T-HZ[:S0HTK7L:>:A0 M@A)]I"M'%O9:-]_6RETMVF?'6';7XL(Z;+$AN1/>)P%/73F/$;.<.54$AV>P MYI]?1EKCSZ-=*:?DL\= M^(=:GOY-@5,[H]<@<3TX?*PB&'^$=L/_!+;^'6[8XD#TJ8@^Z[J(@^#FN W9 M#R'SDU7^:'4N^L#K;*^*7XRP-I)T*1!K\2,(*AS2OZJY@G]K6\^$4E&+(E%. M?2HDRUN,Y\*>($\\&'LA#?^"+]35,$C_RF'J1,<7S$%)=DRJ6&!X^W/3L.-\3(ZFHI\;MR8QZD5NA^FY5H(/@+3\*P9^M5D*CQ!7$#^P: M6T0U:">0:V0X'MG,\R'T:; G:S)8WEP0+DJVR7ZS.-L(-8B1P8=/? MN2YBHO:\#X&T_SI(#/E2/"OQ,9=+X:'J--8C+?*295RD6#!!(T2MW+*8 O.E M79()I=<5C"?,M D4:;(PI?!D!3ZZXA53%IG> :^6+2SF-/TUP MC4BKF:*ZITYWVJ9IFW)-S%J3*-T8!QS7>UZI3*/+](6(1"9YY".? ME="L61)_?[3D*(4UN$,F,$8(S,C;F+(LMD4P?[LJB?M8J3<5D8<\N +@VCXX MP?6PE%D96A%Y0/0K2ZY')BCDUT%[6A1G*I-?PQ0/[8*:N4XUB8RJC)N%]S#(?HTS):@FDH-YN)B\[3:#SM/>H MFY7Q>LS1GCS524]*<0][Z

I\"WJ=.CA7 M8DM_V7(LB!@H4L'%!Y#2,N5C9=01\[BBHTN)6]HDTB%XO?0E(92I0S'*KEY= MZ%R#DU5*:M6Y?B!TN33S75.&JZK@-JZ6]H*'A)K92:3IRDRII9%+29S[PG7,?J, M-WZ5J]/P&M],10\[83SC8!M%6#'N%:[P%"QQMJ.\XJ2F@,2U%RM56:Y2=NNA MME6((C7+'A3Y+5KVD<^*%&NU@KA/PRN:GZMP&V&"*'BTK)5@A-MF2I!ZEK*= M;)N[(%LA5 8K6EQ;8$(9M\C]S(TC/MPI,V.E2%TEI]1$PDWRD(4_MK$ZV MBC:9A.0I?V;);6GRD:+:(]1I>1\8N\DUC0)F)GT5O< +:YYJ.<-B#C6/!(;C M>WFFW^<,-+[, V-;Q>=.ZYG/47^U9T$-M>="G^:P1E95 /.F6O9!&,(HG2A$ M/3(_\YP6MO^4%=%-$U)!^ VR0#A-L5(@I,"_M2L5?KNI0TIJH:NQ!Y*F'=%& M18+:%5E$;N9"I=T*J1%7*DC5+S:'CX":I$4/]\I8SDN8>S3.92M9A6^&]E"8 M*QYE4QLMS48F=J=V5>[FKB:HP^I,MNLC?;#9JY"A3&,^T=7'X$ZIY?1BS5ZA M/##*3+]V!6-JR%@:Y3'*4X2JHRV4=ZHYUCF,8@RLT?)+M.H=.%.IB1JRF=0N MA:[2)//#L2AEO2["??RR'7*6XE[,.,TR")/*"ANM= 5I68KTM-0"-013"7*; MV[3%W(I72#X=3Q__"KFO/76X M1+TO4)V:5L-=DS'C!&-0+F["O#2GQ@!/BFI>LG*7[ Y!QU$ZZ*Q%Q .-&^P$ MMC=B9"> _&O3H7GH/)]T%4<&M9[>R-=:KG(4U 5I> M71;\."7G5B."B%8I[2 0)UE<6YS35B%X*XE^=+4M&,V(Q"363ZUQ# MHEUTNYM%GAC@,#RQ/L3H]&X]N=N;>5J&GY3+W';(<WR8JS .KBYV0EW#9D"A@3ST;]7D%^"U&-C57NI5,)H!39:@?\3Q7E=E$+PR:J !'Q.43;;P1<90/ M/0W-O6F/?:G30 G8W1F:GJ%1PB&8/-D3J04A>!02UI14Z8F(IEG0)+T/W8/BFG%LJ1-2*62K6&B9#W4!\'2K>D>KN'4C$G@JJG>CWG- M"SJ6)Q8$T1$33]D5HBX]'Q1*A1/BR_+I8L8<&?7QXA!1R2]"Q3 V4[=5#NT, MD_>M#$\@CY%(85/,R9U8X^]D0LE\WW.%WTV$PZ@ XO.T%7/8$Z'EX:%%QQM2 M3Y[YH=&03\+5DSB"X_W=GZ+=8GA(F-BD(L_%E..54@+]G #%G$0X&*S47B29 M!WV@0N@EQ4>A(GXXDD-%7@K27&Y)H$D4S@C)"G]DS=Y@8-Y 9&/QW+O0!R%> MH2W>(Q\I@R\:8T_$@!.M$$NV)%!,H[T,8;;5)%^LUTR6G0]N7>4LS#2!75'X M!<%@_XP2*$V@D3WLZ9 MG E2\"8Q<,8,(:-X1(,4]0Z[J9U9.5ETV2$=0D< NA4>RF'\W=4X(II>P56B M;$>?R9W=P=6]3271K,9HXF.0E42%O8BGF52P3,LKI:%>D''$ M"*H80%+$SJEEUW@BCFF0SRE4XQ7$I\$@!<$G*@Y.0N9@!ZV$218=2I*G"JWD M:NY$# QG;%KH3V!HQ3VE^^F2:B+A#R0B(VV>KY"8X[TB0:I48'Z6C7G@#K(-13(2A!H%)YI@F<;@2-&/ M ''I@D 0G+9B*$XFY&W0QF%FC/7E10V2+3RIJGPH$$(I'V5",1JC[1C93O+D MBU:.3!K5#?B4,DQ?ML4 ;)J=,J;_SPRUYE%4*!=6CN^8WV6@7678!!-2UY)Y M43N1Y6S0USJ!95T!*3OIAAUUIZS:*AC%#';084'!8W$49J$NA46VHIB^CTA, MRY4R8(&06)<^7@32VJY(E.\A*T$&JU'$S4&0'B!1'OV VJT5!$?6:4CL3:=M M4F7J37MV34&FIR=YD$'X6"$ JN6<*&@(J_,I$10ZJKTH Z(FZK[2ZY2Q*%!6 MZI0IZM34ZV<,K(^\&:8>Q1!VJME]4YV Y[[YJ/.4[,KV5WW)&3CKI(RAF M5N.T4BP*_P0$AII[7&M1G(,F*:B%94M_)H2LH)2>_DJS.JA $,A]4!C:!!! M.LNDJ4WG)11!\$*@XHMM0LG,YA(Q0"J6':SBY2+U,=%HBF@P12P?04/!*M<- M9"AP:6KZ0,.;W4#6H8&_WJW$4NPU9H*;01MSK>KS+"F!30_YO.'&>@]!=0<; M:D^M)@HZ+@UN-!P?"ES$@8K9JBW5S(VV-,ZY,N FK4BX-%(,>APE'2@E6A+@ M>"3=B.TKX*=2E"#0H7O/=AY-&O=-.OS>NG7Q,19 M!JR$GJX*U:V3S>TM9@*C*ET,+&S%H:K=6E?%?2^UV4Z):BB_C+.O] &%&"QN M%DT"HP)L6P!/[ZC)^:D7M3DND/HJRTXG ,\9/07QA;*=D0* MK]J"]68O4GSMT9XBRKGIAY3$U>;:2\$2I=U6Y3F6S"EF9XFDK;D"FA;%LGS: MA>QN:<'(YX4:EZJGN>9<8O)<267I?&(IGRY$+?1" JJDT57P"E%JVRJ3&#AL M$%+JU-E.WQ9B)BBQYJ !^RI>/4Q"%==0#*"!%&>JZ^ B%_L$B?_JDCZ(H;NI MW>XP+K7AA,8*7O2XD^7N50#37?-XY>#IL?[EF7/ @CLBQP/7F1W]%Z8<<5-, M*;P.R]FXW.G!A"-#7@:E(+'TC=[\#^.HH"+#BX]MH.H!4M+BQ.^.*]A@6O.N MQ*G=% :)JR//KK?JUO_(*8U]($$N5(S8PC"X@^FJ4,+FQ2$?E#),@MX:C_B" M,?$1P_8:E?SZ\CXH S(WC#)/:"8(,^C(;S&;Z$^.<57<0!.GSYYD@AIK EC- M;TV +W4-U:JZ$7X)7.:RZAZBX]!HYW[-:ECV7=QE1U46:6DL\["*Y P?+2R3 MB"SUL+DJ;\[:&.MV8-">XJSH#RC?A*G_^?//UHJRVIP&RLBOQ!3UOJ"Q[F.T M@HA BI0M\,(Y$(,N'Q3:/LD^]Q0PBP$9,XS\Z_5>QS5>:P\OM$,O#(-@]X(RT ,]G*\Q']%B(U%C,_9C.W9D0_9D2W9D MH_5P 7-.:\X*W !,7_:7U*]+[TL,B,%.6_,1SPD:B/9V:\O))+#)8HO!)&1"8B,6&J<=%K5?^$ZU'-DA519< M=:ZS X/E7WDLT]QJ62ZI(OW>)-W>2^S,LQ),!_1:G]%8P.W M&!JW>=<$>@-W;+,W7+AW;OOV7\[QL MX>DSA+OXB\-XC,LXO_XF@]LX<./XC>MXCK\WFJ#WC#?3;ZX)C^]XD1/YD3.X M&/(FD,L)FACYD_/XXIK):>_W;R+YE1>YDD\YDW/YO9_[^9\#>J +^J 3 MNIR87YVPGWGD<@":6 M\-YY+( ]#_.\UV_D>:&+ M^JB3>JF;^JFC>JJK__JJ)\4RU F[Z<-RC_E-T!L[.SH]4P>^ MY16OP\:K=O?*(C"0WANCL+"TJ_NZLWN[N_N[PWN\B_?9'?HS$F&8W2%TZQMK M /+DQF->Q;,_A;M8BZV/N(%L7; 5:GZ-V=8_=UAGCEDCO!'=B=#7S!7^>@"?7-0WW42_W44V!] MU5M]^BA#F\DZ$JI 49#&B(LE ',[G(.1OS<*B@N]'K_L;"#[U;O]V\-]W,O] MW,<\-#RURFP]%#IAAK?3<]3=J.@5]N#SOMM5RNI&X0UR/'?/6#^6S?NN[ M_NO#?NQ/L9C/)+D]KJQF=<*]43CZ$^DS\.=R!\BJ_<^#M^P;__$C?_(K__+; MA:M;NVEV**/+QO^U+)'RJ/RY[*9;.IXQ,'6/)?.#?_B+__B3/^4SUX8ZX>W_ MOE;NS#A"L%6'RMF3^SMJ+CW%#)V7!K&5__[S?_\#Q#Z! PD6-'@084*%"QDV M=/@08D2)$RE6M'@18T:-&SEV]/@19$B. $B6-'D294J5*UFV=/D2IDHQ"<_5 MLF7+ILV;.&W!VIGSIC:>-W46A:63Z,Z;KW[R1)KTIL^BMI@"H56*4VK3H4RC M*M4I$FQ8L6/)EC5[%FU:M6O9MG7[%FYO7O5QO3[%W!@P2MO M+$/H[BK6ID^'+M4*SFODH8R3(LT).;%7<%9WI.<'Q)ES9]&G5JU:M9 MMW;]&G9LV;-IUU9]8W!NW;MY9Z)9Z^CBQ$\M2YX:>J=/IU>)5W:N_.HWK<.; M\K)]'7MV[=NY=_?^'7QX\>/)_Y<_&(-W>O7K6'%P_['!'.R7*E%+_(,$,NQ:YVZF758HT]%MEDE5V66;!:?15:'Q]] M3T2>_.MU13S!H:_:X^CC+"L3A;-%U&;-/1?==-5=E_K=+GF,%E[V)E$(,6!Q MVFRY6^<#UE)=,^OUJ?VD=*?=@@T^&.&$%5ZXM'?C?7@W-NGU-[/(_+O4*VR# M.TY*7 LFNBBRU2TY:0%\TU(F265U.;AL*TVV#E[PA4ZH[7>FNNNO?Z:NV>5 M'CLF&#:,6<#&\,N)VZ:XY?C7JR"K(3*X<]Y.FA;3CG2"_E;/-],P,5+EQ*K?VY)5?GOGF M!_T[]^A+0N-U-W7.U5X\\[L>*KN=_Q[\\,4?_\'-I8\^#9@5@D\K3[7*AO'X M%@\-J>K)OQ___/7??[4SSY<>#3];G\SJ]).I]8LQBE,*MY#'/P<^$((1E.!8 MH &X_W%N=[Q;H+BFQ)^VGT""WNR#N/L<0>M1D5S.[$YV( ME4<(@$I5:(0^<1^993C'.E8 M1V7Y#XTL!)T+"7C$)KW-%MZSXR )64A#$@H->)EQ3E*$E92O&(39.=R\0>7>B.6C5&D*:4Y2QI64O7 M1#&5@;N!&AOBC@Z=0X"V%.8PB6-93+DD,I85SG9V4YWVA*9Z P M\Y"96($\D\9)?/X3H $=8R9^R$]H30(: E7H0AE@JL-ZQ-.@:F)D0RE:48M& M,!.9C.AZ_'E1CWX4I."#QCDWJIYPAA2E*55I[93AS9("AHJL7.E,:5K3O1'# MI2]E24QMVE.?_O1KQ("H3DW"4Z >%:E)#9HR,DK4DRH5JE&5>:K(,B$&C2HR M!I.0Z52YVE6OJDNH5Y7>#= @Q*^>%:UI918QJBK6I,4 #:M4ZUSI6E=DL742 M!8U7#.!*C*W:%;"!%2RI\(J&&.CU0H>=1%G_.EC'/A:RAU*&7R>QV$D<%K,W MR.QF-2L&-"PV$WYM;&1)6UK3GA:UJ546[6I9VUK7OA:VL97M;&E;6]O>UDL! M 0 [4$L#!!0 ( $1HIUB-AG814>, )K"" 5 9G-T&ULW+UY<^0XDB?Z_WX*O!ZS>55F0A MU^ ++\HLW_S;7]R_.G\!?$-SEFWN_^TOO]Y]@/%?_N>__X__\:__#X3_Y\W- M)_ NI]M'OJG VX+CBC/P-:L>0/7 P6]Y\4?V!8/K-:[2O'B$\-_K86_SI^DZV_SQ-_D?@DL.!+Q-6?_SW_[R4%5/ M?_OIIZ]?O_[U&RG6?\V+^Y\\Q_%_ZI[^2_OXMZ/GO_KUTVZ2)#_5O]T]6F:G M'A33NC_]GU\^W=('_HAAMBDKO*&20)G]K:Q_^"FGN*JE/LD7&'Q"_@MVCT'Y M(^AZT'?_^JUD?_GW_P% (XXB7_,;G@+YYZ\W'P=))C_))W[:\'OY;J]YD>7L MML)%]0D3OA;EIUT5Q,*OD,I%;7 7 WWLRT>QV3ZV1J[=\)"\/D9[I$YF^7F@WJ_84M]NSM2 M9[,^/\>V/HN\PNL%/HL]F1[+:_F#3^)O+1DYT8@QK>FTIKO'*O]6\0WCC;4\ MF!ID[-_^(OZVVI;P'N.GU6V5TS\NGYX*3K/:=-_(9:V\O;RY_84_$EZLJMWW MN^(;^.MM1ZJ>3W.ROVC J@;4L^!EOBUHL[ )+N2BWC#V[S5]T&< -!R 'P0/ MY8__^M.>4$$$Q[YD*21[Z>$ M^BGS=:R#-@]="7MYHUF56*>M9%"K#A M!?P@N?D17+Z0Y"%'X..4)+6MC;$T+%D???J+6B-C\;RT3N83Z5DK3MGJ&C__ MO13;3WG@E@?,=UE)A9YN"RXV1OQCQ1_+"5U1G&4^S1#$P9<2],B#/7WPN^0 MU"Q86'@UP9[X\$M._WJ??_E)S-1^\Y3M/W75^1?YL#7!=I^Q[C"S)?:2TF(K MSB$9)MDZJS)>OMT6!=]4J]3S*8L)@2X-/8C\*(&8AB$DB4L8X92X+M-92@_)Z:^.PH-360"OP]32Z)0EZ-"] 2]7>5I$N[+96AZ@)[FED6UNA&OF;<'.B?&29R(C:Z/4PX1=U*(D\"! 8M3XKA1 MA+FGHJ?\'?LL?MXYN\*/*O8M/W%C^)WU3/*^S[(987&FY J#@R\A0F49S *<1 M#8.()H'6D5&'^,Q*5N_9\A30FAF0MMQ<@,>&'T ZA@!M.=);%+4$K;9.SB4^ M/9WN)-?P 3[L)->R G:\@+=3DM->44U$8&F1U2*]Z+IK(I272['1'&8F2)P\ M"[$6\'>\^?/CYNJ)%V*AJ"ED%5Y?DK(J,*U6"<4I]G$, \3% NY%#HQY0"#V MXS!(/,?E8:1C@-1)SVQ^WC[4BWRV 7G' ,!ER:L2X,W!5OQO>F9'0[AJ1F<> MD>F9G(X'\$/'Q8]2=#M&0,L)^+WCQ:('7%\ E@R.!N%%S8V^0%X:&X,9]/U. MOVY8L7Z^O^5T6TAC]D=U7624OWW8W%^+KU_!:DS/,K.5$,2YH"Z_\(X!L

R)0\\"*$KB0OKHJ)4SO#I:(Q?=_4(/8= M;XHCS/8&MP^XX&^$26!O\\N\;/\V>577+#Z M/W>"ZN6&78MOYS-^Y,TI<^43-PFY.+QPG+IB%^%B2(@XQG G<9TP]'W?B[7N MQ6=@Z9ZTI\%\>H=KO@'G!5_Q^LM5]TL#0R?V;9).J F)(Y0TC-1

'46(,%=-R-91_<;;DR/+&0>U6!=[JD')-' M_="#ANCD,J13>6 WC9@\2[5!$%;3/=4^81@9R.(U+RAC:=X#;YQ^+C=L!+QL M];'IHG8WP1=S-@X9<%';BZBD(+I4(*,7QDJ7M&L]AV]'TIYFMY8]\+7%K&LF MLJ[2=S:+J4F_]Y7$C4X,7&>1I86B.1T:Q7!P7B3((97,+ _9-'>K]J)PW*2= M47'97("]GK5WB\-_"\M:5?@57^ Z3&=-BMGO/7.0LO;ME ]=X)YDJA%]!SG6 MOBV6.0C"%,*>TRDHTF*AN7$]U,3HJUUP]PVOYF6Q_+R1U4_?+@OYZIZ8)!:B M"JQVE2&+4V&I!G!B9 \[(0&2Z&8>C8V'B^V'3;J&&Y&Z'NBX5PY6-";4!$QNI, M806>L0C>(=8L-Q_N3C%\!!G;WC)VU6Q#7#1CYHBH6"W7DPMLOUF^Q^77:<*- M!K66IB4XEDF8F\ ,]U'!_W=1%*@;4LF20E#1"@$RLLD>2'K98@#DI M7> Z^8M(; [O Z01P< N]AX-;EB MT\'\#/-%@\/%?'7I+5H>#)WZH#9=TEGDX)++X&HIH2C<,M]Z ,<.9'4+LD. M<#>ZW%@J'0#MO.=-^L^SZ6IZM1698R+HH@%-P%KRKR'4.ECN;9UXA*E]ANM# M=.P$)?5G.2*/ED2':+JT4*4@8S(F<*(FHGH5P07C@?1]5$;X$IHGWSQ,R_K"Q2%B7 S#TPYTRA;M^WHZQU=K_+R:Y*(# M9Q[!).]AD_3NZWDP_OKP/1.*49"H)4Y5S(,T?LX*00P+:G.B6VX?/'9XU.&MG;E?35/L[-< M\_CJ3EG5VND_)L4@J>9<35A9*Q %.3?"<>!:%3)CC0FN_=2)O_E'K;_%B0PR:H,2F-6!U'9M8:FUALBB3'7Z M"].MU=UVBD;V"X9&7$-QC!V?>$N/6HW="A7ERJ&C QPY4S%5KM7\LIVM\L?A]/LE>"$['-&1= MFQ?53FK1"/I.N2@U]S9C:[5RGXJ=0&.?'&@:L;T#X-RZDOIM\?#MT;69>/GQ M"4.ODC46G-)U,K'FI"!S 5N\Y([6:M( PTH.(74G"+HG"\%3"+ #G-Z-0M>! M9--\L;P/RS!?G9,UT2@R,5!#[1$'JJ1 3@L3X"UGUD7DWK>N'-Z5MIV0Z)\L M$@<1T5,IQ;P]0V]Q.4*HW!CRN+XU1:]AR>;![QZDM+,-)P8O 65)J8P>BJR' ML[ .?'8*C&%.>1<]CT]EQO$A%RE"29N],:"EX75RHX1H0Z3OE"_(5/&J=>^= M/U$)Z![8:5$"NH^P.CBJWY.(-A4B=S7#>2(=MSPEJ2'EVL6^MOV*W&<0W!0= MC0_2-2\^WD;0TRL-W0L.=^'73#8] .TBX>T\(:&(9*4('(*W@DP7#. 1-4C% M51W!AM$.E7#80?9.0\$^DE:X/Y?'CH[5>L8/F#[-%[/%QRG>+$ZX6-1%SHE5 M(HO '$1M RA.7E',*9-J9\DP8Y5B_'M&V5YO[.)@.T2B=\M%F[-W;,R0VEV& MVA0\U>O5]XO9V29]]O:"=+*BSF*!P#PY,*1RP0ORDB(:1BY2LH&KG?"RR]NZ MN-@^%BO-V3IR0>"U_T++V+C.&SV;I>66V0C(.+G/ LE]#E@@2D3TT4:Q6TO+ M[U0#/OSVIU=.>H@ETXC[W>'G8H=YAM(;75M@I1H^=J%V@V10>!;$C\!LWJDU MT=X(&KN('.(C._>#C=@> >XV2G:ZY4WI="!ZW2] RC90RA& //6E*A% M=LT[,#?+2^ZJ^/0HE[RUI#I WR%)/0E]YMQZR-R1IM?>@_1,=)+@B/Y]#0 MEX6"&ZV%\N1U! ?*.R2<:E)SQ; D.(_M>P\.=5EXF_EO'F+^SS>8_^$6\\^- M'1U\1JT*8!3U^AX51"8L2".-$61@2]UZ4.'Q5/=U;A^$K/MG]4E%V5W$Y+Q M&2TOM?D8!;;A)W)'OEW:Z]1DNXC9@[\?3RO_[ ;A]A-$=G"YC M!YXGX@,Y]N6\8,^!%XSXXK,4UCMM=BL^^K,$X/:2Z4X!N#T8W($K^U@\R)B( MD@L#-F5&7D_2Y/)K#8FI+#$:SF3K!-@G%(#;1\8[!N#V87@'N+E[Y%]I:_* MB%,_+Y;;]?5M=7WM@P6KI3)9@R6?&\C^I_V8X)'![ODH:B MM9(QQDPS>C$\5&!KP6HML3,HJBMJIK7PQT8CCF9PS * M/':(X.PCJX/A]A67<=&L4(K BZOUK9J_WW ]09%RU*& M$6"4ER ,_0=HW.' M#ACKT+;V:A^CI:](8 _0:R*U'M3=]M+3(M![7V?+\+H:SFJ'=A:@*&94DC&H MT-RF/+X2^&3M#WI 8D,)CIWJ]GRQ),82:RZ(?S;/F]7]?1YFFS_%_/Q36'[$ MU40F(Z6/ K@4LN9]T38KM7;'BHB*%ZMV;%Z]^SO[:GLP)O2&%%87O3NN[8G+ M>\?I_(PX>]V]]"?^Y#^ -7+_]8+P.!8#H/RV\;UM;I@O7&8FEN4H=<#E]=6;H01_W@IW#E?EB'6;C M74^>3Z^^<=]VL@O)'=]\DBO(0[@P]*5C1IU@%*.]8-! 4)HL7:]B!63^ M*KUQT5SLNRY!!NB%29RR4SK*,"?IT)Q'^RTJ%#<1UC=7?QL MKCDDC[4FI7:RK8/T4AWKZ40&S;TPGGN,*?Y)[Q$'%_CW+P[WX7YW^+FX\U H M=4FU57949&QS,KL#,EJ#S\&@<-SM5MCZ9[DXW$NFNUP<[L/@'F(]C]QC26MC M439#L+%:NUG6!D$1G(V>H2L:F\]>>3H7AWO)>,>+PWT8W@%NKCQ]\DINU\?E M(IC&J"'K&$!A4!"M#$"*V&EGLI*A=;K^H\2,$Z,>##MMF-X!>K;7@6>F2ZXE MX-J%4MO[&(B^#G8HQD:6I&*^><''T]58(+V MAB#BF4$(]8O,]&KB#7T=:,)!_\T7]A+LUN8+^W!Y[-N%G;L#N.1#E#Z!#K7? MJB*+T9.S"J+0%E-9.1EWG]/]U)HO["71@YHO[,/>L3&S4Y> XK7F40E2N1GK M=F(0/ ^ R1F=N,20OAN;?)+-%P[&2G.V]G/\;*]7*DFSH,GR=Z[>A#%N(3*K MP)/9IK3T4HK6KM:?L[[U**NGM:2ZR",ZOS&8!*6$-\F!SJ1BE9":W$JFP"!R MH:QAY&$V1MCYF[LXQ!K*]*%>HONQM]<"P8N2VCI@8Q6__1K^?;&\&&9=677$ M!=MN#VYR?W; &AI=CWVG(/GJQ@.==\'H8VG_]QZ(^Y( M6H,.W>'CQV7-M]@D*E^\]D(QTW9(LNXL71LR15&_,V3BL>31BI!$:NUW;:-G M[(*H]EAYH-UV&VF,?(UQL7W?+"^\AHVGJI+(/C()-7<=5+)D81KBDY#(ZFP] M%^).M07?N<)XZ-VC#V9N)-5%0Q;W 9&;KN7E[$\ZS+.4M1>.-:",UT G=8$2 M:2W:1)N5:(>3^P2,=W%QO$SO ^1(!H_MM-=(Q.5*+GS):+WP.4C0J9IM2@?: M+"J"CM'YPLG!3+OWT[S][-%%?ZRT[@9QCF#=V)+_9;:(8?;S?M[QKN)&@ 1#5DZ-CKN1BCO M )V6D4UVI"59!7I.%KR+&4JP$;/F&,)N/52WOV><6,N ^J(12WL(X6V]-2E2 M.QZB!W3*@V+"@/"#T@ZE:\/!C%F'$<2LT] M4L)+"&@MN*)\R$Q'FUHWE'LR=Y)["7;KG>0^7.[M2'KTTDP891CC$:2RK/8I MSQ#C)F_(!I-$M);O5N_T%.\D]Y+H07>2^[!W;,R\76(*J_7SQ3PM<8V71^Z= MR[-D1!&^UOG5#O<:ZVA:P<&J6M+BR99'LQ->=GE;3W>2!V.E.5O'QLG[->+L MX678Q$R4K([;J F(CBR_VBX8LDL!32G!X6XS61]_1Q>%NL=BHA$+QT;"3M?M M)F%PC LPNJ8"U6E[7MH$)@6M50XYWDV8&CJ+8>A:VF/1T9RM'1BLCYCUKZ_N M4#E729(:!!U)^2E67469!7"OD*G,:A[]:>YW7O>1O3"8(]14%!U ZY!.SJ1, MN3>6=*O0$I1U#+QQ$ARKV6)TY*)O/4+KR;7@;HN3!NVW]Q%:YSD2'Z:?:7&+ M>V#(K8B>J3YP.8;0/AN &PA@Z96OV#)V#=-0:PH26R:?8NJ5Y M#^D0 ET)@GP%)E*=-%:SC;".C(FQJ)IQ9/1.%Y/_GTJ'V Z5#[".-#D[, M[1$SPTU.09'SX6O0/A5?YU5SD-HRYDR.P3>/)O8[M[2=W/>*1^\CA!X0=,[%<.%92 -E(_>Q(PB+L#"/Y$\>B])'I0/'H?]HZ-F9W"(,JH0GN( M@>2U]K[Z(-&9""*ZI*1 [N_.0OZ3U,@UPW:1C G;^%#:@:R.+]N/,6Y:"Z1_C%UL2V.$ ME9QI2*8.3ZQ!7Q]EAH2&\^*R2N[$*.O!)&H.A_W@=H!L>@#4:AFCQP)!* ':JA"YK./+6G=-VTY1UQ [! )W0=9. M'GVAZ\U77-Y8""TCE"(+:7M6D[RU!5^Y)36/ HMFX>XE;DM@W29FW./QI)@Z M0@H=P.F[EP5%)-S4"G".M3J?:_ :2;V3O6JEX,R4$]5O/87[O6-LKZ:BZ !: MAUP56<:9$%E!"HS\%ZD1? YD6W!19) ^<=ZZ&?*?[WYO+YPTN-_;1VB=W^]= M*O--'?'QEWL//J[ES=[WZ3WYM1[AJ\@$7" C[*$!YXH#C3EIUWK[2.-#@[*7;QL MU,88FR4@UDE>*I!A$2."4]9*)ADFV[K9=*LHV#A7?'MAX( HV#X"Z1]CEZF/ M6$S,9+2*Y,AY"8P6)50!'0L&[U0=8?C_1\&.AL-!4;!]9#/V%="E6?)J_N5L M_2NN/RWR9?6P5XD9*T"HD$"5J""DR(&%7'2)@I:T6U'EHZ_H&BN'R'+1G+&] MP./-V?KN,FP*TFI:@8F1U'9*Q!E5&#"/] ^Z$,IN)=F/O^,IQ*:.!LB1K.W@ MQ/JNFZNT3CYP#[F4VB0G"'!!T0;('&,607/?VM5H$ID:YU;P&'NHJ2AZ43X; ME_G9Y\79?$W;S00,.8'5:$$9%6F[^0A%"*U$(9:E_4ZE&P_OTD8^4'0/:9I# M^=@5#M[B,A$W)XK,M!1I79HC81# M.-EY4/ RB/'[C2#&\;'!;4]M&2+V-WVF>43^1PHLQF \\N/8*?59(.L]FL\7O89[PY\7R.:'\? +A\[-EW<'O M%K,9_?[WL,R3X',0QA1 5C6IM0F\E0Z2ES*K; *W82=%U(:>IQ%0W =2=V:7 MGEQH'5C8CZZZSJV.(;M(AB&XS=QTXR)$0:OBC'-R*"4=\*T+5;;1,PX 1P/' MO>$OC21U,.J^X'*ZR._78;D^WO1ZG*.9^%>S6B>HDQ#>.."),U"8.'@G$@CM M4E%U7@#;+0[P_7>-8Y:-#:TA!-&S3GN':196JVF98OZPH)]P^G7C&'MA,%DD MRS1R62.W'(*BI1:NM#'*2*]:%[WL3>0X&2]C0_0T,CUVP/B'TYS'B?RID&2& M(JTG[XSV8.&S 9Q>LXFO&= MGL%7ZYH$3#%M6JM9RX%4LZ+MX6H'+44*R*-2::O\:VW[[/Q5>T@&%;G)TE8?=H8JE_6JTGQWF9&-H>,]4Y. MU0'4C'$0)9/K3ON07*_C#]3'7M^94]$,=2<2R-CW5UM7^&;]B2R4_._T^TT+ M@XG)3J,0$E*LG;[VV,R_AA! [2@#=VW"&I5BB MYY!=O2KDQH#/9$3$S$7FSC*O6Z<['V_#Z:>'L_;2:.IP#G/=^@YK"M1T_O$M M+C=#^\B9?Q-GT_.+Z^,O7G=[?LLKV -6=.++6)7IF$,?(.HL"4)!@T=N(*,) MRGI69'FB91L[B6#B3$V TS4WSM'!;VCW.*%-;>;KDXTEI;MIJ:W6OYVPIW'O MN@]Z'BDX:RB?#D[/G1;U\H\OF*H+ M]16/#[7=>U3+J-IV.D\<0+-*%^[0@S&*@4J;<85!@$TJ(C,A"SQQXZ)6 ;2M ML>?G9Y_/9ALA/ _K].GO7ZZO/&I"WGD!RJ B2N<","AI;E_L\ M0LJX6G,XM-P;"M% $AVX4MNG9B2N0RZ63I-@Z]6TI\4P)8&KD+440F5LW;:J MXYDT342^USB:??C? YANC4HH(N2HH@3K/.VN9!AXF3W]F)E+NL2"K6.B3V8< MS5Z"W3J.9A\NCYWSMON\E*R8MS%"-#J! M$CUL',T>[!T;,SO-3;'"RQ0-J5R1:3OYVKX-HX9H=3#9NY+T;N7V3VT1Z0?CI#E; M.S!3SJL-TW^>35>;*NG-B(GXX/T3&R MFLE[(V MZU+>.2]*,KL9N-O?TQ=J!3+C7L]4UH%L[;VJ:C*(Z@RJ8G3,UJ MY#Q9%7T4LG6^Z#TB1C9:!CA_CN-S1T"Y68W"L]0N:P3K12U'"H)XD0M@0">X MH!7RUO/N'B"CCUCO@8)]!":'A MVSI'3?E"AII#8(Z[&J8T3 QU9;:5L'$]H:&0U$X6'2D<8A!./\[/N_2D_]/> MFS6Y<2/MPO???\%WL"\W)Z*U>10A2PI)]L1[Q<#:XIC-TDNR96M^_4F0[)UD M5Y&H!EKV7'@DM81*Y/,@D9E()'ZL:P!F:ZA^ 4*"_ '"<:(8Z61QE3#-"RL M%VR(+OX(ZZ -KOB=^-$WN"$:;?D29)ZG3W??.*RG3XSKU*]PSF6 M+BF.F$H2F!PIHM@\+L;$!5]7,9Q]CPM[/8%@'(_61V2UM+FM36[;!IS7"3/!K22,]FJD_ CT M.S]>F03'0-B5U&<#L=4!F_CBQZ_V/]WB96[6O%XO1AKM9="(KB\).H^1B\$C MXJ00CIC$BC_=-4"\5H[01]EEQH:K;2;>3.R]O;AZ;,^YH*05 OG\@"=/W,$: M@U_)J#EGREIF2I^%#!2QKM\S&E7Z4_)DW!J@Y4>[RCG:K747AF&=)$-!)H4X MQAXYI2CRUC@3,"&8^,*DNR- LY0Z'>JNE-X;(,W5K;I/<9-Y77Z=?KN:"F%* M))\[RVL>!%1=F4IHX8S5SJ==E"@NL]RZ^_M9 RVR7LI$?5"@[D&=3EE',PM M<@:1E5"L].-/!P6JT\BX!MG*X=( R0XH[MUU<9DDBFRF3YR-1M]'LF&WG0[$IJFZ;;\99%K@2@3-N:<=\()UF<* M%%D2" )OP?E@A#&^= N)QV1J-B8=FV9'0'(TQ;['A>O&)]F9]YN&0C&<772+ MU?2_F];@TAM#/(38C.K0 M$ \&)L!,3JDX;HP&JVEZ!;_/M[1_$(2/EO8/T6<##D>O9)Z7!"NO-9),KZ\K M)&0%ALW4:Q*U5\'STF]"_U3'VR/%8,PP^B#7]:5D.P@:HNFY1!Y\],-][^\"M,@"9. M, M0&0+KD9^OBI?&K,,"9&#LM5#I^V"7'Z*/DZ_ MYYVIQ#%3CU&+'"P-E;[04=+#SYZ%L&Y9:6?_E3>*? S5C$(BZ?%]8&0Y$ M$01%8I6.!LLD2V]1 T4L>IQDYQX,_*TOSV;=G_F-O3?=XB7P?KK*S83BUA'R MQ :EE$,DR+P#P'K*Y7U(JLBQ8%Y+6[H0_'AI*S=('9%W!P^W\[1SL M2;Q^?^-=_@=778E#%!([[9 WZ\H]*Y .X*][;X@D 3P55SK*.2!.0P=,(S*B M&P>>=IEVE8]V/DGP@!&W#/[#J$$F6(NHX3I%3JR-I5OX'!2H+MN*P=Z/3D=@ MT "A/L<9_.C\ES@'WS17(9R%"_!DL_G//E!^R7:^O+Y'%H,5TAB)F(]9;0(C M0V)N?;K\='= &2/MQT7V?+@%'F-"K[M*M(*2_ MK-L':>RZ40,1YT(D2"FDC)"+,"D6X8XF6 MOF@S6,CGE8X9PK('B>I1\6M@2^XWP8G# 5/J _*"8?".54"&"HV"EH+FB^,B ME[!J.%I\\+>>*X?)L;-V_%],5!'\I]YMU KQFCW3 ^;H< W\Z,8CIB))> MNHB9*GYF/$S$NF4W+5J_X] []>KKEZ?>CX4&7R:%@*16N5VZ3DA3&U$,H$?G M#*&F#C7KWH=MD9&#L&KYS8ZW\^\P3+?X<4)X_&",(M'O8#3@BEU/Z=_=XH^W<_ R?5S>FY(%)6FPR"@P17(9A MUT.LNL[_Z!0KA$=+%/MD__P5G+3%U,[NS0B"%2F]5BBD?* MG'YU@9=!HB5^Y$8HU$FOE+'*)Y)>/"?Q*68Q 74I&19/3 MI?-CM[]?U^L>G3-#-7P\.[J5G8WG0;_KYN<0*EZ\BFYEYV%]BS4&6 Z9E3[S(>+^.HCZ*"0@Y\_M8/!4HM$'.;("@K$(^OW MS$5 E#!'5>(&/*["2WNW)*<:K'Q0_"%MS@(G^1@D6"^0Y@+6I>(8F4 94M9B MZ24-J7AWF=O?K^NH%T#ZOJTZ6KD-[&2;8H--9^!W4^NFL^GJQT1[QIVU'D*( M8!!GEH+!U1Z)A(-AE&$KQBD6NB=(78=[!*J:>V/]VHG<5*$3$I-R(2&EHP#C2V'C-U*C0'E@C 6#2?&]<9\P M3<9Y0SAP*,X[7NU-./"[IK*^YX7S#LUL1"+DU]7RW7K#:4)".V]H(MJ*TC?B M]LE2ES^%P.Y!H<%Z;R!ML&L>[[+I7FPO;V%&(@N1(()=?J54)61!50CC&%T2 M%ER#,7-,NV1JCT_#D>]!IZ-AJ$BK[+=,/KY_^<+._WA_]G*ZFOXWSI>;W_T[ MSF;+-W9QWJU_;S?%WF?+9>>GZ]_D/_Z0SB[B8NKM^S/P&%_\^N%?X&=,EWO^ MQ57',4HTDZ 7*3 XD#(?,$0&>X&+))B$Y:TWY??Y5U4D;X_)QY.N>RX,:,#J M[K >,4"<91Q&R0N'.&<&F=S^E$0G-4W)1EWZYMR1._5H:=IQ=NH3==T<6[9K M,T4CF$\21:GRPZ; ?0+BPFAA%+Y)$*#;J+U2(NHD&:>QL!@HQ6E7W9Y*$7=,Z!Q-JD3 M==T<6VZUBI=14H$I1LY+CKCPL)Z\BHA%CVF(1H&21N5,*T\ZG(KQ0*;[G*Q^@H.?TX6G^4<\S(WD0F;]75VOHCKAC); XJQY%Y0@A+G^1*PH\A) MJI /.>4'6[VAME><-^BS+;'F6)B[)]%YJ[EGS4VQJ)V/1/+NNGGH7U,7D%2)> M1HA P(LTQJXU&$/B4D=)B]TF+'2M!>1OXTJCT='"UQ[MYB>COWBURI_7;^LKNXF%X] M-^443=F6,^LPXH$'9(51R*K$B*<4_$HSF&M]OMQ>@JPPQXJKOS:W[F6N+W-, M=M\C_#)W)M8Q!8LI$@XTQS4A2%L9D/:6@>^:/+[OE.WA5-\OMN>[ M%^#2*.INBT-7"2?-8^*J;Q-)KV=P_!QN?[]S?2F\_7TF--!&H:1]_F948H#!"\4 MHZ 93\XHT# ]@5&'OMV+6>JG8%8Q"!J+'R? @D!BEEV) ';6P.I8%_X(:@WF ME+GB/2=N?[\7A?3SH=#).F[W48/7=C&'..)C7&1?KYM__@HZOFFCLOWQ$GZ^ M_LD+NYQZ.P^OIK/+50PG7"HL\^$BEPU'T$&A2XCW/WUS!4U[KV3(N=7<2TU2 MA[2@%!D=HPM$!TI+%Q+LD^54P_4^KC9O..7W):XGB)E)CCJ&L,K9$Z7!2>1: M(MV.D*;V"[NS.)272*$1LP(C1JE-]K@+W: M4.0-9\(FK;@OG5N_(T!=EA0 ]!!%!FFW 6K<>_GY*AQ=+Z#EA\O5,M\HAU6U MMN,WZM(03W#.D'$1-O&@%-+2&Z2$<29Y9B0M79Y^E*!U<^OEJ38^6JU3\NUR M>1G#>GX3$D1^ @XCQ9/([<0%K:N">@R1!B'HM9 MZUR\K\D))S(X[!D2RD(4C+E&-O>CDU'A%*40R96.) <)6-<<-L;*D]!KH(?7 MSLEMPZP',SP+_[E1#D.O4PO)LM5I,W>4J5TU]Z=YW\^]Q>:V ?T]7 M7]]TBQ2GZY^_FGZ?AC@/RXGQ#B5O MT'\8BW@/WRZOPX(&5L"1>I]0C27L71QAPURNWG+Y[@]&(C>&,()36OR.^9&B M-NB!/!&OGP+;5KV2#VG?1"?"1Q/SDB321IA>RIWF27Y*A01CI512E7[:9J"( M#7H=-2E;",L&J+KSJ&+B E%!.8>B2K#>'.7YR"LB QM)4AZVD%2Z']M.0>K6 M43V]LWLZ&@ULX//R]5]^=AEB> .*!F?YV^4&R0\/ M3F'/+O([B1,F+7/42 23-(@GF:L2>40A4J.8U,';TFG[(H+7]1I'.5=\>D!; M[4^ M]SVRG()+1WSI57M G )9GLW0K__Z%N?+^"+.8UI7" G@LO*(& :A>HK@J*8\ M:465H3XDQLN_<;E3E-KO6I9APHZ\RLEZ;^*VX,V1ZL9*@B&=7X)M_/ M+C:- MZE_$U"WBK97[^B_07[X8,K>+'^O*MO<=_'2^ N'@,^=7I8V39'"@S.'C!GOI(D#6&*AVB\6:$K.%8TZG]>N:81*Z/?P->X>N4HL\>Q/51_M+5?H5S'**.A$ZK?MSG5>?_ M@, MANRYPA:S'K'$DQH]1R[B[QTSBT(^X%7:X^ZGKZFH@Z,XMY[ 0>@HC3( MX<"0E$%YZBT! U5X!1^6Z%3K=54TO(W_'WX'=#X_7Y\%+5_\N/D['^V/=8KS M3[L(FUX*/!@LDU*(V91O M!G;EC>3PE]?=LB Z]YXGAX2/N?T?3["#Y+M709B8I+;$EF[%>D> RORJ0X+[ MR9:C$6F 3LWFE)2RR"Z V^&4P&.+N7@UP01D!+4QQ"3U;1T MM#W&/.J2^P1:W;>5M3%N@.>YO>EBZO/)8O;!MKVQG+;1&1N1!$+!)/*;\4I,EM^@GY\:"!^JE@-<"XCW&1NL5%?A]XT-MY MR$5JEW:VWCLLP80R@W.1#TR DGQ!7Q/8.[0+-%%M^VW'\(5;;(/?W3!M[\KFX0RC0@JY-XWBH"V>@D!&Z80B M%SYP2H/7O6ET61<28)I14RSP BB]?_>YE?DYN' MMQ 0S//Q3/[!55-M"W93)8&D- 9Q#0&ID82AY#%1++C@XSTO9T]3J/[?;(,? MQ\#:C:_C!NS)HW9XGQE^=]T0B5,O+*$*:9Z]0D,BLC+2',)*K644"I?NM'*Z MU'5+R=O8!Y\8^P;8?C9;_YWM18T'4]^6@4VPHSX*0U# #-S4[&0:!G$.N*O 4J^OO@VZW[$^#DNOD^W.;R'M197=SO7 MZEQ^Z38W0:]__K);KMYWJ_^)JT_1=^?SZ7]CF$3+L,/1(R4B.$514&0Q!]-@ M4B)4"J%9\?*FL2;3>-)W7.*W09&?>:UL7I]YTRVV?Y3_'@',DH]4Y(9$@N4* M-(:,Q@J92*Q5F@.>]KDLH)TSK)P,^$E7U>ED:F"I'0W.YB&!Y2^+W*_[[?9= MIU\6N0V<4,%P[#3"7J9\[Q9V9@)[M,$\!O@5]ZGT8V\C3*-RY%!WT=2FQ7-> M&>O__ [69-,J%N9/)E8GXEETB$8%ID%*CZS"@(7@PC$EHRO^#EU)^>O>G'VN M:^%4(K3;#'IWI?B]PA@[#_>+%GZ#7?*4FXY%OCMBK?PI&GB:2OHDA/7:6#"] M24(D@ 4R,G!$:20>0Y ,?7?M)*>>.,QBQCE>D7$PWII^GR_.#BBDF.B_"6# MOT4E_1#.C5=)/P3>!MR/NP6VRDGEB61(L7Q3E1L0'CN&(O<&,\IXU*5#U)^R MDGX0"0Y6T@]!I $ZC5+/*"+'43".,*&Y0XWUR('_@KS+]V-2HI)^",8-\'QW<;;T0D2I B*,&MB!B,HE P1!3* I$1 4J-)WV_\NE?2# M^-&KDGX(6+6+,EYMO[F6?^W;7TV"^&2HLA#G49Q[+#&(-4%+Q&MJG(N4FG[O MG>[[0N,G)4]%I7(H-&"\]M7XQT"3M@DC:@C-[T8Y<* 314)'K72RR>K2V:-3 M+F74.TEX:@-6 K &>%<@P188BU3KA&QT"G%B,;)LW6V8,OACK(@K?0C]1,5! MS^#ZQRE1S1-C_YS9OJD'O'D=A+%QD][0P;=VH+\[?4\AF?3'^/I;;IHSI) MT6K-,462&U",90HYI@.*@0/(0P8/'BY).P20?B/"E^X@_U=P:#[O_ M#FOQ!++]U%OB[VO\KO7BYVL!IV=MQU/+S2LD -_UM;%-46F^N)!SW5^ZK+P) M95@GCB,2(1AP(:Q%ADHP8]+C8)2/\?XFN2=#W,)LGFFQY-.MR&:0&L2[)II> MCZ>U[;MIM^R8Q=Y)0SQB+A+$*7/(,$.0\HQSIE+^XV>S:3Z8WC,MX_R9]LW3 M*'?JUOGE&;BQ]T-ML%)&8W M%)8YU(X8Z8@]$MA[I2,WNIW;!*-D=N0_"[)1 MNIV8V7D]/\V7?4+EW'N\:AV"OP*+\L9.%[_;V66\#30U7#KJ\G&4"HA[+Y 3 M02'#&6C9'(J/1\:=.$/57WT0:!K8:0GE&@D9<@0$T MV%*D!='"8NE#>J)K D\Z[Y_^I&6\A=.@$1C$XK_=*42UJ4KIIM9O+/= ?_6UF",?G\DV>^[J;O'U>=]8X82RFL6,L0 MSRW/',$,4<(@=J/.2AF?C2D8./F?_K3I)S %8_*Y]AV#%DX-'M=H%"FD"'$B MPQP#+_++@4DH%'CB@ED2H^IWX>%93/>G/^\:W28\'ZP'4?NG3B!L#R\N@>X] M@B]-A0'/*K]S <&7!M5I'3C2Q(#6"%:"RV?C,@R9^4]_RO83^ NC,?FG7O\# M4B_6FB@-&$DN\E,W!&-DI'5 .8U8S+)OV\"\3D?Z/T$:W\D%A<]#"S6;1[*7U\UM,(=PT6F);,3 $Q88 M,M0F%(.-G,4H-"U]\>20/*=N'M=CO_CQPLXV%UMC7/VRZ"Z_3>?GF_N&24FU M?HA%>P+1,X\,62PLHB82Y20-@I7.!O61J^[I33&6W+>$Q2%IP$=Y!3;ON]T\ M$']EJ#]-EW]L>J"$++)BB"A)$9=:9ZN;$*/:48$A%F.EK[L?DJ<16A5#OQL) MBJ9H];*;KU=>OO._O>B/DX+871*4'(>YX&2R(R*!#!X')Y3PM+35.B1/75J5 M0WTOG4Z$H $Z??[3?KMZBDR;:#B)"'MF8(41AZQ)'@5CD[&:.:Z*US1=?[T5 MJIR*Z'T7_SCU5L_'@]CTZA4@1KG$1H.YS?=>;.#(1 @5F%26!AF4$>0Q'_K^ MH'6/GHNC?9+.&C "-QOPCNWWS70.?S:UL\^ T#HD>6DW4>9-+9T(Q&D1(M*1 MYL<0;43.4PQ4-S@JHI,.I7LWGBIS70J.[O(\*:0-4/AF3;_O\DSL[.RBNYRO M)A%$MY()1)4"L^M$0DX*CH(5QD>N@RC^K. ^65KQLI^"$7M=IA/@:8IF[Z;6 M36?3U8]KC7U(UUK\V"W7;V6\SMF9Y106\^LY^)^+-=@32P@UUF$4DL:(&ZF0 M84GD@WK-@K?1DO&"O^/E;L5%.X5!>VGY1' V0.&WZ]1PGN';N>\N(#B"L?.M M22.=EA@;Y#FWB*ODD&88%"FHD23@I%WI37R?+*ULSA4L91%XBM'L*9+T5TWB MNG3]X[/E,JZ6=AZNEN4T]QU<_Y.0GR#PEXL%8/'"+J>GO+4PICCC'0B,H:^G M.$8@6)"H34+2N'S0[#7829Z0,I0[Y2C5_1Z4?T['"$9(GK"+".;G-^\"Z!SY MFQ13BE[&9-(_QPC'LN2H8X0AD#2P7=^:T_4O_S4%WV/AO_YX%[_'V3J?2;PR M/' ,R@H$<2(DLM0()!PW27"NG1QM<1V4K!&J%6/$?LJ5@J=Q[.[ZJ] ML%<^8B)0,C07#PF89E06><6LB8*+0$N_D3!(P&8H6(PA^TA8'*Z6N/AV_NUR MM5QKC&SSK!C\:TV<0Q&TE'LR:60)2T@K*IDCV*DPVO;Z4)Q&>%:>!/OH=B(B MC9*+7G-)1\OK*;6SHJ8Y'U0B&ON; ^*&=$Z1S@ 7'JWO^J2ZYC$&F)7,+T,V>HZ$BHSZZ*T,XU6X_;1G=F5BB2> M $*WV3?-_FKB;54 M8@R>K\P5U=P&@4S $A&.L54X2(;'*U_:R-"(#_41BD(3<@Y YZ()@Q42@,27":>-,406A4V@WN%:67+ MK6 /RP!T/-.ZE9V-=Q3W*:ZF&U<[/Q96Y*;,8T,6.1(;)'>A8ZW7,/ON1P3M MSM;=N6\.V5Y>+C*/S^;A?3?WV]]<'650*YR,7"(>(A@D[#1R$$N@?#;LL*4Q MD=+9J>,D+?= ^:N88.V%%W$.O]@@=.N09^,B:^FILE0@"-5R<:2AR#AI$:4Z MX41ME*2T>1LD8-T-]@FXMO\!\M+P-;#-WK47G[_!]M MWN5_E@'-F7>9I*0> MIF&M OW1G'D7DB)I(]4^Z$!$Z;KW1X5JY3'RXH1X\#QN271:I]LV@Q5D2MXY MCWS2#'$/?K,.7,,,&9><>AY-Z;>#>HA5EW*%B3"$9D>@T@#10.JX7$U]GM V M@RFPUUQ!Q.- )3D4PV#^%46$VN"2Y=38XNF3!U(T3*-C@+Z?(SE-ZQ5YXW.Q M[.+'Y+?/DQR@,"<4D@("=1X=&&P=+,+"8J6U4I0>:ENSC/[_/^^^_Y_MB!N: M;']SPY";[U5.6)R(6'>2^AHP%&^Z19R>SV_-7SE'&:8&20)!*S>80U"L C)@ M5!U3@J10>O]Y($3=O,+89N(TG3=@)5Z>34C2'G,ID%)Z[=9I9$**B$B3#/&. M8G\H>AUF)5Z>54Z\GP98=Y+V&L#[EQ<3DY^N< (C2FQ"G&./G+(<);"&V"7A ME:;%\/[E1>7$8E&\!VJO@4WA85QW$];=9$]#="9Y[A#722,NDT66)X-X8E(9 M4(LO7MC72[!6'K4?.SHNCU+5GL_K8Y_-&S0?TKT\[B09CI.-'HE(8 $I<*@< M@4FI: /A*7(:?:_SMCT?J'UL5AS)KK!2ZU/CH9*V#Q9A30CLGA)IX6EN5!:1 M"U'GEZFUD5Y)B?MQ8]\7:OHN,T@;LGL"GE56 M"XG8PG1R#UNI$V(FQ1"4,L[I019DWY?J5LL]D2DIHN8FGAAXJ+#;DUJ^^+$] M,&09PK,)97@ ](8D&86$TY8]/*0"US&W]DC7-UVW..1;ER4FG2U MKYISO[G,W7FOYG5GNMNSOC>@9#O[GV@7$V/D;QNK^@:Q!T=WU:O=]]S/V\N*K^/JZU^7L(_.>7*]M!/C%%S M,FQ>=6M0N'2!X5R 3'S(U?(!&1\CPM$P9QP82UVZV.(YU* $XJW0BB#G6.[9 M01-$Y1$C:8PW1(2@6?'._3]]#R_^5#4H@P@QN 9E"#JMTVU[ND6B\Y8QBL3ZMI,@&)G@ M+0HP,9 ).T)+[PL_00W*("(<48,R!)4&B+;C;#UR9E7"X+>NW5CPIY$6/#]* MFI*,T21I2C]E_QQK4 8!_7@-RA"M-W#:^-OGB?"!RX 9,II*D-A:Y/*U$7 : MK$E:*ZD//9[R[&M0!B'VL 9EB/H:,!0/CULQS-"R_%!QKKSAN:695B$BYA1V MFD@G:?'.#<^O!N44,W&:SANP$K^\F*BD)%=>9C\NY*2(!<*#.DP(+D6M4U+E M:E!ZUB0\80W*(, >UB0,T5X#1J)?JDY1G*RW&C'MP7 :09"EGB%E>*+)>9'2 M^#GZ9UZ3<$JT5!ZE1@^)KAIOYLS>Q#+"5/("V2# $%NID%.4(QJMHDJ"'DGI M?-%AB9Y#.<,@$CQ*LZ/Q:-*T79T1@!=PN9A_6%O][8WJ0!6CQ$:D=#[?XCPB M;95& ?YGHY&:Z]*YH"'R/8=:B;+,*X35\: MP0_IXV+:+3['Q?>ICWFEO00AIZL)I]PYK"U*2MA\O3" 3V(\GC)'T.M1EEV5DEVBBC;3+8C+]E[Y;M.91?E"5@ 8R>2=..FT*$=?E!=[_^=XPZB\-? M&K?<8L LZU9=",:HTHG"=IL)31A'.@#A5+3>,ZE(I*7M09VJBSU5HILT R', M.6((DNN6QEP2I,'90$&($$RB3MGR[]SLE^=9UE0,8=(>TW@Z. UXA(^?S1J= M DZ)(?@_N[GKH ,S$(IQ(XVDT>#2*9K&2RC*X3^X8F((&*VS:WL6PXC0@M/\ M3JS0X+WZG#[%'AE#+.%!)\M+A\ _0<7$("(<43$Q!)4&B+;C)#A$KY*A##&> M+P@2M6XG0!#ASI @B0BZ>&KE&59,# +Z\8J)(5IOX"STM\\3GJPTGD1DF02) M/1ALJY+,[]PYI20S+/@#/'GV%1.#$'M8,3%$?0T8BH>'P412*J,S2,F0/4&5 MD"8IORP7 ].6.FM*5^P]PXJ)4\S$:3IOP$J\/)LDIG)0X!&(YD%BZH'FD2-# MHV*8:.KQH4<S:,41[#>"=:SQ"Q%)"0"@CDXA+99'# H)$Z353 M)A@?#[5H>.Y=.T[!>Z#V&M@4]@1T.V^T::F24Q+!*!#>84F19N!\!^Q<2EY2 M6[X77&_IFCA"+A\6CP1/N\3+^=A/T7?G\^E_8Y@$SC##&B.?.QUQXRFR0<%B M9%19S"DQHG1-9R_!FLS"G,R*?N0[ :)6;YF^["XNINL7DO.+MWG"T_DY_.Y6 M2K5$-_-C/E/D^./D^14Z^[@EQ]DM.3Q\_X:\UXGJ*!)83 Q!FH:OO'X<]_V%<6FXG:[7*PFO]K_=(N7E\M5=P'CK7.H MR7K%P3*!.Y+HMI<@21Y1S2$F(38Q>NBNS#6S8/A;K(+?W3!J]Y?K\J#E8_P9*\ M=>A2 M&NM'IK/X?UV\=/G[8A,DLAY/:3(*=WX%1J$)L[@K#2(F //[7]FJ?= MC%D/Z$+H=*>KJB+"(4XG[^*YG;T&@[CZL::[$EAH2122(23$OK?L<'ZX;PHVP-IZJU,B,V4F]7@Z64IK#A M81N1L4R"\8I1!9-OD/)^=OYZS'K '@](=[IV&DBX'3!P-^FB%(W&#%NDI=:.["B*#*77T4 !]M2+Y'1T4O+@@ZT M=)IGD(#-AJQ'\J-[*K!J[V2#9K8MF9UPJX/51N0+\@%V!D>1HY0C;*1+-(6D M;;^6O\=\O5D7^#2J/0T:SXIN[[OYU1QE8HEXDY#V/GN8>?<0H%8=M<:>!1+O MQUDE&'S=6&3_9'_[TM<7$R704TWX('U\W/L]P?+Q?^JUW&FX.7 MS>I9USZZW+8.EH)&7.5'%%EN6VJ.GUV5[$T\^3>./I MOS:S/FYP^MW.+F/NZM)]ZY:Y ]%%#%,[^W>W^&.B6%(^0L3CUD],!AN1C2X? M=MCD<50QR'X'NX]_JQ>'S//D4&%-UR;.;_,P7?KN>US]%EWQ?ZI5[Q\V1)$;76YL9MP<] .W[Z+?#F+=O[; MMTW3E FCE+G\Y+'+%RDX\QQI80FBW%(K$C'!LEX\Z?.U?IQY?OGZ<=1=FS]7 MV^W';@7*A9G-?GR*RWP/;^IF,7MWL 6_G?O9)?A\;^=GYXNX]@4G@3CGP7^# M 04QSFER!B7D$\BFNBHY/-3V)G[Y2^/\:W'5_MQ[)GF MYD=3?VU>O9Y_GRZZ>5X/=I8;U=W2VV> ;[U2/J0WT[F=>YC@QVXYS9B^SI],M#J@%UO?$V2"#)AA%HRSBE'ED/8=Y M,<6\92GWS"M\9-!7MGYL?;YG!Z-@5/\RWYW"TNC#9OAU@O#+] )F=7,IZ*[0 MNZ[K[:Q6S8-N>.;##;UV?V'@3;VCA2]T%^_S5^#F"[O,%SPOOH%=VO)]88$- MZRM6+W[<_)UM9G4MWD9&^,S9/*R[8]J+N"W;+;M\1Q'QY+Y>L -,<^_NSZO. M_[&M:BT[[]W?J'J0/B9;'C;I.J#BHZW.K$@1[<8UA6T]KF>[' 7_?5^I>L#] ME QX1,UU.+!V_5YM/[=FYF_SZ6HG _9XW'O_<=4SYJ< MI?NZL *6^]D,Y&+ M]99[[7$=[1[L'[& B+_.OTWSH%_ #7@!/_RCB)@/1ZU2]/PH%E=\ZJ61BL'1 M'?GBZFL7"N-U;\PJ=ZB+1H#Z5_?GC7QE+>">H:NXR$;H?&K>($#X*NAU9:6'C+ESF9_*6[%C=?4BRX^AX9 MOTI5XO EV$]+S>(Y$HQU2OL*H=<(:&_G8?I]&B[M;-W6XA2@[@U5-R@[K//N M,0747DJSV8UBRB70-60VB/SKM^"FCA'/$ZF71XT1QU#GAG[+K!"G]*>O16?6T'9M?N 3MZ MGF'Y:.!JX"K7-$Z/!^[II07H?IN'Q>S'^>?H+Q?KELMG%ZO3<=LY:IUK$\-1 M.Z22%B![_=?"?UQ,?8'U=3-4G?L)P\%Y,/D6$/D%=H#5*[N*;^QTL;Y@=3HT M.\:L4]L_'*/]ZJ@,UMV5_>/7/U9K*KW\.C__Z$\S>X\,7:=D?A!T_933:GWE MZ\4Z\3U2;>7#T8O453XB](DUE1G4_"3&][CX\2$]^-8#,AS%^UX?.&');D>] M^LSI6>:= U9+D W!Y_9B/:26RD8V%TIN;QOD/>#D;/.N\:KA=5#O72\E_*W/ M 4;Q3OJ"\L\)P#\G (.P>=_-W\>N!"AW1ZIW8G9(U]TC$V]H7XFY0=1TOGD0 M%?ZPV ;S8.!J1NU8SZ"/FFJ;O//SU792)V>;[@Y5K9+Q6+1VJZ(R/E<"S>WL MQW*Z+%.DLW?0:E6-)_K>>]53&;W/JS\^+OR'Q9?EXO5R-;VPFZ.EO3Y0 MK>3Q6%2'J*TRPA\N5V#C81^?GQ2R6CRJHG0WP?;?ZGWB]4\=2 M];Q:J8E#D3W#%FM-/)8% ^KIBW<7EW&+]WK MO_)9?X1YSE.W\-NNGZ<9VR'?J7;870CA/DIL$/;?I]ULK>8/Z5_=17R9V[PN M?KRS?XZ!_<&/U3LX+\F /OILD 8PX_^]M+-IFOJM]%_L7R_B/*;IZN1BB:,^ M6.^HOB0=^NJU+4J &9O9^5;@MQ??\I/.,(%-AYPROMMQ7ZQ7&U"(%,,TVTX$ M5M+%.S!LO0*" D%8F[[>#@$+Q]'WAZW3?JXPB&V%TK?3W5U<0ERX;=EX?1I8 MQ"@/^$R=KFVEC@SZZ;#5*J"/W\>J +H[@G--K?:X'J7;@.@"%VROR_NQK'PC]%?WE:OH]O@0S<=XM?IQ<.K)[ MQ'HPW==WUW/RM1/)L]E]\:8]VK_U*B+9/W"]ZJN#4'3#]%(9NH^Q*X#3S2@U M:TH>UW5W8.+UBWQ I/=%X+@_5KU+O0-!V:.$?VH5GW*G^:<^\9_ZQ&'8A/]\ MZ=;Q^*G+X^Y(U4W<'J=:D=JA%;%CHK6=VJVT99)N#T>KMVV?%L>W=G[QLOL<9S$W,]]RZ.2C MB]TCUMM(CL/KH%YJQRD@2KAVZC^D-/4P[IMYF;7V^.CU3.!Q6/;65VV;&>/B MET5W^>WM"=PCNJGM=EYEAL^^GQ>SC7L'K5?J>JR7 M^8AZ&D)O+=DM"U$2Q%UCUZM3+8#E 66U8$JO12UN4/>.7*_"]!2[^IBB:E=6 M_._E=/4C]\C:J!+"FXMU+]!7TP3"1)AM*70'?JI>P>F12RD#WRH%^)-Y8Z.4&-EY'>8GSSS;?*K#.A]O]$+[Y:R3P.5 MU]PB_[#Z&A>YWWJ\MLY8"^X6DI '5)+[:O.V:'*,RH$ MV*[Q>N'54L+H@%):2/$7:8]Y>Z!> +64Y=FEANI.2'=RJ>35&+WP:"D'Q:5?3-?',(7J5!\?OA>(+25 ^JNL M^KX4IEDN.^.8?K^97:GCY\=&[X5L2[F0W@IKM:'&V_ER"FK]LK#K9JJWGCJ\ M*_F)W34.?*9(JXV^TRC0=^/!IQX0Y,C[JWN'/247=CWUO1.5ANZYG_H%AJZVA83[" MXXJI[BEDJ4HT([T[4K6;O$-]N!W3;P62+]/5R>[UG:&J7'=ICK.$>?32!U:O+Q5JP B!=#U7O5NPQ MZ-S70!.P?([^/R[/S\[+N=SDXNX#TP;KU[K\< =E WS^.4\6,WFWJ8 MP,=%YT<\9;SSF1%.&?=/H_@IX^U//>!(@>/&W>.?E(O?#A]N#UTJI'M\]$9. M) _B=C>!WU-?U<]8=LGYOEMM12V31N[_E4:RRB?B?$!_XUOT[0_R?YQ=QO_[ M__T_4$L! A0#% @ 1&BG6,"4UJ2M!P ?R4 ! ( ! M &5X+3,Q,7$Q,C R-"YH=&U02P$"% ,4 " !$:*=8$.DG6L,' #[ M)@ $ @ ';!P 97@M,S$R<3$R,#(T+FAT;5!+ 0(4 Q0 M ( $1HIUA$G_^"TS,C!Q M,3(P,C0N:'1M4$L! A0#% @ 1&BG6)/]*8-A @$ UQ4/ !$ M ( !QQ0 &9S='(M,C R-# S,S$N:'1M4$L! A0#% @ 1&BG6.>, MHYE?$ J*\ !$ ( !5Q'-D M4$L! A0#% @ 1&BG6.BXR$R.' &UL4$L! M A0#% @ 1&BG6,*N6H(9AP U$0& !4 ( !_PX# &9S I='(M,C R-# S,S%?<')E+GAM;%!+!08 "@ * (8" !+E@, ! end XML 85 fstr-20240331_htm.xml IDEA: XBRL DOCUMENT 0000352825 2024-01-01 2024-03-31 0000352825 2024-05-01 0000352825 2024-03-31 0000352825 2023-12-31 0000352825 us-gaap:ProductMember 2024-01-01 2024-03-31 0000352825 us-gaap:ProductMember 2023-01-01 2023-03-31 0000352825 us-gaap:ServiceMember 2024-01-01 2024-03-31 0000352825 us-gaap:ServiceMember 2023-01-01 2023-03-31 0000352825 2023-01-01 2023-03-31 0000352825 2022-12-31 0000352825 2023-03-31 0000352825 us-gaap:CommonStockMember 2023-12-31 0000352825 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0000352825 us-gaap:RetainedEarningsMember 2023-12-31 0000352825 us-gaap:TreasuryStockCommonMember 2023-12-31 0000352825 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0000352825 us-gaap:NoncontrollingInterestMember 2023-12-31 0000352825 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0000352825 us-gaap:NoncontrollingInterestMember 2024-01-01 2024-03-31 0000352825 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0000352825 us-gaap:TreasuryStockCommonMember 2024-01-01 2024-03-31 0000352825 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0000352825 us-gaap:CommonStockMember 2024-03-31 0000352825 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0000352825 us-gaap:RetainedEarningsMember 2024-03-31 0000352825 us-gaap:TreasuryStockCommonMember 2024-03-31 0000352825 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0000352825 us-gaap:NoncontrollingInterestMember 2024-03-31 0000352825 us-gaap:CommonStockMember 2022-12-31 0000352825 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0000352825 us-gaap:RetainedEarningsMember 2022-12-31 0000352825 us-gaap:TreasuryStockCommonMember 2022-12-31 0000352825 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0000352825 us-gaap:NoncontrollingInterestMember 2022-12-31 0000352825 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0000352825 us-gaap:NoncontrollingInterestMember 2023-01-01 2023-03-31 0000352825 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0000352825 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0000352825 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0000352825 us-gaap:CommonStockMember 2023-03-31 0000352825 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0000352825 us-gaap:RetainedEarningsMember 2023-03-31 0000352825 us-gaap:TreasuryStockCommonMember 2023-03-31 0000352825 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0000352825 us-gaap:NoncontrollingInterestMember 2023-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:RailTechnologiesAndServicesSegmentMember 2024-01-01 2024-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:RailTechnologiesAndServicesSegmentMember 2023-01-01 2023-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:InfrastructureSolutionsSegmentMember 2024-01-01 2024-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:InfrastructureSolutionsSegmentMember 2023-01-01 2023-03-31 0000352825 us-gaap:OperatingSegmentsMember 2024-01-01 2024-03-31 0000352825 us-gaap:OperatingSegmentsMember 2023-01-01 2023-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:RailTechnologiesAndServicesSegmentMember 2024-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:RailTechnologiesAndServicesSegmentMember 2023-12-31 0000352825 us-gaap:OperatingSegmentsMember fstr:InfrastructureSolutionsSegmentMember 2024-03-31 0000352825 us-gaap:OperatingSegmentsMember fstr:InfrastructureSolutionsSegmentMember 2023-12-31 0000352825 us-gaap:CorporateNonSegmentMember 2024-03-31 0000352825 us-gaap:CorporateNonSegmentMember 2023-12-31 0000352825 fstr:CoatingsAndMeasurementMember 2023-03-30 2023-03-30 0000352825 fstr:RailProductsBusinessUnitMember 2023-03-30 2023-03-30 0000352825 fstr:RailProductsBusinessUnitMember 2023-06-30 2023-06-30 0000352825 fstr:BridgeGridDeckProductMember us-gaap:SegmentDiscontinuedOperationsMember 2024-01-01 2024-03-31 0000352825 fstr:BridgeGridDeckProductMember us-gaap:SegmentDiscontinuedOperationsMember 2023-01-01 2023-03-31 0000352825 fstr:BridgeGridDeckProductMember us-gaap:SegmentDiscontinuedOperationsMember 2023-08-30 2024-03-31 0000352825 fstr:CougarMountainPrecastLLCMember 2023-11-17 2023-11-17 0000352825 2023-01-01 2023-12-31 0000352825 fstr:RailProductsMember fstr:RailTechnologiesAndServicesSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:RailProductsMember fstr:RailTechnologiesAndServicesSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:GlobalFrictionManagementMember fstr:RailTechnologiesAndServicesSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:GlobalFrictionManagementMember fstr:RailTechnologiesAndServicesSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:RailTechnologiesProductsMember fstr:RailTechnologiesAndServicesSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:RailTechnologiesProductsMember fstr:RailTechnologiesAndServicesSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:PrecastConcreteProductsSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:PrecastConcreteProductsSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:SteelProductsSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:SteelProductsSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember 2023-01-01 2023-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember us-gaap:TransferredAtPointInTimeMember 2024-01-01 2024-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember us-gaap:TransferredAtPointInTimeMember 2024-01-01 2024-03-31 0000352825 us-gaap:TransferredAtPointInTimeMember 2024-01-01 2024-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember us-gaap:TransferredOverTimeMember 2024-01-01 2024-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember us-gaap:TransferredOverTimeMember 2024-01-01 2024-03-31 0000352825 us-gaap:TransferredOverTimeMember 2024-01-01 2024-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-03-31 0000352825 us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember us-gaap:TransferredOverTimeMember 2023-01-01 2023-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember us-gaap:TransferredOverTimeMember 2023-01-01 2023-03-31 0000352825 us-gaap:TransferredOverTimeMember 2023-01-01 2023-03-31 0000352825 fstr:OverTimeInputMethodMember 2024-01-01 2024-03-31 0000352825 fstr:OverTimeInputMethodMember 2023-01-01 2023-03-31 0000352825 fstr:OverTimeOutputMethodMember 2024-01-01 2024-03-31 0000352825 fstr:OverTimeOutputMethodMember 2023-01-01 2023-03-31 0000352825 2025-04-01 2024-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember 2023-12-31 0000352825 fstr:InfrastructureSolutionsSegmentMember 2023-12-31 0000352825 fstr:CougarMountainPrecastLLCMember fstr:RailTechnologiesAndServicesSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:CougarMountainPrecastLLCMember fstr:PrecastConcreteProductsSegmentMember 2024-01-01 2024-03-31 0000352825 fstr:CougarMountainPrecastLLCMember 2024-01-01 2024-03-31 0000352825 fstr:RailTechnologiesAndServicesSegmentMember 2024-03-31 0000352825 fstr:InfrastructureSolutionsSegmentMember 2024-03-31 0000352825 us-gaap:CustomerRelationshipsMember 2023-01-01 2023-03-31 0000352825 srt:WeightedAverageMember us-gaap:CustomerRelationshipsMember 2024-01-01 2024-03-31 0000352825 srt:WeightedAverageMember us-gaap:PatentsMember 2024-03-31 0000352825 us-gaap:PatentsMember 2024-03-31 0000352825 srt:WeightedAverageMember us-gaap:CustomerRelationshipsMember 2024-03-31 0000352825 us-gaap:CustomerRelationshipsMember 2024-03-31 0000352825 srt:WeightedAverageMember us-gaap:TrademarksAndTradeNamesMember 2024-03-31 0000352825 us-gaap:TrademarksAndTradeNamesMember 2024-03-31 0000352825 srt:WeightedAverageMember us-gaap:TechnologyBasedIntangibleAssetsMember 2024-03-31 0000352825 us-gaap:TechnologyBasedIntangibleAssetsMember 2024-03-31 0000352825 srt:WeightedAverageMember us-gaap:OffMarketFavorableLeaseMember 2024-03-31 0000352825 us-gaap:OffMarketFavorableLeaseMember 2024-03-31 0000352825 srt:WeightedAverageMember us-gaap:PatentsMember 2023-12-31 0000352825 us-gaap:PatentsMember 2023-12-31 0000352825 srt:WeightedAverageMember us-gaap:CustomerRelationshipsMember 2023-12-31 0000352825 us-gaap:CustomerRelationshipsMember 2023-12-31 0000352825 srt:WeightedAverageMember us-gaap:TrademarksAndTradeNamesMember 2023-12-31 0000352825 us-gaap:TrademarksAndTradeNamesMember 2023-12-31 0000352825 srt:WeightedAverageMember us-gaap:TechnologyBasedIntangibleAssetsMember 2023-12-31 0000352825 us-gaap:TechnologyBasedIntangibleAssetsMember 2023-12-31 0000352825 srt:WeightedAverageMember us-gaap:OffMarketFavorableLeaseMember 2023-12-31 0000352825 us-gaap:OffMarketFavorableLeaseMember 2023-12-31 0000352825 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2024-01-01 2024-03-31 0000352825 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-03-31 0000352825 us-gaap:RevolvingCreditFacilityMember fstr:FourthAmendedAndRestatedCreditAgreementMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2021-08-13 2021-08-13 0000352825 us-gaap:RevolvingCreditFacilityMember fstr:FourthAmendedAndRestatedCreditAgreementMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2021-08-13 0000352825 fstr:FourthAmendedAndRestatedCreditAgreementMember us-gaap:DebtInstrumentRedemptionPeriodOneMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2024-03-31 0000352825 fstr:FourthAmendedAndRestatedCreditAgreementMember us-gaap:DebtInstrumentRedemptionPeriodOneMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2021-08-13 0000352825 fstr:FourthAmendedAndRestatedCreditAgreementMember us-gaap:DebtInstrumentRedemptionPeriodTwoMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2021-08-13 0000352825 fstr:FourthAmendedAndRestatedCreditAgreementMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2021-08-13 0000352825 us-gaap:RevolvingCreditFacilityMember fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember 2024-03-31 0000352825 fstr:OmnibusPlanAndEquityAndIncentivePlanMember 2023-01-01 2023-03-31 0000352825 fstr:OmnibusPlanAndEquityAndIncentivePlanMember 2024-01-01 2024-03-31 0000352825 srt:DirectorMember 2024-01-01 2024-03-31 0000352825 us-gaap:RestrictedStockMember 2024-01-01 2024-03-31 0000352825 us-gaap:PerformanceSharesMember 2024-01-01 2024-03-31 0000352825 us-gaap:RestrictedStockMember 2023-12-31 0000352825 fstr:DeferredStockUnitsMember 2023-12-31 0000352825 us-gaap:PerformanceSharesMember 2023-12-31 0000352825 fstr:DeferredStockUnitsMember 2024-01-01 2024-03-31 0000352825 us-gaap:RestrictedStockMember 2024-03-31 0000352825 fstr:DeferredStockUnitsMember 2024-03-31 0000352825 us-gaap:PerformanceSharesMember 2024-03-31 0000352825 us-gaap:SwapMember 2022-08-31 0000352825 fstr:Swap2Member 2022-08-31 0000352825 us-gaap:FairValueInputsLevel1Member 2024-03-31 0000352825 us-gaap:FairValueInputsLevel2Member 2024-03-31 0000352825 us-gaap:FairValueInputsLevel3Member 2024-03-31 0000352825 us-gaap:FairValueInputsLevel1Member 2023-12-31 0000352825 us-gaap:FairValueInputsLevel2Member 2023-12-31 0000352825 us-gaap:FairValueInputsLevel3Member 2023-12-31 0000352825 us-gaap:SwapMember 2024-01-01 2024-03-31 0000352825 us-gaap:SwapMember 2023-01-01 2023-03-31 0000352825 country:US 2024-01-01 2024-03-31 0000352825 country:CA 2024-01-01 2024-03-31 0000352825 country:GB 2024-01-01 2024-03-31 0000352825 country:US 2023-01-01 2023-03-31 0000352825 country:US 2024-03-31 0000352825 country:GB 2023-01-01 2023-03-31 0000352825 country:GB 2024-03-31 0000352825 country:CA 2023-01-01 2023-03-31 0000352825 fstr:UPRRMember 2019-03-13 2019-03-13 0000352825 fstr:UPRRMember 2019-03-13 0000352825 fstr:UprrMember 2019-03-13 0000352825 fstr:UprrMember 2021-09-30 0000352825 2017-06-05 0000352825 2020-03-26 shares iso4217:USD iso4217:USD shares fstr:segment pure fstr:covenant fstr:plan fstr:company fstr:party false 2024 Q1 0000352825 --12-31 2 2 3 P1Y http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent 10-Q true 2024-03-31 false 000-10436 L.B. Foster Company PA 25-1324733 415 Holiday Drive Suite 100 Pittsburgh PA 15220 412 928-3400 Common Stock, par value $0.01 FSTR NASDAQ Yes Yes Accelerated Filer true false false 10963711 3148000 2560000 57871000 53484000 24141000 29489000 85761000 73496000 12063000 8961000 182984000 167990000 76133000 75999000 14098000 14905000 31995000 32587000 18198000 19010000 2993000 2715000 326401000 313206000 43368000 40305000 11458000 12479000 5340000 16978000 8000000 8000000 159000 102000 15856000 17442000 84181000 95306000 77926000 55171000 1191000 1232000 11178000 11865000 6648000 6797000 0.01 0.01 20000000 20000000 11115779 11115779 10789231 10733935 111000 111000 41866000 43111000 129069000 124633000 326548 381844 5829000 6494000 -20616000 -19250000 144601000 142111000 676000 724000 145277000 142835000 326401000 313206000 104463000 98538000 19857000 16950000 124320000 115488000 81469000 78065000 16602000 14132000 98071000 92197000 26249000 23291000 22749000 21423000 1217000 1365000 2283000 503000 1125000 1388000 3536000 -1827000 4694000 -2712000 289000 -541000 4405000 -2171000 -31000 -19000 4436000 -2152000 0.41 -0.20 0.40 -0.20 10762000 10792000 10985000 10792000 4405000 -2171000 -1497000 1247000 0 0 106000 -418000 4000 2000 25000 40000 3039000 -1302000 -31000 -19000 -17000 4000 -48000 -15000 3087000 -1287000 4405000 -2171000 -41000 -1233000 2374000 2505000 1217000 1365000 0 -17000 3574000 14000 1033000 884000 0 -2033000 4042000 -26239000 -5136000 860000 12371000 15564000 3012000 791000 -425000 1439000 2395000 4921000 -1008000 -707000 -11599000 -6386000 -1807000 -2981000 -1395000 1148000 -21864000 6932000 3501000 16000 2292000 699000 0 5344000 1209000 4661000 55835000 55133000 78746000 43086000 1613000 309000 0 334000 21298000 -12022000 -55000 186000 588000 -243000 2560000 2882000 3148000 2639000 992000 1425000 303000 -1564000 111000 43111000 124633000 -6494000 -19250000 724000 142835000 4436000 -31000 4405000 -25000 -25000 -1497000 -17000 -1514000 106000 106000 16555 385000 385000 71851 -2278000 1050000 -1228000 1033000 1033000 111000 41866000 129069000 -5829000 -20616000 676000 145277000 111000 41303000 123169000 -6240000 -21165000 420000 137598000 -2152000 -19000 -2171000 -40000 -40000 1247000 4000 1251000 -418000 -418000 32884 -1236000 1066000 -170000 884000 884000 111000 40951000 121017000 -5174000 -20296000 405000 137014000 Basis of PresentationThe accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company’s Annual Report on Form 10-K for the year ended December 31, 2023. In this Quarterly Report on Form 10-Q, references to “we,” “us,” “our,” and the “Company” refer collectively to L.B. Foster Company and its consolidated subsidiaries. The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company’s Annual Report on Form 10-K for the year ended December 31, 2023. In this Quarterly Report on Form 10-Q, references to “we,” “us,” “our,” and the “Company” refer collectively to L.B. Foster Company and its consolidated subsidiaries. Business Segments <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company’s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company’s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company’s segment accounting policies are described in Note 2 Business Segments of the Notes to the Company’s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December 31, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is organized and operates in two reporting segments: Rail, Technologies, and Services (“Rail”), and Infrastructure Solutions (“Infrastructure”). Effective for the quarter and year ended December 31, 2023, the Company made certain organizational changes that led to the conclusion that it will operate under two reporting segments as opposed to the three reporting segments it has operated under historically. As such, the Company has restated segment information for the historical periods presented herein to conform to the current presentation. The Infrastructure Solutions business comprises both the historic Precast Concrete Products and Steel Products and Measurement (since renamed “Steel Products”) reporting segments.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company’s reportable segments were as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,778 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,388 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,697 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,393)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,104 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(356)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,320 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,385 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table demonstrates a reconciliation of reportable segment net profit to the Company’s consolidated total for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.633%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.012%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit for reportable segments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,125)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,388)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense) - net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,536 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses and other unallocated charges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,102)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,529)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income (loss) before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,694 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,712)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates assets of the Company by reportable segment for the periods presented:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">167,565 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,023 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,852 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,984 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">326,401 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">313,206 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC (“Chemtec”) business for $5,344 in proceeds generating a $2,065 loss on sale, recorded in “Other (income) expense - net” for the three months ended March 31, 2023. The Chemtec business was reported in the Steel Products business unit in the Infrastructure segment.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 30, 2023, the Company sold substantially all the operating assets of the prestressed concrete railroad tie business operated by its wholly-owned subsidiary, CXT Incorporated (“Ties”), located in Spokane, WA, for $2,362 in proceeds, generating a $1,009 loss on the sale, which was recorded in “Other expense (income) - net” for the three months ended June 30, 2023. The Ties business was reported in the Rail Products business unit within the Rail segment.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (“Bridge Exit”) which was reported in the Steel Products business unit within the Infrastructure segment. The decision to exit the bridge grid deck product line was a result of a weak bridge grid deck market condition and outlook due to customer adoption of newer technologies replacing the grid deck solution. The Bedford, PA based operations supporting the product line expects to complete any remaining customer obligations during 2024. For the three months ended March 31, 2024 and 2023, the product line had $810 and $1,491 in sales, respectively. During the three months ended March 31, 2024, the Company incurred $73 of exit costs recorded in “Other (income) expense - net,” all of which were personnel expenses. The Company expects to incur an additional $111 of personnel expenses associated with the exit through 2024. Cumulatively, the Company has incurred a total of $1,476 in exit costs for the Bridge Exit, which included $474 in inventory write-downs, $740 in personnel expenses, and $262 in other exit costs.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 17, 2023, the Company acquired the operating assets of Cougar Mountain Precast, LLC (“Cougar”), located in Caldwell, Idaho, which is a licensed manufacturer of Redi-Rock and natural concrete products for $1,644, subject to hold back payments, to be paid over the next twelve months or utilized to satisfy post-close working capital adjustments or indemnity claims. Cougar has been included in the Precast Concrete Products business unit within the Infrastructure segment.</span></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company’s reportable segments were as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,778 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,388 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,697 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,393)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,104 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(356)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,320 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,385 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 82623000 6778000 64384000 2388000 41697000 -1393000 51104000 -356000 124320000 5385000 115488000 2032000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table demonstrates a reconciliation of reportable segment net profit to the Company’s consolidated total for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.633%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.012%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit for reportable segments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,125)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,388)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense) - net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,536 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses and other unallocated charges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,102)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,529)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income (loss) before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,694 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,712)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 5385000 2032000 -1125000 -1388000 3536000 -1827000 3102000 1529000 4694000 -2712000 <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates assets of the Company by reportable segment for the periods presented:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">167,565 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,023 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,852 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,984 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">326,401 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">313,206 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 167565000 157023000 129852000 130667000 28984000 25516000 326401000 313206000 5344000 -2065000 2362000 1009000 810000 1491000 73000 111000 1476000 474000 740000 262000 1644000 Revenue<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s sales by major product and service line for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,038 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,228 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Global Friction Management</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,820 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,336 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,623 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,091 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,606 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,104 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,320 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The majority of the Company’s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by the timing of the transfer of goods and services was as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.066%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,539 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,657 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,196 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,084 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,040 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,320 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,834 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,128 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,962 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,976 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,104 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Company’s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects and custom precision metering systems within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts the Company’s performance to date under the terms of the contract, or an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract. As a result of management's reviews of contract-related estimates the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. During the three months ended March 31, 2024, reductions to net sales stemming from changes in actual and expected values of certain commercial contracts and settlements of such contracts were immaterial. Such adjustments were $393 during the three months ended March 31, 2023. The Company’s estimates related to these long-term agreements are further described in Note 4 Revenue of the Notes to the Company’s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December 31, 2023.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized over time was as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,211 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,981 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,315 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,124 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.4 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.2 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in “Contract assets - net”), and billings in excess of costs (contract liabilities), included in “Deferred revenue” within the Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company’s contract assets:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Contract Assets</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,489 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net additions to contract assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,212 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Transfers from contract asset balance to accounts receivable </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,560)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,141 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company’s contract liabilities:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Contract Liabilities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,189 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized from contract liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,467)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increase in billings in excess of cost, excluding revenue recognized </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,850 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,889 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company had approximately $222,261 of remaining performance obligations, which is also referred to as backlog. Approximately 10.5% of the March 31, 2024 backlog was related to projects that are anticipated to extend beyond March 31, 2025.</span></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s sales by major product and service line for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,038 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,228 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Global Friction Management</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,820 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,336 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,623 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,091 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,606 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,104 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,320 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 53038000 40228000 14022000 15820000 15563000 8336000 82623000 64384000 21091000 24288000 20606000 26816000 41697000 51104000 124320000 115488000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by the timing of the transfer of goods and services was as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.066%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,539 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,657 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,196 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,084 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,040 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,320 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,834 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,128 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,962 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,976 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,104 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized over time was as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,211 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,981 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,315 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,124 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.4 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.2 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 65539000 29657000 95196000 17084000 12040000 29124000 82623000 41697000 124320000 53834000 29128000 82962000 10550000 21976000 32526000 64384000 51104000 115488000 0 -393000 13143000 16211000 0.106 0.140 15981000 16315000 0.129 0.141 29124000 32526000 0.234 0.282 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company’s contract assets:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Contract Assets</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,489 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net additions to contract assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,212 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Transfers from contract asset balance to accounts receivable </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,560)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,141 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company’s contract liabilities:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Contract Liabilities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,189 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized from contract liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,467)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increase in billings in excess of cost, excluding revenue recognized </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,850 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,889 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 29489000 4212000 9560000 24141000 2189000 1467000 1850000 317000 2889000 222261000 0.105 Goodwill and Other Intangible Assets<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill balance by reportable segment for the period presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,121 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,587 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cougar purchase accounting adjustment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(445)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(445)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(147)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(147)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,319 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,676 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,995 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 17, 2023, the Company acquired Cougar Mountain Precast, LLC., for which all purchase accounting adjustments were finalized as of March 31, 2024. Purchase accounting finalization during the three months ended March 31, 2024 included adjustments to record $429 of gross intangible assets for customer relationships with a weighted average amortization period of 5 years.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">other inflationary costs. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of March 31, 2024. However, future impairment charges could result if future projections diverge unfavorably from current expectations.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the components of the Company’s intangible assets for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31, 2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">328 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(203)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,903)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,145 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,979 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,755)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,224 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,164)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(91)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,314 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51,116)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,198 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(199)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,712 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,236)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,476 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,989 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,593)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,658 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,906)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,752 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(77)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,021 </span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(50,011)</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,010 </span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill balance by reportable segment for the period presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,121 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,587 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cougar purchase accounting adjustment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(445)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(445)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(147)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(147)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,319 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,676 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,995 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 20466000 12121000 32587000 0 -445000 -445000 -147000 0 -147000 20319000 11676000 31995000 429000 P5Y <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the components of the Company’s intangible assets for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31, 2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">328 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(203)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,903)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,145 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,979 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,755)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,224 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,164)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(91)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,314 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51,116)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,198 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(199)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,712 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,236)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,476 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,989 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,593)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,658 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,906)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,752 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(77)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,021 </span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(50,011)</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,010 </span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> P10Y 328000 203000 125000 P16Y 28048000 17903000 10145000 P15Y 7979000 4755000 3224000 P9Y 32632000 28164000 4468000 P6Y 327000 91000 236000 69314000 51116000 18198000 P10Y 335000 199000 136000 P16Y 27712000 17236000 10476000 P16Y 7989000 4593000 3396000 P9Y 32658000 27906000 4752000 P6Y 327000 77000 250000 69021000 50011000 19010000 Accounts Receivable<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in reserves for uncollectible accounts are recorded as part of “Selling and administrative expenses” in the Condensed Consolidated Statements of Operations, and an expense of $396 and $155 for the three months ended March 31, 2024 and 2023, respectively.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company established the allowance for credit losses by calculating the amount to reserve based on the age of a given trade receivable and considering historical collection patterns, bad debt expense experience, expected future trends of collections, current and expected market conditions, and any other relevant subjective adjustments as needed. Management maintains high-quality credit review practices and positive customer relationships that mitigate credit risks. The Company’s reserves are regularly reviewed and revised as necessary.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company’s allowance for credit losses:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.818%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Allowance for Credit Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">809 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-off against allowance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,170 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 396000 155000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company’s allowance for credit losses:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.818%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Allowance for Credit Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">809 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-off against allowance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,170 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 809000 396000 35000 1170000 Inventory<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory is valued at average cost or net realizable value, whichever is lower. The Company’s components of inventory are summarized in the following table for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,550 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,903 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,432 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,779 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,918 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories - net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,761 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,496 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> The Company’s components of inventory are summarized in the following table for the periods presented:<div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,550 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,903 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,432 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,779 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,918 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories - net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,761 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,496 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 57550000 44903000 1432000 4675000 26779000 23918000 85761000 73496000 Long-Term Debt and Related Matters<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,497 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,060 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases and financing agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,085 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,273 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less current maturities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(159)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(102)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term portion</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,926 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,171 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the “Borrowers”), entered into the Fourth Amended and Restated Credit Agreement (the “Credit Agreement”) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August 13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement’s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the Company’s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions. On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (the “Second Amendment”) which added an additional tier to the pricing grid and provided for the conversion from LIBOR-based to SOFR-based borrowings.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement, as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company’s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company’s consolidated EBITDA, which must not exceed (i) 3.25 to 1.00 for all testing periods other than during an Acquisition Period (as defined in the Credit Agreement), and (ii) 3.50 to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company’s consolidated EBITDA divided by the Company’s Fixed Charges (as defined in the Credit Agreement), which must be more than 1.05 to 1.00. As of March 31, 2024, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $2,432.</span></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,497 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,060 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases and financing agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,085 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,273 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less current maturities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(159)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(102)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term portion</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,926 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,171 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 77497000 55060000 588000 213000 78085000 55273000 159000 102000 77926000 55171000 P5Y 130000000 25000000 50000000 2 3.25 3.5 1.05 2432000 Earnings Per Common Share<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(Share amounts in thousands)</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted earnings (loss) per common share for the periods indicated:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted earnings (loss) per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,436 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,152)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,762 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings (loss) per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,762 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock compensation plans</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive potential common shares</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,985 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings (loss) per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.41 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings (loss) per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.40 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were 0 and 101 anti-dilutive shares for the three months ended March 31, 2024 and March 31, 2023, respectively.</span></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted earnings (loss) per common share for the periods indicated:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted earnings (loss) per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,436 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,152)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,762 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings (loss) per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,762 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock compensation plans</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive potential common shares</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings (loss) per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,985 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings (loss) per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.41 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings (loss) per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.40 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 4436000 -2152000 10762000 10792000 10762000 10792000 223000 0 223000 0 10985000 10792000 0.41 -0.20 0.40 -0.20 0 101000 Income Taxes<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2024 and 2023, the Company recorded an income tax expense of $289 on pre-tax income of $4,694 and an income tax benefit of $541 on pre-tax losses of $2,712, respectively, for an effective income tax rate of 6.2% and 19.9%, respectively. The Company's effective income tax rate for the three months ended March 31, 2024 differed from the federal statutory rate of 21% primarily due to the realization of a portion of its U.S. deferred tax assets previously offset by a valuation allowance. The Company continues to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.</span></div> 289000 4694000 -541000 -2712000 0.062 0.199 Stock-Based Compensation<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded stock-based compensation expense of $1,033 and $884 for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, unrecognized compensation expense for awards that the Company expects to vest approximated $4,711. The Company will recognize this unrecognized compensation expense over the upcoming 1.9 years through March 1, 2026.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company had stock awards issued pursuant to the 2022 Equity and Incentive Compensation Plan (the "Equity and Incentive Plan") and its predecessor, the 2006 Omnibus Incentive Compensation Plan (the "Omnibus Plan"). No stock options are outstanding under either the Omnibus Plan or Equity and Incentive Plan and, as such, there was no stock-based compensation expense related to stock options recorded for the March 31, 2024 and 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-Employee Director Fully-Vested and Restricted Stock Awards</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Since May 2018, non-employee directors have been awarded shares of the Company’s common stock on each date the non-employee directors were elected at the annual shareholders’ meeting to serve as directors, subject to a one-year vesting requirement. The Deferred Compensation Plan for Non-Employee Directors under the Omnibus Plan and, by amendment, under the Equity and Incentive Compensation Plan, which permits non-employee directors of the Company to defer receipt of earned cash and/or stock compensation for service on the Board into deferred stock units.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock and Performance-Based Stock and Share Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Equity and Incentive Compensation Plan and Omnibus Plan, the Company grants certain employees restricted stock and performance-based stock and share units. The forfeitable restricted stock awards granted generally time-vest ratably over a three-year period, unless indicated otherwise by the underlying restricted stock award agreement. Performance unit awards are offered annually under separate three-year long-term incentive programs, unless indicated otherwise by the underlying performance unit award agreement. Performance units are subject to forfeiture and will be converted into common stock based upon the Company’s performance relative to performance measures and conversion multiples as defined in the underlying program.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Restricted<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deferred<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Performance-Based Stock<br/>and Share Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,404 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">560,338 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.10 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,064 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.03 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(103,286)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,782)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.92 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment for incentive awards expected to vest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.63 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled and forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,000)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(437)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.62 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173,748 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,404 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">540,229 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.81 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1033000 884000 4711000 P1Y10M24D 0 0 0 0 P1Y P3Y P3Y <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Restricted<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deferred<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Performance-Based Stock<br/>and Share Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,404 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">560,338 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.10 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,064 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.03 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(103,286)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,782)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.92 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment for incentive awards expected to vest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.63 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled and forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,000)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(437)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.62 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173,748 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,404 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">540,229 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.81 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 264970 12404 560338 14.10 13064 0 0 23.03 103286 0 19782 13.92 0 0 110 11.63 1000 0 437 11.62 173748 12404 540229 13.81 Fair Value Measurements<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the fair value of assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants. The fair values are based on assumptions that market participants would use when pricing an asset or liability, including assumptions about risk and the risks inherent in valuation techniques and the inputs to valuations. The fair value hierarchy is based on whether the inputs to valuation techniques are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company’s own assumptions of what market participants would use. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Quoted market prices in active markets for identical assets or liabilities.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Unobservable inputs that are not corroborated by market data.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">SOFR-based interest rate swaps</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> - To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into forward-starting SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000 effective August 12, 2022 and August 31, 2022, respectively. The fair value of the interest rate swaps are based on market-observable forward interest rates and represents the estimated amount that the Company would pay to terminate the agreements. As such, the swap agreements are classified as Level 2 within the fair value hierarchy. As of March 31, 2024 and December 31, 2023, the interest rate swaps were recorded in “<span style="-sec-ix-hidden:f-585"><span style="-sec-ix-hidden:f-586">Other current assets</span></span>” when the interest rate swaps’ fair market value are in an asset position, and “Other accrued liabilities” when in a liability position within our Condensed Consolidated Balance Sheets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:20.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.350%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-left:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The $20,000 interest rate swap agreements that became effective August 2022 are accounted for as cash flow hedges and the objective of the hedges is to offset the expected interest variability on payments associated with the interest rate on our debt. The gains and losses related to the interest rate swaps are reclassified from “Accumulated other comprehensive loss” in our Condensed Consolidated Balance Sheets and included in “Interest expense - net” in our Condensed Consolidated Statements of Operations as the interest expense from our debt is recognized.</span></div>For the three months ended March 31, 2024 and 2023, the Company recognized interest income of $337 and $245, respectively, from interest rate swaps. 20000000 20000000 <div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:20.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.350%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,331 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-left:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> Interest rate swaps Interest rate swaps 1331000 0 1331000 0 1225000 0 1225000 0 1331000 0 1331000 0 1225000 0 1225000 0 20000000 337000 245000 Retirement Plans<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has three retirement plans that cover its hourly and salaried employees in the United States: one defined benefit plan, which is frozen, and two defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company’s contributions to the defined benefit and defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (“ERISA”) and the Company’s policy and investment guidelines </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">applicable to each respective plan. The Company’s policy is to contribute at least the minimum in accordance with the funding standards of ERISA.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains one defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains two defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.</span></div><div style="margin-bottom:3pt"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">United States Defined Benefit Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(68)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has made contributions to its United States defined benefit plan of $100 during the three months ended March 31, 2024 and expects to make total contributions of approximately $370 during 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">United Kingdom Defined Benefit Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(94)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(83)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service costs and transition amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2024, the Company contributed approximately $79 to the plan. The Company anticipates total contributions of approximately $315 to the United Kingdom pension plan during 2024.</span></div><div style="margin-bottom:3pt"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Defined Contribution Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company sponsors five defined contribution plans for hourly and salaried employees across its domestic and international facilities. The following table summarizes the expense associated with the contributions made to these plans for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">551 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">614 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canada</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">908 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">937 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 3 1 2 1 2 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(68)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(94)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(83)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service costs and transition amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 66000 71000 68000 64000 -15000 -16000 13000 23000 100000 370000 56000 55000 94000 83000 6000 6000 -8000 -3000 -24000 -19000 79000 315000 5 The following table summarizes the expense associated with the contributions made to these plans for the periods presented:<div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">551 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">614 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canada</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">908 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">937 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 551000 614000 76000 62000 281000 261000 908000 937000 Commitments and Contingent Liabilities<div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Product Liability Claims</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual, which is adjusted on a monthly basis as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.</span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Union Pacific Railroad (“UPRR”) Concrete Tie Matter</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 13, 2019, the Company and its subsidiary, CXT Incorporated (“CXT”), entered into a Settlement Agreement (the “Settlement Agreement”) with UPRR to resolve the then-pending litigation in the matter of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Settlement Agreement, the Company and CXT will pay UPRR the aggregate amount of $50,000 without pre-judgment interest, which began with a $2,000 immediate payment, and with the remaining $48,000 paid in installments over a six-year period commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $48,000 of products and services, targeting $8,000 of annual purchases per year beginning March 13, 2019, per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company’s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $6,000 for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected payment under the UPRR Settlement Agreement for the remainder of the year ending December 31, 2024 is $8,000, upon which the obligation for the Settlement Agreement will be satisfied.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Environmental and Legal Proceedings</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company’s efforts to comply with environmental regulations may have an adverse effect on its future earnings.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (“EPA”) indicating that the Company may be a potentially responsible party (“PRP”) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than 140 other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $1.1 billion and $1.7 billion, respectively, and the remedial work is expected to take as long as 13 years to complete. These costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost 100 PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994. On March 26, 2020, the EPA issued a Unilateral Administrative Order to two parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. The Company cannot predict the ultimate impact of these proceedings because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company’s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of March 31, 2024 and December 31, 2023, the Company maintained environmental reserves approximating $2,398 and $2,417, respectively.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management’s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company’s financial position or liquidity as of March 31, 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company’s assessment as of March 31, 2024, no such disclosures were considered necessary.</span></div> 50000000 2000000 48000000 P6Y 48000000 8000000 6000000 8000000 140 1100000000 1700000000 P13Y 100 2 financial condition 2398000 2417000 false false false false Reclassifications out of “Accumulated other comprehensive loss” for pension obligations are charged to “Selling and administrative expenses” within the Condensed Consolidated Statements of Operations.

)-@+P,ZV9P*1T7YG:,[%-CH3H/H[G*E'S;8V-_P+ MWVSY#9NTEOI/T_%04C\K@GA=%<^ MYS1@:02Y2S%$"2%B.^-1&(1NREB"?.XY.ML96XS-?2W2L'D!BHY1\-2[D,]W MK%X WC(+JII;:1/*'K\7UZ7N.MZ-FAW0O9\7@0(7'5>R$= MG^!N]T)N#U[(]?@+T=XHV9:>IPYMQ=[_8RL. MPA\W9574B4=E'5=Q]X W5T]RBO)SOOG"2YGML*UO9V/&(NX2"MW(]2 B.(") MC\0_ R="-&))Y/NKIQ?9)N>?DVSQKV-27J)0CTW95C(A269Y70#"[[--;6$( M7M?6Y8=L TJ)1CL,?+&WG(8H)F'(((D0%V^9A3!)XP2&2+S[,"0,1U[[EKN\ MC#_S.SZ=QJ+ZAGG]YY_I]5IR7KS&"]-;YVO^8,T@Z(, /12 /(/^#Q(4R6_JQ;5F=5YQT-]P.]Q\?]V M.P"% (TS9*JX);,M*1Q:H"VELNI0G/A?$X-,1SG=.H,-O82Y^LO M,A#F,!2O">O&#@Z"*"$P23RQZC/LPL0E#D0NBX0)"?T@U8J'&Z4VOS^WH?TR M!E?;+3LB,&5?JQTQ:#M06PF\B*6=(8];":(]+^<(K:5=E].P3_@C%0;IZ7+LMJ_R1%UWRR_--OEY_R MYQE@QFJ*8!R%,(Y=#%"08 MDC@1?\,1(:X?,(\K1:QH49T[Y+5E T@^0,?(+@-+?/22%] RH[@_T!/KN#68 M35AZ5N$[D!-K*VC59^+EY75 WIKE1H ;FRJ'2D.)'+^I?/5/>I,M8C2- M\'7&TVRPJ5,DY86PS4T.^QW^ULL@_,RK%4$XC5#LP-ASY#:)49C$+(&1QYCG M>QX)0ZKG'!FE-[/A[*B#"G_K9P: 'S[G%0>)IH=\2GBJOA)K(M'UF;32:$M5 M"-*'6;R"NDW?B1),:SZ4<6H+^U*4H!_[5-2&Z0>G_;)YRJ2WYBY[Y$P8$NFX M_3M>?UCC>]4 M9$I9E;B7SY??^R[^FH.0)H7AU@V!7#]"#>5Q\V6YE[L1GU_4K8'<98X- U=#Z;B M- .1Z_B0!$$,*2)AY,=NS'TMS\4 G9FUN$>UO>AL2K+)BXN:#?#K)JLT+RV& M1*:V$%L0A)X"]V.\&HHSN"LF4%E:;X>H++K.3D!]N;Y./6YX9\'OY8GKAC_E MA4S#TW6I#PR?T8O>4 0[DO-XS2=PV7*4#Y%9UC<^ ?;('3[UO''9I7R[J+0RB(@J>& MJG:=I5.245/1\_'J*>@.:DMPGO)*(Y#LU58Z163IPDHC0$]451I[6O_@='^,Q*V@1_KF7TE_QJS4L/:@E4;:&< M2TQZJCU4\J06W)Z7ONMSUI(GDR*8K^C),.G7+GLR*12%PB?3<^@OV!\W92:> MO"NP#*J_SM<9%1->%SG]I%%R5V&6.;__FCAHJ8..?.UJD3QPMJU=#Y]L%]_5 M@&VT\JG,O]A*J &VOS+J##/8;V[7W'5(X%X6@L3CIF(Z/O[3H^?>=0JB0%*% M[D%:Q%V[)^.*R:8C\!7VGFV"ST]Y7(;T5%(!WO1\2<- M@I&:](2K]#JOQ$O+\'K]+#:\3[E0;7%JO,:%7(3$@K7>,GF;=WE?\/KUKB(_ MI02%$:1U43X:!)#X80#]R$]<'+* ANK!2:9).[,]QQIQ&48_P:QNW!8L+5,QE[N?9X CVF0,L5^-B3Z^62NO#IX/BTA=@QQ7XT,FT M9NQ$D>DVC7@)T6HL$4N(V&R)F%'4>JO$N2(:726,)U]NE3@7_\$J/.\+ M;QB$B8S/N&#T"!.<@$U>@:+A!73,F,603$A*P;T_BY T7?[]B!,I'\$%N'DA M'\MU3,RPGQV5,D'F58)5U* /Q; HCC;P$WW+,MN*0!;#C0<,#H20W M!4>.;6GH&84A08 N2'LR/\!0,AI^&-L2,O.Y3$G*DD=%!^RH]T1IHN4\)3JX M#KPB6@-G"NV[K-M[K9P8Q6DB#D-.B(053 F",4(.['!>5_0B^0^!+ M!>^U5+^ON+U#46B'[+T8;IA_11\XVZ[Y5?ISGK.OV7I])V/WQ9[)X9Q'+G2I M&T/DIPS&'DH@]E$4^ISXXL=:5>).TYEYI]11K9MSM'3%(4%2UJT#-R G-7-@ M ;V>^AL!U\]2&X=E*TEM@,JR.6KC4(]2U"8>M]=#>>^R3VCD8[&-@H$KP_9= M%L$X20,8XB#F(2%>(!9X$NQIEYW=#_J1YRV%-#)K. MSM/X9[K@4 (Y8T?C3Z]SM:$$6Z5G\?$@T^W\%[&VY\7S;T56\7?YU\T*^RP) MTXA!ZB "$2$Q)&'BP,3!,7<#/_%\K0S48Q*S.RQ:@N"KI B9(*F[.S^2BNI& M_!RLNGON#N9OTS -=M9#2*QMHH\(++Q?'@)XO#4>?-),Z3[D!<_N-[*=7>OA MX6Y$ C=U($8<081\!(D7,^A%(>(>PSX/M73NB,+,*M?2 Y*@GJH=RT)-T\Y" MJ*=H?7 SU 91&))T8[G7U3/!N&]5+/A!XT]54UEKE.5\JF3!*D\<"91P,3N M%2>0R"ULXB.Q@:5NR *BF70Z2&SVY:XK$&>053HL(67/DQ7[&T% M5!#:\RL-DUK:F30)^H0':7J,+:?S: 7.%:$I3GS7E7M6'Z+$"V""?:'BS..^ MFQ#.8LTMK!;]F15^5QJR,(G%TY6EJ0?:FH2L>*)W57._]JOF7M@LFWNF*&;S M38]3?V4?M9)HIGW5:M.8MBIH"S_)FG=M1W<2$L(C3^P&*NU##B>>NY5NR6FIF$GD(\KUGEX]/2IHV/Q,#S,_I@"B5$]Y1'_VBO. MB0D7T9=A()V:C#QA$))V^Q4_>5W;G(BA! <)Q"Q!\A95['A]))ONLB1!",4. M4UJ57DX\][6IH 0\C:"I/N9QK3@'B9Y.-"!,0L#Z:#0BO0Q1F05T3;PBO;"M M$YR/1F?UGU\N".L$EP>Q5J=^K[^Z_8+_,R^Z'6M9%]]S"'5P&C#(Q7H&D<-] MF' 6P(BGB1-BA$*FY)HZ/?W,NKSK1S)1E$]%$-,+WGGP]!1<%9G6DC<,X(QE M[\2DBRU]PX#ZR]_(4Z:A"KMZ8FT=T%UE9Y\[+A$*!7E"(G%4BS@D3AI"/PI2 M*A9*XGI:1[5A4K.K5A-#URLBJ%CF4T%*:J+V6?VV[4LLDKU6,>9A$ M(8,>ENT@>1Q#XKI"F0ES0C>)4X2W9T>FA]IQ)4 M#6?_OKB>T8=K.?)\OUE8BP7>&;MD$AN\,_,"!YGMET[ IG:P7SEGY0;R.=YDD MG\D\T*OTS;;,-KPL>;D* IX&(4/0"=,(HB1 ,'835ZS1?DQ)Z&#?"[0:U$W3 MG/OTU'( Y%<(2$L6L*Q\RLM,(U5=1XQJ*Y=EX>BM)H=RZ9&761Y[!BPVLU-' M:ZNQG0+%99O%YML\Z(V:N^R]588IA7R R]-?0^R MR$\ABCB&B2], @W=R ^HAZFK91(&Z,Q^OUY3 ;RE#GY8YV7YHW2JU!6LQ#:J MK%M7_I!MP*^W[^I?U#_1;"P])$8UDV!!.'IFH",(!,5FYW@!6J+V5'\"E25U M'Z*RJ(I/0'VIUE./ZY>ENN;Y75[AM=RQ7#Y6JK6G7@R;>U%^?P5JCG78G6=!D#TBS<-/6*VS'4IT'U' Z%! MX+-8+G&8010S G$:QM!C*8ZBV'5\W]=9XD[0F%FA.HIZ:]4I6:BM4VI$Z%[:>=BD@ME>L8PJ>T>)U M6LA %TI,38+&F>0@2 MV:DHP%'L)P'C2:A5;GB$ULPJ69,"OF;B\(AHU)8X2X#UE''O4K\ #=T+T.*? M([=X&J*M+.,12LOF&T]#/LH\5AABIK]W,C]I6SS?5CG]XVWMA:A/@>7*]RGG MA ?0#Q,.$>8A3!SJ0=]SL.^Z'B4^U='>04JS+Z<-75!*PHU#I000X K0O*PN M=KZ7^M?2]](\HNET&1:DFJY;$8_NLMM*IJ9Y 1JJ%XT/QJ+;=1*:)0T?IK.H M?D_"?:G=TP/.K67WF5=O^(:G6?56?/)EO?#O$^EQ2%/'C2FD4>1#1.(88L=) MH1LF3N3&?A11SZRVW2C=F?6^7_)-\ %:1D#-B6FQNW%!JFGZ#.+1T_M1R;0; M;3!+J0)-Z-8+YHU3?:4">DJB&"ZHIS9?>7[YY;YV!=-J*]L_ M7N.,:5QT3$PSLT8(ZE!>#7P6_^\BJ@XO"%IV@.1'^T)D2D;3OB>+XM%3+KN2 MT7)(*6(V\DU-S;V8FTH19-]CI3K$<(/\%3]U6?M$MDGU.&2T/NU&"4QH'$&> M,G'2#2(2:88"[Z:>>YLK"&GN9O>H%3>L1E@T]Z0R?]>^>^F8=5M[ROW$RVX; MCP =[0R/GS#3#K&Q;"IF?A3CB G6"A(3%R(92!.Y(4I#Q'&R,&K M2EZ2JBG(P>Q:.K*CH6[8Q2$G:RJRM3$WN*J*C&RK^JA3Y>#37]_\%7P0^V=> MU"8?;S3K*A\*RR$T08C%8J-, HBX$%O,XP0& 0]]L8$F =)*Z307EL'^8&EA MJ1DA8Q%H[@&XS$AJT$M*PUY ;5MT$H$E%'O>@ M3Z@/D1-CB&.70IY$'O59%#JAUIHW1FSF)7!/>E^6T:S^W*C$U%33EASTE-1( M!/I=I!6PV>H@/49JV>[1"J"/.D>KC#&H;'#]^>T;O/GC\^5;82;^BV_*YE^_ M\?6Z_("+^[S^=^W]P.O+LLQI5O]#_O@JO7P4;%'\^?)RP][\^(D8>P0%L:0!9X'$4M]L3-.$AC[@9\X+G,95CIGOPKW,YL= 0=(^N#S7R__ M"CI,O1_5P$"-K/UIRRGHL=K\)D]!BZ\9*C " 1(T*(=':Q0L6/S;&;>7W_T7 MH6> OX>/P:18W.)?A48QC._YZS KJ?$]?"66"G6\ULL9+?>Q.%/+%0UY+7D? ME!YY-2;.C';==Q H-2N4C4TQWVK2JY/0HSM+S005@+9#.D^1>IV8SA'0@T&= M8V/T+ZG?/L@8>G;->?%SD6^?/FSV 4J*%]0C4\R\!6XI TD:U+0OP(<\KS9Y MI5A)9DH$XUIJ$;V>@HX!M]PW1A&CT5WSV+R+W3,K@.O?,:L\;J"&^2U?8F!W2404L:2-H:NG<2MX+6G0M94]^,T.KIV!@B M,^TZ.>-R>C4&Z$"C1A\T+AWSQ(OJ679?J\1^3]:W>:JKW6S8AVR#!?>?9*N5 M&UG,YBK]M>1U/_#+5*C")15GJ^T:"X;>\:>"MUM",?+R43:"^*_F[!@@AS,4 MQ3!.L2P'EV"8Q%X,/8^[83E+7[*Y!6^Y.6* MK-OBJ.6*QP%-?=E/R^%B@:"!"Y,@Q3"-:.1'4>P[J:L39C!.;HF0 ]W;S%'Q MJ-YGV@*M>Z-)&MO8V,0]39O7F2K0K%UHCA);^$I3!?CQI:;2J+.CA 2-.K7N M(5^+\653&7'GMHN9@[#C^]#U9;L\V8XH1JX/0^XXJ9]@%$=:6>JJA&?>NWWZ M>/GFXZ>/=Q_?WX++S^_ [=W5V__U'U>?WKV_N?WG?XH]-_H7\/Y___KQ[O\: MAQB-RU7-&LPA+3V[T.-@MY&JGN=NX* $UG[$TCC9UXIC4A+&2'23VGA#EW^V MR2K^*?O"V<=-)3ZIIG1Q5B,YL/QH68,T#V#/1'!\TPQ*59*AX?6)9,IK7**-" ;]+%D#- M@\T+%0W(MBY65$@N>\&B(82CBQ:=L8:91-+\W/ G\=T\R$K,[[9%MKF_KMNE MU'<\JR"B;HI]![H.(Q#QQ(,XC *8N%X445\8$!*M-OQ>'G#N-/*,I@@K*4/2 M*,,1>7671$M?!A'T:YF6(,T+4+4%#C3SE"9EJF8R[(C(+*NIKBG2HPT:XJ"A M?C'1(D$_W4D5JJTLJ$EZRR9'J<(_RIE2'FCN5]B78K_AC#_61=@;"G4O0<1< MAS#D02_V$BAV#2E,(L^'-*8Q=[ 3.&FD%SX]17+F#41]WMYS< 'V/%RTW[]6 M#T8-6:H[(NQ)R, 9<9YPC+P3:G@M>B@F""[NI5 3P"E/A>+(,_8/I\_1;I)P MGL0Q9-1S(&(!@DF:4AA$+HJ\*' 9UCI;O)I'HD^X\T#PF@'-+I%G.QU>P\W0 MT+D ER^2*:_Q;/TB%W,P?"\N!7TGPFQN@RY-X[>L>NCZR'8>B^<5=1.AN%PL M\8GL$DF]%,8<)9 [B''/I9A[=-4T6[RM<%&I:?8H39TO^R5EY8_\#5[7UXZX ME >!=YS609? =R^ _&CTU'QE]%F_WXCS9]&$N:5QZ+"4.3#VQ-D089= XL<8 M(B= A'C8H;Y6T58;3,WN4=KEI.]XO [+J4R[_@$':/@]SVKH,>K<2+_&>], MU2^U[)O0]5PM\A+.*"5POM2LEQPX@Z57*DUPOA"'2QA8F'OA_N/U?_XN.QYV MMP+NRN=.',4\A#1,Y85>%$/L!CXD. U=AE(@^(6])5DJ[DO/;^_=OT'Z-[.]?C;6:XA]H@87[N;]2G6 M_ARMJ$>$:JV/]!@-@X(SHQZ$ND7U)?M/\?.Z!]2*.Q%R0I=#)_'$UC:).,1! MC*"#*4,Q"A%F2EWQ]$G/O)5M6M[C/3V-"AMZ(APWC_,*QM#G]]N S^\"-&*[ M7$!L&E5%9A.?64D0JV+4*^%A)(G1^AMZ,RY7/,,(Z4'E"[,9]/.0WW_C=%L7 M#A-[[?N\>*XC)!3SD$\.GMDT[FB"CJCB]? PVG$;: 6HYF7P$49KT1Z3:(PR MCT_/N%CF\2B@?N;Q^(-FI\9+^H]M5G V$D;Z&Y<9:YRU70-^+7FZ77_*4BY. MB0$+$BJ+0#/QGX [,'%]#X:H9D)_/QR/0+T/&V:VS1< _:.AS:$9.DX>!8KBQ[_; CMY7'/RIQFYO)]FG):7:7OO]&ZL,J-L,17F[>X M?)#_ET$V7_!:;FINQ*&RR&25"/F+RPT[_$'OR8\;NM[*#C[OLO(I+_&ZKM-2 MW\Z40LCB:+KE[.JI=1*6J]@3QT;9R\[!6!P;<>I"$B4NQ*F/PSA*P@!C':/[ M^I#FWG/5 *7OGK<0@2#,0?/W$@BS3 7_]8UH_1>^1Z)GJ5]?E(KV_O49G7'[ MN7O='3H@XIS+^.0.5/N(_!1>_/!PQ XMZ. V=:W::_4]8K"' M;&\E^GY>GZ7U[#L M.BJ^!W@'5A;OR/.%KX&:R)D]X'P9>VGN!-2N*K#X:+P,C93;Y>?\@+.6CE.9R)LUD /1Z((Y ?8+$08W$$2D(64Q3'#M9*L%^6 M_9E7WIX);;LPO^,I+XKNW^!7L8%K$M.O>9'FQ6,=(5H#;'ZWT-6;V;N?^7)N M]C>Z^/5=6WV@!ZGUUE8"%&A178 =+O'7;1UC+1;SIFDT^%UB!2U8FV%JK_*6 M7OMVT(SY/\?]X5DOQMH-XWE/F:5N5G_@7OG;;@O+8<7A G0BRA".( M K%H89+ZLK=40.(P0"S6"B@>H37SXE*3 JYFL881T:B9@Q3]#7TD%B+9K7)^@]#HEKH7-WEX*XI#SZ->"%,FNUB% M*(8Q]AR8!!Y)D]CQ4^QT91K4U'\N5I54Z;"P@Y[UN);OH&=2 M9GM;:O;H5=^ D3%KMGP'+(,?&J9_!+*%8GU,D,R#EONZ%&A7U5.PW?IGZ!J7 M999FM-V'[N -):+:,Y%S2]V2?9V-S46-\]S"?FG99Z>G'^A@4&9]N>+J>C74 M]2JG+U(OW7YY=%M%T5^E%/I$ 72+9<_%NBV.1.W^VR5NRE(40(J<%"+,,(P3 MA\, QY$7NBBD/M*J4-Z??685:&EIU@L_@*^VW!N#TM.(ELP,AXN3 &P5LSZ8 M>]FZTZ=@'96(/OF0_FKP07"9;[C8 >5?>/'\<<-T%H;3H[^K-6( X/1R<3XV MS8-Y0P]T!.7QG&5?,K;%:XO+R3@LHY5E8,K%%IEQ2/WU9N))LZ7GYSQG7[/U M>A7YL9/X:0*=(& 0)2&'"4X"(:PH\6F $^XK1>&_G'AF?>K(@!\^RR9*Z$>] MI6<'']'$]Q*$88"X Q$A"!+.&,0II9RG*4*IKU^LQ40(QG59.F(7@/#[;",S MG0%IBHT8"@53\1W@P(4>1@D4(G!@S,0WX3!&?,(3CWO:Y5?,1:)=:64O$+YA MYTM#;6-B@D_/UG84[.U%7O)L:1NRFW;1'_-RWFUJ:U-C<;\I@L MC+/8U=3!Z'$4I90E&"*9/(H<@B%VG0"&-/8C%CI.[!&]>FXCU.:.&VMN*_L24%/X;0%8%#$30&8M3IN8[06+N6F /NXFIO*(/W#Q"5C6=-0 M%CG>EWV[3NW&FI,3S:RO>_I ,/##EQ][W6#5CQ[3XI@^A5B5A)[.C@EAAE:; MRDB-SBC3LR]V7%$&VC^YJ \R3-ZI&TC):/BFK,2[_!%GFQ5*X] EH0,#3 E$ MGH-EX4 /XBC$A#I1@#VM:LNGREBO/\6,/ MAQ0FF,C:6&*+3;R80<[B-(Z0&T5NNDC$Z3"/,YN&-A3P7A*ND_#:M#KP0]9U M9M!TA\SQGA2W]J\K?3WS9"$$=!?DV3 N7U[7+J)F_CN(Z)R6[&N';8YP^.>( MS9P6L;4 3 529K9=^J,W-%LWK3JOTAO^A6^V_(.0TBV_KV,][_*W@G2^SEC3 M>:8[03B1SSGU8^@AV6_3]P)(W"2&"?%22GT>^W&H8\+-69G;4O=*D1XRV?RD M9A/(#PMTC,IHG3ZK>H;\C)>B9J^7$;6>63:4[*QE7\^7DR4C>P8CB]K2\P7V MTF1:F-' FR1M[J\;5JR?[V\YW19-#\/'2MF+-#3!S*9*D.2"IKPNV9/5\SQ%3T<&#^ MN>];:HJ@)@DZFFH:."20<=VS %/S0D4+H;*B3> 843$QLE$Q\9>]B@W-MXAR M38#IU&KJ,;,]_8NR(4WVX57:.!RNME59X?I&O2F@WO5E0MS!24I#&",?080< M A,>1C E<1)$'@E"I%6MW(B+F97S'=_DC]E&?H&:#:W,9*JV&Y]=4GKZ?52' MZ"A]M<=3UXAACN989\G%TL;;C(=%]]QGB>GE=ON\R?0W )_$5["^?L@W+:E5 M')# PSR 7*[YR$UEWAJ"B$7/)MN7YN'.PO'?/]R_]/-ONWZ\K!Z)RG1&"Q(Y\. MW/[I3VO##BI,M5<1$4QJ5D.>^#U3$6/+L 5V(E!TI[!-*C!M&0+)H@MJOQJP%]J MN^(H@VY$G[(JNZ^/@;>\JM9UE$RS=6F/BG=Y7>GB&A?5\^=\\W9;U'5G$I\' MB$6RW7 J]AHX$$H?)!'T(T0)18GO!4KN['.8F-O?M.,*E#NVV@.%/&%L(&WX MT&C!8RKN<>.QE! UW5I[^>TYNFC/)3M/1)6WY1UKONJZCO#M8G+5:'*T@'S- MVAW-)V>]WD=G"FBT"Y+IW,OU0SH3_4%GI'/G,JPHUU17WMQ_XKC<@+5D M95?Q33F\1UV(:OM JZ+1L]L[TJ"F?= W;4_?8IDT5:BVZIU-TENV<)DJ_*,* M9,H#SRX>\V[+[_*_9_FZC1+\C_R1OY7VJ'C^A+]J!.[ISCNS 7A9F06P;5T) M<,>2O#^13(&6*R#8NIARK9XOS>GKI3D%J629%J7_?Z3BS%JS#!W G]"/+ "R$*/1@ .] MVZB7)&:_AR+2==)1!'*#H7L!=205U:NG<[#J7CH)F'MB%^!N#*?!==,0%&L7 M34<$%KYB&@)X?+DT^*0-K9.%LMJ$YXA$+/5=!+V($(BBE,B;8 0IQHS1)/8P MUDH;'2*TA ;V/TU)V3 U?%!6)AII)H$S]5(-_)D*>HQL%C7MD7E%93T&.ZZR M)YXW5=RG@M,F5V=%"<<4LQ@&$6$0>9X/29I2Z+(T9D)=:4RT>OSU)Y]=0?>D M=-6Q)P%5%33#I:MV"I ,E.R8=VN*U9MZ864Z!G6L0">>,;C?N.&/G&5X_5M> M_'&YJ3*:/_/C6)OJO4)VF ?16F<"MA6QIZ2ME1!Y(\Z(NE9@#\^M06%K M&8U[ M!=L2,KM$.%]2>I<%.JA';P:4)EKN&D 'UX'/7VN@V>[A4[;A5^G;0M"I/F!: M>POK[.Z53W'D1KBN:BOV_6Y,(/%\#_(H]#P>1B$-H]477I!<=3,Q2$OG4^Y3 MU+@.V]2E!!K:H"/>)K)K[OZ'1::V][ B!CV;9XI?>V\RB.(8T'J MA5J=VT9HS;R':2B#'6G0T38JL#HF,S5-MB0)/5TV%H*V,BO LZ3.8Y0656@% MR"]56F6(8:1W6P3G*CUT'93[VC,L]!!R6 B=A+EBD<8I%.=_!_H\"GP>4C_F MCE9X]R3)F56\7_AG?Q7_PG^E&\T]+4.3S/AMGRK[MZ_0UH28X/*A2TR8)?5=#?R\ M%?Q>)9E=#;AB7;WSTM-'4^+?9>NM^-E17OR^E=XJ3DB"HHA!W_=3B"(O@1B) MTVOH!CSTN$?#4"R'>877:LNA(1]::^2.&W6WLF1 YND\Y;(ME/30B"W(8][5 M,#4O9VHJ=S7SLH T]>R.9MF-EM6+7L/0F2MOJ MGSMH;"ER\?O4-=5$IU=_0 MF,[TVJ[N"?HVWS3]/H7QE(U!&T>22P@+ BS+K\H$X MNNM=XPT3F_U:K^G(VZ==M^4U<[Z-BDWU[L^.,'3O DWE8'!!. W0VH7A"*F% M+Q"G01]?*"J,.:,5>UT:OMP'W^ZVXQ0'#N$A@1Z5S=-\S"!F.(&1%SN48IRZ M:I>+2M1F5O F@P37Q#4K?(T+24V;K4'74^<&=4.W'P(_R]%$":/-SM^#M)9O MWST%^V0/[LE!!E$#OU[?W+1INV&8!%[*7>@%E$(4ARZ,4YGHF+H^=X*(4*R4 M\_)BWID551+2N-/NX1W7Q#-0Z.FX\M=BA_S>'#U?>+7IM7VGQJ/4GF5UK9!.D^E[U0ZXE:.2U.6.#%, M.!(;;>:+C78<>=!C 4VHGR*.X]6&W\MK=[6E>)2>TI>4-%]2GZI&R$9'71YB MF2"I6P9_3%IJ*_+Y$C",Z^E#;];G0T>YS2+U"A"MU:$?H[5PJ7D%V,?5Y%4& MZ2EW652KZR)G6UJ5EQMVRXLO&>5E&X4MNV $KC@X.]R50;#;'NZ-;E>3K*FN'JXU(:5V9KV/64N"791VTQ3%T)U)C:B@EZ M*BO^M5?7\;D745,E>)UZJCVLGR7:)*'S(OV%8UFI4",1],301/,I. MUZ EK9_/>0KWN(I9@&QR9C5!JY5Y.8+)*+GRU'R+Y4^.@.FG2(X]IJ]#=P6[ M+(I>PX?[^\LO.%MKZ-+(%#/KE*!4U%M74!.4OC1U+1I#/JU-ED#K:=5=@>7% MP.&%=;\KRK$\K*J; F@CM1N;=S'U4P#75T.5QXT#+ M94N$=;_[\N/FX^2)> M=5X(,BLO=.+03S%,(X[$CC/ D% >0^Q$?LAYX+I^J'>,'*4W^S&R1TL[IG)$ M3&KGQ_.AF\95UN3 #QWA'V6Q.Q51F$163D.T%ULY0FOIZ,IIV"?B*Q4&&5[" MYH^\K#(J;WU:#V'"0Q\35U;(E8?'(&00I['LSN+S.$ NY:E6M/0QB;DO7%N" M]>6BYN7JL3C45/8\D'IZ>H!OAC*4PUALW9D>$UCVIG00X-']Z/"39OKVF5=O M86G9P<$+T R SIN9 /I'R1#8MG^$>QX GNF M9KF<-9>))7MBP,"B]L9<0"_MT1DSZ1_"/VY*0:001XKK?)U1,:F@2S_GU27+ MGPX: "L>R94GG-G@M'R [N#:<5,[725+G&UE[*/@#+2LJ1_@U:4V?9R?16"Z MAP)M68'?K29?& G"Z,"O3F6QX[\V\+XS0'^P053(U1=!(7L4IY*G;?4+KQYR MUNZ:DT?N01<%[BOB8*&JDG4R3!RC2 4*Q(PBTDY+0E+$2J3 MN$8#5H9'+Q>_,HG@()QE^NDSW)+UNUV_K5- FH#URZH):)7.YKO\DTEA],QJ.TU>0MX&?M>$2-&QVR39]1F6U MV%V>T_LTY;2283T[[KLQ7P7_H < [!!8]M9:EJM-YZXMUI;W!5L6ZDG7L6T: M9H:Z+M)_)\;6Y26($Q+B2"]6Y,8083>%V'-2Z/LH2@,/!U&LY60^F'WN^UU) M"TAB1E4W#@6A9MB,X>E9)G5DVB;D) )+-N!P[D65^"2LEUIX^B%#-=I4&6N7 MA?TU[_MO=+UEG'T0#,ILY&W5EJ9^CXN-.+:7U[RHM;OMV1D'48)Q[$.7>X&\ MKO4A<6(7QA&.0LY<<7#3ZDYFA:NYU5;P"#LFSTX4MO,>%+5_:>EJ6HT>>_VX MCXY!(-4&]%BL^R^W3,IHK&8K8R\&:Q:YV;)55GA:UL;9%..1;;0ZN=72(?MP MIC?/^T?:\ARU37__CVU6/?>*F=11<''/U)*,'W WB--0RNTLQ/K-EKHD).V%LC!=[@6KV^GM\+7HF MO5^/IH^A'^,G;QM/UJV12"Y @^6@-%,3?EL).*#%VEZ%8K&<^^F8KD8PSZ753B)'/W-#%T'<@=0 IVVX3F.P9%Y>3+ZH$3@- M[*6J#CREIU",9ZMW[:W/_][B0GR_Z^<;_I07U8K$'D4D"B%+ P^B-,(P=OP( M.C'G49H&C$541:M&:,P>X=A0!3NRH*&KIF%CPAE7,TN0]71-'ZVRRBG@&8DD M$*,;E1-_V6O:V)R+J)L"J$[G5!XUO9<3<_&R:@L6KF(2$ \G#@SC.)1U6@DD M0NL@H8D?>-0-/!_I%5-_04'G^S,JH=[1 [RMP0C!AFMFE[^4BNJUEC%2W9NI M%F)+R>8-TDD(UBZ!#F=?^![G)+3CJYC3CYFIUP><%7_'ZRUOT^WJK>GNA_^1 M\4),^?#<[IU\E!".(@0C[%"($B:KJ<4!3&0FN$,]$J=:(<1:U&=>"R594-.] M 'UV+L#^-V#'DN%>5$_<:EH]FQ#U=/ZDE&1PW^?+O\^PN35";U(@8 MB>6EB3&;Q"#F[[;B?-WESM_R>TFH"^V*Q,$T#$.8)%XD3 T/(0G"!#I>Y'K8 MHPZ/E%R<$W1FCX81A$%'62/F;40RXU;!(EY-5]\!5-!2-8GW&_LJU /^[,C M+.+OM"PL1?Q- QL-^1L9OES,WS2&@Z _ABBU-Q>#2"QM(([G7W23, COY49@^$'#H)/U.O\JZZ5\R(MW M^994Z79]2:F\>BUO..79%QDI=I.OUVE>2*_Y"OD>=S&/I7LM%4H8R-YI80 = M)#8##HN<.-"JWZS-P=S!)!T_0- #'4>@8TDSED1;O&J*/:O0]!2_(POV="_ MH1#;UFR?\K($OTNF9%2KY,IF%)JI1&Q%?VC37S;2PU0\1U$=QA.9U JJ,],N MBZ(.J%0N#]0?-;.U.%$A1S&A^03 <=T_#YN>4I^ 92UN=!B'82V?@ZD6+-]S M"L)AQ9Z33YS54^$-WXB_5/(FK5_:O7SS_/[Q:9T_RPK.&'DL3B,84R;VRW'D MR +L""8^2D-*@DBU+X;V?$IYIPP9U0=CMWJ! ]S5:.:B+ M8Z"O@\8$^NON-<\O:;7%Z_7S-<[JN!J-\GRG1\\=DO+^"G14@23[(KA-L^+E M@ 2F%^CSP>LI^7FXM=;L<6A&:_? E(NMX>.0^FOYQ).VUG1YA4@KSFYXM2TV M5W7+EL98KQ#V(\\+7.B'@72_)P&,,98G\-!WPP0'(4GTZO#ID%?Z@L\IR]>1 M!D5-&[19JFWSE7,7\Q&YFJ[G9\K*XI*^$UW#"OA!'K1_!%T/ILMQ"5I8T:=% M,=NB/D+ZE=?U::%,+^T*Q3CZ(8IB$A$+D<0Y*$#DS=,!7&(D&^J]2 XM3D,ZN_S)//RE+N MBR7-MB.J>F#MD2S&-?I;G5&NTO077/S! MJP_X2U[(6\5/LD9ZUZ?2C6*?< 23@(G3"?9"B+&+((U#$B(W(BS&6FUFQZC- M;"]W),%:TM1L-#LJ)K5#AS7P>A91D(4-7; 704UYAMKG2AAM-9H=I;5LHUD5 MV$>-9I4&&489%E?U76_7AHU@.-O>9H-"ZX[C8#7'722!F/('(\WP88X)A MBCWDN1QY*8NTPHM&RR+-T3WCP+C1::&\04>BFG$/E^"&/F M!Y!0YB4HY-1)-3T&_>EGUN#V6%U3!"U)78_!@314?0:F&(V\!FKP#/P&IU"< MX3DXF&YAW\$I*,?>@Y-/&28"9INLXI^R+[(/P*&"?N;5*F&8,D)=&"@IK"%XK6 E%61&(4NC$R\6N*0"KQ^^I/2\88E%^L#9=LUW'L#-_3X/H)\M MT&2!R-@47M[)7ZYP'*(P$&?]D(B5&%$<0!PF(4S\"+4%?AGQ:B_^5B6K7XOP;*'8JBYHSLBR]0+/%MA1!<#S M9S38@ B"KD,"5Z9W-$V7/JSQO?+>X_3PN;<=@BJ09*%[D-JCW0IM"+W"EN-\ MX)J[C7',X'=)WE):TP0XLPW'P)S+[37&01UL,R8>-=MAR+Z(\O^R8.<7O.9U MIF%9%9D,C92_N-RPPQ_TGES1.(HC,2\,ZHM"WQ.'?!IBZ&,O#3!")$+AZJDN M\7E;X:)2VVJ=X9 MWHGGA9&/D2?+GDV%_\L#_"WF[0BJ L;0C/XV71/:$5 ML;W<%MJ9U+KO_I+2[>-V+3-D^K=P*Q2'7L XATZ<.! Y+((Q\@*81C%'(4]< M\2^]_!Y])I14]9PLGQY=T"=LS5T])-VS7=CG2&P6M[:V*&WZNB>D,;__>XB! M[\4G/B$@#3_YU$P&P/-^*$Q#*\_BTO M_EA% 7=]2F,8>UA>WP<MU&SRD_/-.U%U_(!;GJB:UD!'2_@ MMQEEIA'2/)?LS,*:;?%1B&PCFW'58\LNM_0N_[O8!/_&L_L'N<1\X06^YW7K$WDYM*LQ MNXH0C;TH%NM Z(LS.T9(G-X=!C&-4L(C'B345R__^F> //,"M.>TOJ7(.EX! MKIFMXT7KXZJP![*+:]U$Z]?;=W)M:III*8;$_'DDKE1)]\\ 9+ZUM\8&)OIW MO6G[=X$3_;N&VW?=]=IW@=[7*:0!=N)H)BGW10?N;FA/$30D+T!'U&:'HW%8UEH=#9!9N.?1 M.-CCYD<3S^N'UMQ6?UP7]*JX*XOW994]UE;H%UX]Y.R.?ZO>"';_4(VS49EK M9HV\K00-<%W(TCEB'W)W>P/VK("&%_7(&R7A3(?AV):+YB%&023@=\D(J#FQ M%)ZC ]HH5D>)P&*!.SIP^U$\6N,,0WKRQ\=\4W\&]8ZB_%B66\Y6ON^$U&,! M9($?0>13!R:.XT$'8^0[KH](DN@LP@-T9M;XABHH)=F+MN\YR&K*YIW0AT2F M&,%QOB T8S,:&=PV,FAHBL6YIFHQWF(-PPV'^V M$X+<^\O+SZ;9]BKB+F)>BH7F>[*(>)6(A=&D6A7C3$4JS/'D/1 MD#,W)(N]0S7+]%V]%W.7+)QP:)'6H05/.+0NACU:5<^C=0':5R_>_/5XI*!^ M&L/";\%6TL-2;"^;(K'PRSA*J%B:OF&KN"(OR^LB3[-J%<877:JM%;VZMS>*.@K+UJ"F!IYJ49E>X'GXU6VN( M2L\<-H"NQP'I-X [9MU6Z[?>S,LV?3N&=-3N[<0C9LKR*=_@K7@$6FRS28Q M=:-MJ@+3ZK>L>GB[+:O\D1>?,DRRM=B&=?K@)=0-_8A!5Y@3<90FH;#EB=@I M>22E;IHD::Q5QU^%Z,P.MG<\Y451-POYPC=;WIIJ7]NEIB ^5?^:7:'H.ML: MZN"K( \Z^A=@Q\$,-D0'L34_G +)A9URZD(X]M!IC#5L\U$(L[,MGFLW8.,1 M;**6$$91F!(*<1A'LGA8 &,4AA"%@2O.41Z-8ZZW[1@B-?L.HR/\=I7?/TX%?^A; [I0Q:R+[PM6(YP,E7HF9GSA*S82O05KZM*[\A>F$K&$H5 MF*W.'T-DEFWW,0'VJ,?'U//ZA3IO.95[\>?WW^B#=.M\QH]\10/,W90G,'+# M%"+LQU ,Q#!T L\AF!,G5&I&,$1@[IOVEB3H: ))5+U0&)7M/#GA8H4[Q^#T2W>./F=8Y;K.W=L%K;W+2KK.A0J+I9=0<+]MJR>TX"U+H1LCS0A:%C#LZGLI!2C/[+>_D$*/V?,.R45L#K2#64[HN MZ78?!@SV9"U6L9Y"9JN ]2"=96M73\$]*EL].>",;-BV_5Z_G:[LMU>NG,3Q M4<)<2'R?0^3P&,8X26 [\[+I(]EMG-\TV-QH=L=1D M-Z[1UN6AI]7[',Q.)'WB=?=,G3X\D\(P2%:U(91S$U0-A&.6D3H%5BD+=7"2 MY3-/I_"()#F@1*F>*&]&*XRDX6MTY8F]67/8&:B.3J9&4YS=FO5KMO@ M)]XD#-[(7>XO^%OVN'U<\OX,'5(!%&$9)U))X!I''@.CQ+7<9%A<]4Q MNC-;H%^$A1=4P+HE#:2QSXT;AHY*4.'\-H]<]&S,49/0CHT+T#$":DXN0,O+ M/.(R[K!J2VR6>JR:B^^/3.G_F MO+YD:N)UVR:B&GNUP4EFMHD=W>:6LHV8U]N&#>-7VW!9@:YG]DZBGJ%WZB0T M2SNE83J+[HDFX;[<_4P/.%,E>?$EH_QT7/[GO$[!YJPIIU#?R_1__S8OJ\]Y M]7]Y=<-I?K_)_HNS)O[^0UZT/Y+/N:M8-J+GD0^]Q/<@"OP$DI@@&(8>2D(G M0 'UC(S!(NS/;&%ZI-HZW779+MI/^&F]26"35^!9G&.*'<>&IFB9]ZYIW[Z[ MMZGI[SJ5AK7/;1$GT Y#EYTEF18_;=[IGN^+-@NK_@YZO,]@=Q<5N6UCO@SS MK[-"+/IB!I>=9;DP3OE_Z1'8>;3B%!$>)BDD 1(+#\$Q)&[((>"JN=&IV]Q7.?CTUS=_!1^$^%N7F')K8161 MJMET2X+2,\"*[K\+=!3U(F)?(VEX>(F$4!E@KYV$V3N<^%G&KHC#8Q<% M(8R3.(4HDI%V+,4P(3P- QX[B"@9ZY<3SVQ;.U) TE(/,C^ /F[OS@&D>7^B MA$4KEOP4XT8QY <3+18[?HK]?LSXR=];N\WLJBC*?^_=_,V]WTHOYV"%I%$;:?9-[EN$M;KG8OMB]:IS5+S& M5YZVA&;MZG-7"[;C:'>)US UKQS/O@NU)4_K=Z+&B':8=3C M!M0:8#TSV5N&9UW,]3()K.^'F7[8GD9Z*Q11+XD"!*F?QK(L-85QBE.8 M,"+V$0Y+O.ALC?26ULBML'CGZZ)WABYJ0;:HBW=?AWU)5G31FT47O=?714]' M%SU#73S(B[WA55;4EV5-,K78Y#HT<'U("7"'D+D^"5-,(^JD!EGY M+\CH?)A&R?C[-.MB1[E.QC?)/'\I(P57I@7<>@HY0-!R*OD '*4,\I=CET\< M'^#^9+[XT+,&JG8EON"[[)'?XC4OFVOF5>(QGG OA!Y-Q=F9!1$4"R"!"8J2 MA+K(#4+U%*H3!&9>["1%4 F2H)0T+P >OSU7$XJ"7IT)54^G:I22&KAM4$[$ M"*BAU'#@GXG6S$.OBUK/DHQ &K4BI\8M9T%&N#ZP'F//F7GG]L5XKM)^Y, - MK[-"90!!>=0UH-Q[C3$E >4T@8&?B/7<$8?=! WH"3US-Y$4)7E#G*6Q6')37+7B=KS/ZW/QWKVL^"B,28 *=*(PA\L66"B=N"J,X=4A M",>1TD9*C^S,9JQF0AY>KL5#W0*N9\,4Q:=FJNP+1<\B[>2QY^ "--3![^V? MLQ@E/>"6;(\BT45-C)X@7EH2S=$&9ZRW>?&4%\(LM;5Y+C=-P8Q?-WA=OV9A MK^J8IW*%PB")$"*08#^ "$<1)#&-A,5P49(F% 4)42O2K4E923_.J=G=(PEH MQ]:N%E==@*HIK;/M/]@PIW&HT9"UPHG.LOP,4V(&OTLF0\H3L76O&:6 M]*;INW3#'W&VD=MD7J1Y\2@YV3>Y$C^DGAU[)LY0#I8LFB[U10V8H6A>VBO3:4S[7F$F*!5_ ME&(O6?]#QIN5;3DOF@8)"YD+$0T=B"*<0A*1 "9AG/($(Q(SKF.,1JG-;'KV MM.M3HA*:$T5JOJC%:"S>L M4H!]W+5*99!A.7OZP-EVS:_2D8C=%WDILE\'2D*A[5RH/&*Q!V4'3,@Q21WB M1HP@JE7;7I^'N6\56XZD!WH\GEVSWKV!M-5LQLPRU+Q/5!;?+!E$%F1BJU"^ M 0?+5LTW%]%1"?TSIC*S74T-G=W9[)*4=1]018T9&#V?5K0%FO;^AM\[FA:_ M^0E4EK[K(2J+?KL34%]^GU./FWZ#8C\N7LGS#?[ZBYBZR/"ZJ?.'E M*B6AYU,:P,!U0[%71@XDKE@NHR2E" 9=\<[GN0,DI\$F,O M3M.5X.=U!;J[[:_TQ"DMR^TR@M1R><[UQ1FY/8&T&Z!C!WP5_(".(5EMI&4) M=#S9;8YSAD3L.D"U.'@-)ZB)B 85^#CV-7:[JF1G=F:-[W2NZJ7 M64VR-NYBM]/^4&K; U\S\$/6/:AY-Z,H8$6'B'6Q:?I ZDX2#0.@X: M;EM^#C6BR[HVM 1QY,W0&VWLP"@X+OD[WOSY<7/*E-6> MDY4?1CBE3@!=1B.(L)] G'@QY$D:Q2&._8A$71#CG M)AW1=02J["6R*A]3SU%-'/S0L?$C$$9V:*-3=$5R MPAVE/85^!89;3H7UJIY=C]QEU9JOQ,$2^V$8P"!%6!9>2"$..(*,^W%,77%^ MB@/5P@LO)Y_[1"EIR V'Z_U ?@0==?6*"T?"&#H0?-V4FGKPK6)VWD/'RNLCI)L2 M3DXTL^:T].LK_7H?VG)1W_-+5CC;RBU\RY%Z[<)I"8VKF'7AZ*ZK6G(!OTMV M+)4X5(9M5.IP>O;%2AXJ ^V7/E0?I*_6E_?WU?NB[JS;5&)_QX5./68;N5_5 MK#BJ,M?,RBU8*.K=-A",Y!N>;\N#3.BZ]X'@#.Q94U=P)5E-Z[AM,>FIN8&$ M+*<\Z\K 2.>5""RF]CIP^YJO-<[LV'WUQ&7Y\\W]+;^O,YC;Z#P>^E'@I$R6 M:!%'[,#A, X)@VD0D)0[) P]K&'I*.VGG9 F8]Y3Z& M.T.TX@0J2\?=(2J+'FTGH+X\QDX];NAJ/]E;I5>2XLWS41V"NN'*^W]LQ=Y_ M7[&\K!/@[A[PINDF6^[ZL_S&L_L'V:>E*6'^LYBZ>B?6B%U"R(I&1&P (P)C MQ&5XL\]A@KT('WV:9.1R!M0I:\)?CU]IW,\&AN"W0O"[X#.:Z8YS"$$P09I>(3H0F%.,8, M\D!\&UX<(P>A]A-YOYG(+?^>@.E_(!T\L\^#UW_^]_HV%*^IO@-69[P$ZQ46 M.MAQ]ZL+D6=PL@!1T[ZMP=EK(%*VJ>:5@-IV:B][;=\N0(<7M(!!C1A(R&"? M&FKQQNT[>H6V[O.^!TC+WA9^#XB'[B*_)][,-G2?>=7$W\KNM+M ;>[Z+F%. M#&5P%D0>(C!).(51@AP9RY40K)5(MST*RA;00=?=R@LN,UNY#EJVW MT@AQ7,A]3]DU+Y9K&NU%4_Q-;VD[+4BUM>9L\>@9?QFR=M"4>* /\2QQ\*-8 M+5G)TS06-5NC,%_:D?&'#7TITJ(TN1UOMX5\G2M$?3=E40*#A,JV>H[0Z@B[ MD#&44,R8[SA:.>K').;VH-3["]K0,HI#."$51??)65@U/2D_ETA[_M*S8:93^=G&'6.!:Y&@BJ8$]VQC2H M47A64Z%.4WJ%=*A1R*=3HL:'Z-^O?1 (\@V7_8W%;O+YW9;?Y6U%JJOT_49L MDVB3@?58J5ZS:4PY\]K0<@(Z5@#;UEN9KA1:GH(>/WH%Q'6%-WWO-I/<]+3> MLLBT+MT,!&!T]Z9#9[$K. /P_9LXD^$&A3Q_W3!A?20)SF[$A"S#Z]_RXH]5 MY,4^CB-?[!XC!A%+/1BGQ($XP"@FA%*QOU3NF#!$969ST2NI^ +DC"7ZS!%FC9J8-Z&85,@U$H%<,*C 5@T+-L MP9 M?IL]W!=Z4ZYK,SSC; M2 _7*@VXRYS @\27M[,Q]2#V8PI)ZCF)$_I>&FEEXJF3GO\0(AEH753T698K MZU@ V>.3.+_I^:LTA*KF7IA'5'K:W_%P 3IY=6R 'A] ,M(ZJ.WY'_3Q6W)' M:!!>U#NA+Y"7S@J#&8S:"@PDX5RF0E$OU^O\JPQ1$$R\%=N1K)+T6I_>35XS M)R_>5K%+N>>+$XLC4W\1%48H]D@(&8_\)(PCYJO5?+'(T\PV:9>,]EL_&:UQ M+X.:4;#C5"HD:'@%DMG.^0Q^E_R"EN%A=^!LKTWA0+7\R]"S>O\MWH-69X2E MWX=IUX3SWXNU5@HV13;19L$*J25;,-B4S8OV#%:G/K->V6=>K9(X]6D:V2Z=]7CXM_1C48#FTS\:)Y651K6YD[-GEMZQ"I&)B>V'C4=\+NDI+B[.<0\KB'&2/14 M0Y:RS,HJHW@-?N%8WMZV945'82FKRDD88SHB!O3T0_QKKQN'$T/*PS1VF1NY2:C6@TZ' MK-+'=TX#NO-#I92DI[HB69*(S2(MC82Z@]5$T7 +M5F&(<]6E.4$R5>NQC(L MA.DR+"-C32^:/F[$&B5V_MD7_@Y7N L)C!CQ/(Q]&#AA")&7>I X00(]PJ+4 MX0Y/0Z9WSW2:T#+73#W:,M<"3QY:]82E>LETO@B,[IBTT1M<,8U#.^.&:6#B MA2^8QN$=WR]-/']&/+-,LRCX ]^48NXF2.Z4UUG2SC=-3X[.!WW)_E,<[>4^ MK"XQ?(>_7>=%_8M>[/M=_ED(1;H#Q+D^V]S72'A9K;CGH83+?EX1$7OI%#&8 MI"F& 8D2G_H)"V*MOHBOBN8U+\'PCG&#P.U7>_UJVYP_S4O5,Z3M1JF/ZS!] M9.@>K\'8]2S:?0)[F+NZ[ *J[")>-+]_D8QRB!=T@"T'Q+_V>[,9>_]J6)8/ M\W_MUW8RH^#5F3);8M]E)6XK\@B"L@Q_7^(@1C!A M8BU,&?>2(*+$"Y'."CA&;.8%ZI!TTQ>B*5/>-#U2]#PIB4UMY; E##W#;BX' M;1.K M"2!1PEM:B!4@']TGXHC=%/_:B;/M2YR _Y6@RYJ38:61ZG1\^LI4V? MBAY5\756VV*CG;DQ@'U<,^W UM-'4\1:B1?CH(QR+ :F7"R=8AQ2/W-BXDFS M9;--["_%$G_#G\2[?< R$:.IS%^7*U\AAI,H2%,8,NR*Q=/CD$0H$(NGGY#4 M80$+73TG\S31V5W,=T5]M_$,RKJB/J;_V&9E5I^IR56U[--0,V%M2U<%:6E@5""ZZO*H+X.4BJS'2T"04.=O2JBW0ES@D M3:3_F 0NA<@)*,0$,_$WQB@/B8]CK7;,![//O K7K8WD1WR?YTQ7KP^DH*C" MIM@TM;4A,T-%PI, ;&G@P=S+*MLI6$=Z=?(AT\N9GCHVW3UZEZZ;RD['2CJE1FZ9BYK^.M'UH@$]+O0;^"@*4_4*QY:( MC"YRIJ1C\T)'!>@9USJCTR]\N?/_D_>NS9'CR+GP7T&$'3XS$<(&+^#-_J2^ MS2KE*IE5ZAGMKS\ +U6L"TDD"J"T/B>.[>EN$GEA M92*1F7A21]33$H_66P8(X/SO]^L[L58)M$\K..CW^=<=6^\^98?NU^CNX^T! MHIY*CJ^WJ_5V&-A.6PW31U8+&H 9IZ[P+G"[QV4U@^H>6',^=.YQH0X N2<> MO; /^0($F\$57#;YM$3= ]A,2F>[7?7U 6PF11YL9K4&8+/#7&S@K#^L'VFY M6A3"3WT2UZ4TW-BG<"-GGW(S(QV^*'O7G;_^>=25'*A M[R^?Q0\IK>JGCHL\%2P2\ER5!)BH%EF:%![.TYA$(O,%\4 74?3(NFY0V6$- M7Z$=<5#3.5"+>L9I7SU?)@BCET" M\.V9ASY\+E?B9BL>-XM,)"DGPLI\Q+$M ^?3%+ MKC?W&C@]UP18ST\!UF<"UM]_(LT(8E;% \..2T'MT=\4EZAFTV;,8DUGKXTB MOV?HGP,#_D2!UA#<3U>&7]5[OUYMULN2US3KQ=I@/O;#-"KV%(US^YC.QK@FK'GQ^>E:HWX((J2E=M%&+ L M)81BD444D\1+<"98C$,_Y07UXR#W0&V0TR0=&VK'P&X> BSPT%"97F!A5Q$P MR]WIX.-N)D2//&KI6T2ATA?6THZO07#6'5U? <<[-N!->/VIO:U=']HU:TZ] M5QQ;:DM)<_]LMKFI MDFU95^HVURNN,&^D^8B5&N%L7.H!K>DR\MJQ42>L#AAQ71 RTH$EMPZC/:N' M-U++L;,W6P3N]WO="QVJ^LV*?Z&/6L>L\14<[PJ*A/Z.,"+H] 9A1T:8:??; MGSJB5TB2+7^4_)DNT:C\H&UD6CRC765DV=DVF6G1^GN.QM,& )XR.A-5)7C= M-/3;JMQ/]PZ22 @_E >IB&"2I0'.BES@B*(;L 9M>?5HG?4OUA8F.$>3;]T ME-;^6UU5ZU_E)+U12;\@/I9 M@",O4&#\@<#4RQ(<1U'*,DJ3R->*_*<(S;/YMK3;[06ZS0ZH2'=_O5QPHXWU M4&:UI7:D;6ZGX\)=L(\.+#SS!CHNWNG..?$\//VE>A^NV?:9+I68JZ"?W#%NR@N^+N7WS:"WZQNGX0*^U6,:9W+S5EP[8FNO_T9 M??I\^]=OZ-/7VU_1[=W'K]?W-U]^0=?O[V_^T.]6>3 _ MI* "%3.HXT:UTXPGMF7)R:C#7B:4CA0$#LYXWS!5T?!BY8"7S M&OG@+?DX(EG!0X$%8P$F(A)@HKF M!UT08@0I]K ;", M-+##VA.%ZB1[)U;R/[9W\J?0 6F^7V^V"\Y9F*2,X2CP9212^ RG'L]QDA.2 MAX+$C,<@Q,M1D9M#WA82;=TD4M8:0H7^TPA-'[,6W M42ZUA+2%9-&PMR]:@Y=BL=X1?T#=1_2B9:#K@OJV7 MSP D/AVEC=NY957 C%S117W"J*-LTI8PH0= I*0PO.9EZ-T7[EX5<::IF>@J6S"+P"="?6[?:F6=S9 MO> XP+G[>*M?@]E+,5U>,1( 9I<*#P.A9IHV*&_M59JM;G##>+TF<_J.M M\_S^DL#G/10%B^7.F K,:)%@DN0%3J/$PS1(8B'_5,@S/RR-IT77>3[OW$FW M=_?ETC/_.56:'OTO5,_E&8"#.T&?76 ^@(1VEA$X1_.5$P,C:IC.#XR];(C4 MK8;TU$-XZMWT;BWC>K$MFXF]+>7>7:-] =]/_)#&?H1%GLJH.RQB3+G/<* &ZJ73W/,H?.@)F(O;HZ^I8;(6S);@N2 MW)2->='++U36"=#YI>L9IP36CT+-W/LD16RN0SZ7JX>V(+I>;>03RV=5&H%, M-Z14C>\B!.=!EJA!\:K;(I/_*P]"RL)$1DOY8JNZ1+0S!P[8!#FZ';.@]H*R MG6JX5%,-P>D%%Y]&L#0GL2A2NMLW_R'V>5^ MMO\;/HL?A6% Y!DB8&KSSW**,RI\[!4^2;TL+;(H@YTA7M]FC X=;_/S:&?O M7EGEX#3??N8J4IL)M$%DW.G'!TJ^DQNTB4U MHROF5?F#JKGC]366ND%>162WQ:=R15>LI$L9JM4CRC[^L54QG&3DX^KYL67X MRWK;!FV"?UK2AP6/12 CH *'7$28Q"S E.;2SV=^Y@F_((0PP-5TN]PY/OGM MV44UOVC',+HMT(YEU/&,]DRC'M?2O6S1CF^D& ==$;?\136JV*_YG:"IK?^- MGPAT^__U/I4I:L#LGPR*/>!&I1.8!9:)SHEUX$9?1Q@)CHA<5&A16WZ]GTL* M0R6"P(O3((PRG,1,I4D%PSD)/>QY'@_C/$ZC#)0FU2?M?'MLR@I]3JS47'2T M"BJ\6-:56?5E3$UN2S \>W6870(OT8Q!J"0@8H,9(6++V+JVJCT>K\<; MW(FJ;@1?""^E0>#EN(A4<)X'"LXARG%6I$50!%Y$1 IQ+1HT'?N4PRL93[1" M/^IQ'.HFQF_?/B!YL&IN9)A?R!C4IIY+L:PCF"\YO)XAZ:O[Y@T'[=P2R4-S M;W?UQBD^%K7-J94,')[8_)5,T]1%V#4I=9*?%>!SP_1Y"4^K2M1 M/JP:) OVJ:)+$?A@$?AQ$GA9BQ:MP[]A[M3PCUC*-MGL^$=TQ"G-=\WY> M/2?X9C\:S)TV+:$'Y;,<[T.OPX15T 0U4G-S>.MYD= P\OR483^B"M',CW"> MR>THS<.(YE104H J]_JD9ZC&,W79_ZEWV;_LV$!TQX<5H(1SJM7;"MPH#.;' M)X 1=KST@!&"8Y$DD-_@LQBF/\C#.0QX4H$27+F''1MJQ MH0X*.T: 8R]U5:BWF[M0#,R!QG!,B]W"?D<"/&:6,NW:$_1:"[W&;WHELPND19:&@,):E#_&I+%6IWKA,#,]:PA 4_K5H-/ M7C0LZ/KA8?NQJA,+UX];@UE!APLXMJS^+!U)N*KOX2-)?KT2Z^?-TUDN'#!VM^AHSALX+-C!B:.!ALPWQ8U$( M=3QNTWOW](^O]6"!T][4!1./]$-HJJ*S*07!-:0 9K5VVK=Z OF!?:J:@L?D@ND MV*AGC:U8N2S;D2%WC=+L[)DG!?<"D6*O""-,1.9A&H84IRQGJ>?G09J"^MQ.2;A.F=4$44?1*.P^ MHQ<]7W"9M,",&4Q0>,/(H"RV^D-."K+^ZZ^0772JXW0)M6M@^8.+K0!&: MV2U3\8 IK(:,1>2;40%LI:$.UIXWUW1.K).$TMF'+IB.=D?.$%'&:@8=C'1%Q;%/-A8H>3:--[*QV]"SL M4IEAA@86UVQ UH \-N=C'9.8?SS6@)!GIV,-/6O8OU@]T%7YCSHNE:'J9KTL M.6T;4.[DU^]N&/6N>NRN?YR%3J$B9V'JY3A/?#78DDM#9BS"01XF1,1%D:N> M$$"+HF4&'3N!=W13UAMKGS=@SZ'M3Z+G/5Y3T<#D68_3*W3 :]T5V.=6?8K] MM;8]PP?W/YP4M%SITU;+GVWVYNWJ?\SC:2[GV%T.CN_ZRP8I9E#-C7X90%=)TT4!!_J!>3D]U3B8ENK\RU$W<'L?5G*"(YQ%FJ9=APL( T\1G.*$L M*XI"GJH*T. 0;!QAUC0P:Z> ]>X <$O 7'T L];^+1;\7ZO* M/UW:MUK/_RI^B-6S^"I4OZT"DA)5L:X>9: O;O-E^4 ;R(LGP:3%WI>/JLI7 M?)-_NRF::SSR,%!M/\COVR0Y621XX84X"WV"B1X5V[*(>OVC/\!7J6$8-S^H,W^>Z'O==;9%BW"C':OFSZ@4'K_>Q M8"[I=;X3./1PHTY+\8EEYF8-8MPH]CC2<43%*J"0&@.G&G$>5N4_!%^D>98D M19+@D/@"DSP*,>5!@(M8NFXOCDD2 UN;-:BZ;M;Z0X4::FK;9K-F97VV^KW< M?D>LQ]4&/5)N!TWH2*5ZGM.ZHF .<1!#Z,K-_$8].=V"!1W1? LX0>?5H D1 M-/"RP>EIN?SXAV#/JL_KO327AW55B@UL>-'8&JY/5LLEVM%&>^* H]28 C0. M5I9D!QZS!L2V/!])1SBSX];8PO,=OC3$.SB*Z3QO#-!UG!CID!%T4'Z[>>V+ MH/!(+%B""0T+N:?3 &_BCY,UW6V9$L#/TL"@. 7'5B4)8T49*=+81Y*X_.<&B;SE0O],,J*'Z1.)'17 #$U#>O0WQ8*E@\FT MC$;'DI%E9SN43(O6/Y)H/&TXR%%^7X744COV1 0D26,?!R0-,$E%BO,B]7"J M2CZ%G_N9!QO.V%OF&ZJ6PP@],6"SX(\0S_MH8;]I>> M=V#A&:%.AA">>\8<1V3?+ D\YYU_V64Z.-\>= \[.'6-RV01/^,,D=DQ-(8% M/8>C,?(T[,=7S[&O7A;OKQ<13U*1,0\7-)!'E"P-<4[R (LXC8,H)E%1:-7E M]TLZ]M+OZ8IRJN>;>W*.&Y09]\"F+5$345RTH!?%4PI/X M6/X5QS1,F>=QC_(8=&EUF)3K T1-6!U6JQUIM&EI V%9A]6EMP7940+P"+&3 M?T\5?9N2'PZP.BF:+4#584+S JA."GP"F#K]AB&:#*U4:\2F&U6PKUJD1<)S MDN$\$BJ1EC-,4T&Q'\N#1QYD&>$%"#MF@)#KLT8W3P1QNJ4G18?/?WKW)_1I MO=EVCS7M]1M@U6%0BWJV;4,W,,ON*.['B3B),:<$LX7W,D1F7G27"6%/L%RF MGK]XKE ]A&0ADB0C-"]P',7-?[3_%Y6;S;-\@&[1KU*?W__M7_S8 M^X]0OJWF]-7W.3\(5M>,#_XIO$*^?^7[T954X6ZQ=0]7S61%[RI)LZL@].O' MU!_#\"H+HRL996R>&GB?)1 E]N2CZSF>2SXE,"@_&&Q4$[M"-_5G<3+(Z$ < M^U.+FN5?:T31@7 C\X@.GS-M3]^659TU5LF8;T_J@FKU67V*/M6E(&8[R.,J$"$3B 7O.)VDZ=CI[#II)?BT/J&,"B+H.4::> MY5I6$.02NVMKS6^JNG*<[<-*VM@M-.:/U736&KZN.(RIPU8'2"[['H MNDNC!%TY LK3%M :=-4UQ9D M;16ZF5Y[97*&:+4"#LX:6 MQDW>@8)@YJZK&R<#'8#2F_5#:ZP_7UNTOK 'W=& URX VMNT@Q\6(DA8' <41'3 #*L[6!UD+'#Y[$U6"BL'4-":\H&L'H[7>AM MV<82 JVU)K.;LF(9/^^8?YO >;NUYT?,.Q;K+%3>R4.73DIJ;Q>]$ROY'W6\ MW@-YVM3&NX@Y2;DO0^=(*@T3E[M2(O+*JO57%PRNJ,\K4@]+^-"/*"7Z_X5[%1^)6\^65$^35%\#R$E7%0,(3=JO&V&I[*]"PC%43MYU77%8+GL78V&0*:=R M:I00+A01F(4\E,X^,LJ@+*:(**<+SHF$,BC.$0+*\'.&RW0Y7NZ M^?YIN?[]9E5CI]6X]-T^$8M,1'Z>X315/<)IP7":4%\&[80E(8WS5!!0&E*/ MKNL$9(\+Q/>7L-8%8I(I5$BN4+EG"]@KK*MFG2$A?=M3 EBJX=C MD,Z\_1Q3XI[T=DR^8#@+48W<^+)>K3NOT*"HM1C)BR"@C,248"^B"29^GF+J MAS'F19"*(J<1]_W%JI[FP/5L=)R@UL\V:WZV?;+:O]YFB,Y/3>GT9R0:L@BC ME= L2*8GR8LY["9D)?KS=S!-5IK@3)_ M:I7VLP.MZ7D]>[J N;YW".PC+EK;%LK*>D+8F(XX3FW?.H9;@)U,+]=Z" M>4DNRL7'U;;!"EQ(D6 :IS%..,VRC/BIGR-V:T%,F*'")-0VS0DY1I*Z\LW&#.5_[*UO M:+U9S&U"F,Z^IAXSZ+_8-XZU]9;-NY=?Z=_7E3R1\&>V_5RNQ-'E@R"-8II$ M,OI(62#C$)9C*@3'"4TC/XMCEB5:R?67\3Z M^L=#?6,%.&-QZ'W''E>!T=Y]O$5?Y/]<_Y 1XX-T#O6%FXMF+@YJ8]RSVE($ MS'W:T0$4DW=42%-$WO.+SHG'.RK6$1KO^+.&)?)N GM3ZJ L#W)!"$ZC(L,D M3S*<9R+%49HG(A=Y[A$.JH0?+.\Z'.J(&=ZF.52%7DK!7$!@S*(M&[P$?58$ M6Y7FP\7G+2B?%>RD;GS^*?B!O[U ]TG&/G3Y7X)6'U=<#=U;)&'AL3R.,(OE M_R)^G. \3N0?F:?^7\Y\KGWJ'R+BV+1:LJBABQ1A]%&!0TG2^AF 00U-IP%L MR VS.".102F!*9F,\@*#B\Z6')@2JY\AF'S6;%?[9;WFOY?+Y?6*W\@SS.JA ME*;=7'/=7S#;G[J*@"8!\5,MBI354P$VJ-IQ"$6?A7X)/5?C1K&&^+7GKI==->'-%>HSI%3Z=5J3!NBV MAMJP!G\+I3\S/JZA>DX!=$T7@J?S56J2/@K=['W[N.M01"6IJ2[215^,Z;2[ M@00P0YUD'I1 /V+7*%_>K3%;>OR(Z7XV_/B?S';>3[2L:FSI=R_OFFWDVW>""Q7%*0X))K$"A:4$PC0,?QSP0/H\*WR=:+000HHX-0['0 M89?G+ZAE ]5\H(X1LR2ZEDKU=DW;BH+9GQT=@3='B-"6]D,MDK-N@1 E'.]Z MH'<-C_4JZG^GS@+]@F=O+NF[E_TC=_1%_56-8/GQ?Y[+[9FU9PN_BK*A^\R9FZ+K/4_JN3H3L2%%_N)#/P37&0Y MQX3D("'/@W0AW\[7VOF#MR(;Q++[$NHG^A1)&>6J3,1OWSXH MF*PF(P%-2+P5C>GF/=X*OP[3*XI_7 MPU)/0FQTLG7K_N5925(MZA1IA44_: M-G>^E?*B5N KU(BL<(.[S$TG]JXUHGZDKAJA_9YB,;/SUCZGK032FY%KWCS5 MFQ%[*!WVYAB\%*BV*PGTNC!3/^>&2SM M"2W7+3&]5M>.MBG&[*F>-#<<.](#MX S@CN!< =(:1T?]I32*Z'!#HH\C/TZ M_(KA'%>Q5:@/=]7Z1\D%?_?RF_0_-ZO=K>5K-8^LW)9BLTAS&C'&<^PQWY?F M'40XEX$T#F,2I5X8<>I%$*Q7?=(@:S=#>ZVA77YZ5B%-N?I9]5C73*EP9W_[ MC.XX DY_U5>RGF]PHSJ8JU!:JP%?[GJZ^NFW3H-[I(3K::W!9\:"%6!KAJP^ MX7EGRH(5Z/;?[<]T(O2@B MGA>L()AQFF*2,8[32*281@D5<9 )'H7:5Y&@U!V'&0W1NM[?4$44T %OIL]Q M!^-<2S ?HSC!BA6TZX_8$[]"K?[V?P6Z06"F/\!5(Y=Z-+MH9%N?L$M&IOH8 MO6($7G2^"T:F\AY<+S)>Q+"V4Z[HBDEWOZ]O7B^7Z]]51OC3NFI@:16(C=A\ M+E?B9BL>-PL1T(Q[\J3'@U1('QT&F K5J1V'4<%H2HM0JU/[$B9@"G=BJ))FP M,&]EZ0(EG52:+ED+WF+QL:I4QDW!YQ=<+;6CS%Q^GT@H\_9 M&AG4A\VZ+>ZJ?6TKNA6 M?%FO6@S/%FT_"P6)$C_&/.8$$YIF.&5%C-,P\L/"(WZ1@V[##5)R[*Q^6]%E M_9N7QL4Z'HP&H@[K2L_E6-$ S*OL2%XIW#G<4G4PQ'Q2-FM=VT-T9N[.GA#W MM M[Z@6#Y/.79[7";:%B'[HJQ:8Y@LBSR"_2B51T^66]E<[BL]A*NUD(G_$L M)S%FOOQ?Q,LBG 6BOG^>4AFMJ9*H'UKT:+MP7:,8)VG*"6%=3P@AIF MG&D-D)1VICVSC+1-+<*RT4:*&$U%PU:<+P]M).E!$MIL!;,(Z[,\ #W4/Z)O M413Z9^+D'-,@E2>'R-68%X(&M$L2!-8 MZAE$W;&?WO,BSXH=,T8G0YA.]:(S9YH"E@CW2MKS<=46KG:II.VZ[4.MN;$7 MQADIP5)H!Z,]:[AGI);C$-!L$8,9<6JU^\>'/Z]__W7U5+Y?;;C\\ZY;3W=: MW.@JKA-,BCBZ+Q^E1[Y"D@7TZY>[FWH(22F5(#A@DMRX-J;SQO84 7,$DSJP MC#RB+ZO9]+GQI>>;0ZWIC/KYCLI[O%&._V"F:W>K)C"K1$?1/-_;U8?'Y^6 MZQ MG1FKGN5O_(F^R"4:B"S1,H/R)GT-3*V"5*OG %PI#.83.B[03QT?/ZMK8ATK MJ.4%]9BQYRA,5&#)=X!(S^I.3)1R[&&,UK@0F?>V:#M-Z/)NW515H<-5-99R M9PE[Z-IU@7;T4<> F[&J (EM(]V.D7P=_%L-)0RBXNJ\:PC22(+&?H%%ID:=A#S'&2\"7!2!*+*$ MB$P0V,@UBPJSI"M+JM+SFA>);X8]*BEV@UBE^!_*S5/G)*7K[.A;Q!J=D- 6 MJN@0F7GQ0R>$/4$*G7K^ DS0[^NE?&/37(E>Q'Z0RY.]AV,_C# 1L8^SR ]P M1O+4XSPEQ".0^XBG)$#G OB]PV;ZP^<_O?L3^K3>J/IJ4U]Y09L>*__V+VG@ M)_^!1,V2 >KGH=9T0Y]+= $SWV;]*W2]W59E_KRM+QMOURI5+VSU!D'I/6JW.@'R;A^-A^0+2Y=R"#;DE7\T+'B&[&C=".Q# C-!!6 MVP"GY1DS0/EVS_CDG_:&-[+P+(8W+5AG>!I/7HK'(<\;Y59\5OT[QQ#=3<#6H0\R3+NF\%S3)%V;*A]T(J&%5SS<@:'WFS" MC;Z.-7=7)YH#IA?L*>T"T ]=^:UC@$P2?B5($%V%#".$:*]@T$!Y)W]0,B:K M@814@_5:'K0$_RH>!2_I\J_KZK\71[>/*WDP MW=173%8M(EL]"85)FM+1JG]HB^UIZN=^[&(\-L-^6F[J?P68/T"K&J[1C:Y@+E)?3=-=#A?I M"^ VW>C-S'U:^)G!/"A<^%%/"EAN/H\*E_' LQJ\;G:2_2HDN9)M!:^S4^TO MV6=I'D1%@1GW*":YC"1S7WB8UXO> M0?-B:6'^[UA0![UIS'K@7!4S..SW_C#E^:5)I%K-T/0M4U*A,59 M2CDG.!4>QR3R$YSE!<6\2(HHH5'(,D-4V LYFS$KU2!FYZ/(VIL]M'9^"JU] M:>;JTJ\(36S-^&W,\UXZ@.>;4<1SE[DQ2RJTGCJ[E*]7RJQ94N=PXLT6 =/P MZ4F!'ZP>?EN5V[K(5&11$0>4@1!I;=AI>C&31>("HV9(%(:Q$L#DEB+E8[7GSE.&A#O-$8:>M#>],FN MB?7EJ_@A5L]"P2L]K,I_"+X0S,NRD*:8IFF&21(QG'LTQG$D8R%>T#AAMD9/ M#G-AT(!FT+'7DE5@ BW=HP&42XW6;1LZUS-U!RJT.F%RQXN:,MEH=L^.V^F2 MTVIP.%IRA/BKSY6<5HS.4$F-58PQ7(''["M4LH9JG>G(D^EO# M%ARV%:1T/>_D4)4P]V1?BR9(K2:ZL ?2"J(^-SZKB6K.0+,:+6/FINK+^^JH M5(GO\K0DJ=ZLF'2,JGOXT[H2YQO2WNZ1\+X<4\#H("LY2HMF >XY1''LX*$HA(NC./:<$VN673M=-K M&$.LY:R!EFR8073'#I[P]3\#L!98PXT<,(P:CMNK"E>H^T@=WZC' M>%WSZK&.]KQ?(35Z95T@R;\][^I6OY:I64?5Z*2D] MR/U*2&O<+I+"SXH@2G'"5,$P#2***Z7/5OA3CD%;0'P*^7 M=-YF65^,RFLN4=G\Y5;Q";YR[NRC,>J),(\2',6!_&@>H9AZN8?C.)7GDK!@ M<0&J\KZ5CP;?N/^)/IK>OOU&/@5L\S[8J)OTU9YSM&>]^T#M\S7W-7)LCUO4 ML6L5I\"U3NW!&CCC=&X4!-O5P+ZK'#R+?RE#A/7TJU>ZD MD!UN\V4+VK999$GHY440XS#,ZEY(@M6<2!R'7'Z"."Y2'L#&K.L1AO@%HQGH M^S%:7#*"?OJRW@J4 >@:RHQS1AG61+A,/PP N MK:O0!-ERI\"Z*K/6;!L%JDYO@[*O$-A>4^M",8 4!_6YKR:.]M0MXE6"A+4% M5*E'=%Z$2I B3J I86\;M)Q_I>7R7K#OJ_5R_5"*C:32CC+8'$+IHS\A5;1<=+X"F:6T]CCL+ M9]H!-@M(#@[T9K*(?* M=]!.#G[9P'>>*[;658QKSLLF-. >%44>"2S=(Y%>TTMQEON^@D[R1.%'1F*V-JMH%OA]FGB#8#U7<&>4>EN%FA"-Y M1/5%&I* %K;*K'99=]ZV>LAL/?"O86_7^O;2J\'6#EO0:E6N'F2S5>Z=:/P&-Q\$4O9UQ(%AKR(MJ_K6_LWJZ7F[^2Q^B&70352D,6%^GBH<_TP&Z324 M6TSAXX+D 4T(*V*2@?H2AVFYSG-?1JOP.R7BW+Q<;65HIF$::Z4E)^@XMMN&,NI(HX9V M!].I9\Y3FAHW98ORP\S84'1M ]84;&1VCERAL5OY'WMSG5IW%E/5%*XS4]W' M82;*U*BLZF7QR[N%B/-,Y%& >4)2>5@3*<[BD&,:$":R//="JF6-^R4=&YZZ MI25CZ_^4JN#K1SU#Z\D[;E-F4L#,Y[1RRC M?;BQCO8/>POI+36+,9RRWOWNS_R+Z>77]@:-:DN7OYD[417KZI%*OO;UN(]_ M/ D%DM","+LMOLF_W11-PV-SR3V(\B#S$P\'E I,_#3"- PB[*4197Z2,AET MPF[,VF#+>;ZB9E(=75LV48_/7A7Z"G6LME/6ZBOT/6[-, HL?3N]B'C^+P(L M\,WW,0RN$MO4G;7[QU:8FOG2LDU%GMYTMKJZF4.^J]9,"%YWKMUL-L\U]:+. M)O1[)Q:Y"&/Y25.<)JDG/6Y$DZ=JD=%TW&3_6( MP5RBKO;T?)X#G<"HBF.? GW= MS&DT@UOH4AY^GI_>'^0HNYO*19H$E!0XI@7#)%!E>Q'X. K3(@B#(B.P>P*3 M%!T[BHX^JAE AQP87D2>UJ*>V["J&YC#N% M8$>A+:HE%S%-;U;GH"W^L5O0 M?]'6 -'3P25?U\OEIW6E8)06/ ES->P,)X*&TCW$:I875^"[?I'[-,GB7*NK MQY"^8VKM9;S<&!>DH9]QK6]0'S$=.J0']3;*":#PN. 23O M2*I7KM-Z ,;WAJ^W^BQF#A*T,VK82ZXNH?<'TMVO#V_2->6:19CZOOS_!1TAN(;N(JLK\39[AQKL/3&+A?K*Q%^BQBP]BM5YSZ7 M*U'?9EX4>9K$L9]@EJ4I)EF:XSS,,\Q8$&=1K)+)H!EV]EC[IZG2S5R=VW^[ MF2IT1E_D]:ITBMUFWN9;*M6=*/&ME.OVC/USE>Q.%&J];'=* =[1]Z&]3O2I MW#"ZE"R4:_Y)_MUF$1(1>B)F6#!*,,D9Q33T&>9Y0!@/:)9GL6X_WR 5U]GV MEBYJ"*.&,JI)Z_?R#>MHW,%9DQR82S<1&M3%-RF440_?\*JS=?!-"M;OWYM^ MV#:8[V\;43PO/Y>%6$2^%Q=12'">QADF81+B+$P8S@,_Y9R*6'B@Q+<.4+NG2M 'V3WS+CP[???CJ6[@ 6>C3UYT MW21#7]"/S4'@_$'ZSN5Z\UP)=4-.\J*??SX5>SK??)'$,$L](VS3GX>L9Y4' MI3+*(I^N-EO6>%"0?I9X^"&XZ=Q7_+JJ;E8RO-XNA:[='+[EV&AJ&OI6<231 MM$F8"P.SA_N*/FCY,\R2AV7$V0/YT4R,H:CI6:SA/,B],U@ MX G#V7]G!UDMB$=8IN#4P\#W, EH@K/(*["?+G<,%L[.[RN;W(3& M*0F(CKT.4ICY!*AGHL/Z&+=.*U+"#//DB&OO>O2D-&/&)U_N&9[\T][HAM>= MQ=XFQ>I,;?I!T[%OCX_K57\0,Q%!SH,@QUF1A9CX,<49\QBF45$0$?$\2K5" MR4$*CJVLH6?^;19P/BG4XW&WH0 M?@C;'P+J>9V:A[##MQR;S)[8O^L?Q8[DFCZ*F8L$LY'>JP<^_T*V-E_-T65N>9)KPKEKS9[:]K5K$]?H@0GP2^3DO9J;SA9?*"[/-EEI? M4FLGMBEI+D@7GEUVMFSAF%#]9.'HDH<>P\.7Q+Z"L"%*#D8<#U)PG1.J[*COBJ*-N"&$PKCF]S=.:/J#9 M%&-5&-Z]F1#1ZJ6:(5JO<%MF0NSSUV"F7C*LE[/O@C\OQ6WQ9;WZ(39;P>L] M^YIMRQ\R!C]J3(I]+\Y$+J-D%A%,BD*E=Y("%Q%/8N%[?A2#8(UAY%W7UUMF MU$6''3MM)-DQ!*RUP[2KYQWS(#/,(QB(>\%MC1.!+-S5V*_Y2C(&S M- LQ+T02Y6GAQ3Q8/-6W4&1066W?ZO[NOUI?N_IYONGY?KW M/PO^('ZAY4K]Y3M1K"MQ/-])36[C/,[2O$AP4,0<$YI$.*7,QSP)DCS@'L]A M%T3ML>;X]/#;JA)T6?Y#GJH?)"M(VGS=ZUY(!M%WQ:'ED7O #Z/G8%]'W3 G M>VYDW@&(T152K"+%*_ISHWG%[NY?\YKGDPEZ,P[+,U/E#,/P@(R]F6%W9@J% M#+,SI #O2[U6J)$?_ZC8754R[1'ZW:D#3]C&H=B\>_F5_GU=U0#0=>6< M^H0429'B@'"!2:%N"HJ08!&$L1#,(WD&FJ,#H.W8Q$81%S8H?T$U.PUD.:@- MP43/>L&#(^W!3-FJXBR"5@RJP#EVQ2GE-P)A,:@2?22+X25@SJ>>FGY7"1FR M;]^O%<+S5G0=/]_$@\KC=M>PDD)P/\VDMTER3)C@F'J4X9A&09YGD4_TVIBT M*3KO:ZI90!T/J&-"SYOH*V[Y9571 MVIZJ+O>H8&D;/ZI>4\Z1>&'HUPY2?Z%9W")8KLX9PE^T/ARGB;F"D!69C+1B MFL:8B%3=DO S'.5^0L,BR]($A,XP0<]UT7=\ HQ!7#6E/[U8RJ)6@&7A2Q1B M9.%W)3"CGVPH*ITJW/]-]@NV=UX$2]9VM/BL]G5>L&.+&GC*,,M\__CPZ^JI5&B(8!3'P05<&TN=JFU! MSG_]_E:\5"<I&6%":>WF@ M[GK%"K;$*T*<\B#%84I#DJ?$HR%;_!!5O@:,N6\7A]A#GX2V6:CI8F7;QJ/& MOOT,'F7?J4'/'YB)!C-U)=-1:](;: T]E=S>1/INX;F'SA\)=&:N_/$3E]RU MOJ=_B,T=+;G\P N/*)GJ21-%/5>V^! <:XAD-Z1GD95+##+,5MR:&%+5ZNJ'M&]/G9+%Z3?J MP"O?-#-!N8+*)DJ3_E%RP=^]_+91?0&?RA5=,>DQVRN/I=@L M/"9"GXL<>Y$O, D8PSGQ(QS0A!9%D*2^[T.N.>F3!F5!X%>9U,92MQ<_M:RH MQI:?GA7R=KGZ&14=0XCN.()9,4#)>M;M1G7P[;BN#=SUM?9;I[4=+^AZ6FM@ MEP!7@"57 2 \JPN!*^38M1BL8([&7&Y5)6,C#\#-;-,'(6F(WNEWGT-D!?&# MT$MPD:H+T6$1J>&A5,TS"#EE"?<\T/!0&'G'"=@>,W6:9\?.%GTN:5XN#;P- M4+]Z'L>=UF!>9U!ABA-WB=S+U& 16!I ?';4:;ABSD%2&ZQB.N!X2\N5X!UH M6]L_E@=Q&#!YY(_CA&'"TQ!G+,MQ&D0\R/S"9Q0$AWB>C&._TA%%'57H_."S MJM%S%9<+#',))[(ZP(P?E\G:F-VS1&8>F3LFZ.GXV]&G#2JI_._UMY/ @TKK'P!ISAP=G5H+8RQPM3,88]-19Z&2597-_/,O7R"/%N=0F4L MJ)<'>1!E.(I]IDHO,:8T8#C,0WDDXL3G*0C&:HJ@XZSN_>W]]6?T^>;ZWZFM 8+L,2#/+MOG:H6N'U7CEGZ&8THQ MTSD.BSJ!6:8%=8!R&IJ"&F4UIM:>+:^A*60_LZ'[BIT12N_HIF0+'GEI$>4> MCC,_E6$S99AR$N*\R!E-_"3U">@*[UDJCLVYIH%$ES]O6@:1/*6H:>MJCM*F MQC;_J5RAW[Y]J/^A_AM@-]-Y!>KMM1>K!6;1IR.5KE!-TMTPI0.)' U2:FB\ MZA"E S&G!B@=/FP8]7:G[<^";L17-5[ZMOAMTS3<+S@+F(C\&"=JN ,I1(Q3 M'J;88S$K>,P204'F.TK-=12\2U M%7%4*>IX7>!G^8::2F>X6^=BJ1M)M0VF+TK".CK2AZE-:\T;2.V"=1M=9+%UUYJ5%? MEZ5J'C"[W7)F 8>%LAU-U!%U>6-E1#:[EU/.$7J->R@C @]<.1E[ W[L:Q(X M?Z'+YP9>8K-Y?GRJAQF512'DF9()@U(W;%7'VT_##-IQ@_;LH#T_5P;%;Z#R MID^*[O0&##.!*G-0'S=3A='1$DAJMI.FF0KZ!T_#%0S<2%5CZEZOZ/)E4V[@ M#F/@?=>NH:K6*[%^WARV?71L #S!D/P:-F]!=*!UCTOMPI@G9#0SVZ%%YS/0 M";$.3''J6;C1W5?\NJH^/%<-IJ"FJ1V^Y;KOK*KD'QO0IHZDOE4="3AM2^:R MP2SHOJ+U]4Z0>""+.2^)D9T<+36;=9P7H6\3 T_ !]8=C*=_+__SMKI?_[Y: MI-S/6,A]'.4\QR2."^T95F-Z M&;K#:_X MIR5],$&7VK_M>D,Z05E234VEE%>W*W%$\.D-ZG*9@>F;$7'1WQ1M!W!2IX)= MC"756_)5@*1.11I"D3KSI/V!3D7^PXK7Z]RM-]M* M;,NJCE7>B94HRNV=_*ELOHCM;:&&!]$@]P/B)\U@/.*3 *=%&&#F9Y0G3,2I MB&Q-=7+ OV._<3S"191XF 1%@//$ M\S'/ I(4"?620FO:%IBRZPIZ[83:)K_=?@.^@J^O2#TG[T0],/?'"J1)=VZP()@ZSF ( 1> YXFZ>>WWE?1.-5K? M5_&TKK8+GA5A%)%(AKQ%BI6OP%D6I)@6+,JHEZ:YWNWZ,2*.?41'%NWIHH:P M?KYH4#_3"2,;4L-,WT!@4+YH2B*CA-'@HK-EC*;$ZJ>,)I\USQG=58)OJ\>5 M4M&Q=17!C+DC?X4Z M!E"OF:_'@GUP=BV)+8.RC]-\%3!V+34,@;#KO6SF,NX%^[Y:+] M9@NKE,C#LI=%&18\*3 AC.+4"WRL!N\13V0>B4"#=[6H.G89>QY@?D%/8WI^ MP;H>8'YA3Q[7],_,<+ /5 62V9)GT*,YJV< J>'8,\!>-FTGNJ\COCKS]X%N MM6?3GWW9N3'OJ"%%#MI8="SJ=#Q^L91 4SW39J0MM$&[T8!@%W0=':\X<_/1 M@$"G/4A##]I*6'?C(N[HBX+=69""!T%,"RS"3 VU3W.%'NOA(/5)P4@LPW'0 M++M)BJX/R=V\DZ>&W*5YZ6-]F>:C+]""E3ST3B]W$WJQD'X>D-59VOF8WBNG MFP?$GTXS#[UH#B.]7M48*?55T46>0@7.H"6\Z-W<_]:D;YJ+EUO$-U1KZ]D-W\+O(L]ICX])V!) M*3#S;_7QK=%'0Q?M"=M%>IZ0SB*L\Q"EV3&<)T0^!]@\]0K,O.O)[%TM2CS0 MY3>QW2[KD.Q]"\Z31T7*TJC 010G\KQ,Y9Y.(H+CB&8\2N,BC;12;-.D7!MW M6V=^:H<7K0N56JLKJ9L=*^BG+^KBEQ]J&KB& L?MVZY:@(GQKI"LZ*(]8?1^ M NH(J@+>%ER:"P_SJ.* IGN5:+L\?2D;CZ>>5VZ,>&'HUZY,8X59/)F^))TC M [QA/%&."<%K@,=?RY7TC=N7'C#-9A$3GZ7R-())Q$),/)[C-(DI3G@61+D@ M4>"# "BF"#KV:3>K'Z)MOI/N;'4X?JV<&K]FID*]>,6F8F!>K:/I+IQY8]J_WHB-;,HH99U0N^KCO2GA2_@&C!ZA?2B*]>2^\PQ]53 M>2_P:/A$+:/H?MUV =:\HAVSJ.46[=A%MP52#+_6=P$$?:_U?CJ(+G]1%E]J^>S4,M_6"LZ"\\+ M/))Y$19YJE")>8&I" 5.@SCP(DKS) "E\*8(.M^\5O5-I(8!U'%PA1H>T-\: M+H8KP69:U(N,;>H&NL%1J?0,2WT1DR# "2ND]>=I)&/<.,!>G,5!EOE9%NC'N.N&#+3W W(Z1"L#A@HYLED*%45*SA@DZ0A^'"%KO&.*Y[OMQ[]?= M+"7Q16SW=VGOU^=F5^] 9O>SJW=(L$41")]P&5(D:II]GG!YOJ M)U]5SV&]]K<"UD0//]..7R091C?M9_K*\N,8.E7R"B.R2EG%=E3^S;7==^64_+/RE'KBX2/+,#^0I M$B<)YYBD48AS-9>#^BF/$H_S. 1U?DX1=.RL6_*[*_8OJ,= .V02&/I-JE"[ MKFI-,>"ZZ@4Z,2FK:@EJKZPZ3F[NLJJ6\&?*JGKO&=QP7B[;QOU>WWYW14CW MHO/(&J[#K^42G;EX !#'E7 N/':E!T8S@R(;?$RE*YP9E>@QQ:>[R:TAG@' M%Z)UGC?,N92;I_6&+NO!6U_66_EG5AOYL^#M_K]>_4++E0H3;E?=XXM01"*F M88[#G!9JQG>,,YX)[!=9E&:$1CX#-3X9\N$Z$UR77,4?Y1:Q]5B7CU7=:B9N MW&L,F--I*32S]-2,RRWJ,X5V7%TAQ5=W[JFG)32O6DS]7*8=6UDA0R[F31A= MIJJ37-*%RQF%$O*,HP9O/SZ! XBC-V<(&XY2 OWI J#HX5AFK9CA G'AD<*( MI/8#A@')3,.$X^7F# X&1#D*"8:>,D0[J/%L;HL:Q*A0C2(*8^&V^B:J'R43 M;4N"2J\61>YCP0,JS^5)@5/"$YSX<418%D<&/9XZ&E5;\.WKBN805M2$QP4 2*V+5 $+9KS@B) U' "B@!ZV1RN M3.WUG\N5N-F*QZD"Y.![#O>D/G*7HKE<;Y[5'<2_*>*HIFX9O>NL9!>A=QVN M.#MZUUF!SJ%WG7\0]MO:5%OYV]TNQ6UQL^+ECY(_T^5?R^WWKV)9AQ&;[^73 M_?IC/;.A=:8!5PCM(I='T9!@$A<4IR%),,DYXW'D)7&D!5)I0-OY1B6Y44YW MSP]P6S+1Y[@5.]82=(LR4)"V65\@ZMBV))?M;4GR3WNS-Z$XBT.X0!6=J[AD M"?@&=?N\W6SI2J705 7LAZA>ZCECCUO=H^+P"HZM_G#Z7-WPK7],')%[>G>V M(S+,A'LT44<4050 VJ6G)33:JD>6G6V_GA:MOVEK/&UVK.SJS67]\6Z+!H5+ M7=/[)AYJT-RUFK6S7I:<;@7?CX2,O, 71.[@!2>1/&G&(MFPVB90]H[#SJ/'GT#NBSJ%DF#\Q MTFE;?496)WS:TI&E(ZXQ&[.>>B]5UO%!^.+UC.&.CH>(=%,_KK?;JLR?M^H' M=[\^O%[>W2Y?T)S0*)+>3S"JVF&HCVG!.?:9QYF?L<@+L\5VO:5+/6=X(3\@ MG[CC2O^8_MB@@=$>*\I$K> 17/HI]!SAC J&^Z*:?? M,;UEP^O!,W1Y1TM^LWI/GTH9=RTBFOAI) 2F/I=^TDLRG,91B,/0CS@I0A&S M#'91YBP=Q]:M:.%RA5A##7I5Y;QJ].S9@L! 4]X11(JBNJ_S?D)L@RL>HT)9 MNZ5QGLK,%RU&13V]*S'^N/TAQ5U$==? 2!X&5G=4[6J["U(\%D$>QCGVZZA' MQ 6F:<)PDA9^&@L>)2$(5L,27XZMOQWK>#A;MKG9UMQSZP\.!MYCL_5E])S) M*^@;F'T_,\9WY(S8\GIR5FS8=7([S;(*9YC&"^'JS4S9-5 E9'JNR?*78@HT MJ;X%*R(2I3S$M"BXFM>381ID >99%@IYD,S]#.1#CPDX=H;=X1I5="O0YG?Z M!&U*/U:(GNNZ1$R8#^I! ]2D7, !',I@'0*@7?Z5KOT?"C=\U?_H.3/[JD$V MZTD[_2)M[YK*NY?](RT86=TA]/%_GLOMRQYN8%/[B_OO='7[5)?_Y2&I$.56 M]6?]590/W[>"7\NS*WT0O\C%MVH R2=:5G^ARV>QH"3A19)Y.(@#:=5^(G"6 M!Q'VN%]0:?*1H"'$JM^&6(Y]24AI(U'>#;8-:=VZV9;V>='?9;],8J MY2^H_UR'/5G+>84:27N +IL6LW(KA46MM%>H)^\5VOT&6Y%1+7,]LPDIJ5$M MMKT]X&U]1DL[SQL1:M;][HW(/+#+OC'N3&/G0E250H)0<;L,U]LL\CNQ$D6Y M7?@D30*AZ@_C/"MX$'N<)&$!"Z5'Z3G>#3OJ'7C.EOXAP+'U MN,)T0VUK:H!&WJT&VB._)+TO'+34+=8--.6T%IV/4YLY6-<2_31VUWO-,)3? M2M^A?([JR%4$KE?\S/D=F/,"KNHPP.D8J2%KSZ6X7.2K#,6W%1@ J<^[@YNI MYF2K-5S&S$@^E2MU&OJLAN+M8%$6$1-9SD6 O3P+5#M"((^??JZ&0.<\94GH MYP+6CG"6CO,^A)8J6BJRF^:X5_]5#1;W4 D(R,FXRO2\Q\5J@/F(3OZ:WM4> MFLB>/Q@5R)+5GZ,/O]&\E-J%[^INDX7G$UYX?H%]CZ:8Q%Z* M,YKEV,_B."E"(N/A?+$2#TU'Z=O)0>U%T+*HK+&H$T'TFW1&\DA&8S#G_,AO M)$L$_&;_'*F@!I:T$>N?*-5S^BW^6?(Y/<[_=R5M3C_)[)F9,RR8IE_R;0^. M67#Q6!-J%F]OYY(L5W"8&0Z**,4D%%GH *'SI$G2=B\FW/ M+M>_JRC_3(?SOC5]000G*#)5F&65@422:\/.7)HFGE M_[:EU59OZ](C#ODU'[.@W\3;L5+?Z. M,[W+'+EX*%O% M"O95!G.S9V^''*JO=U?$8ILY2&Y;7>=Z1.=M0@9KY]*R*S1\?GY;K%]70N6IZ-=6)I[UU]:G<,+JLA[3Z02@*3CG. MZ]%OD0)?HB3&S(N]. XS%GL@U 8[;+FO'"LFI5.ON41/\E^;^WJ*4534G"+1 MLHI8G]4<,DZKA$ M[P^_17>-L.'4TAA=-ZJS5Q:WP=3YNF'YHD&C^"J>5(=\ \I3 MXU:L'E2<+G>"W7"6NVHM^50[]R",Q?X<&)&0A7[N8Y_*8PQ)_ *G>>+C) IS MD5-*/ [RSX[X=.RP.]B7'=M7J,=X?>:LHZ+]S*6&^0ZQ?!P[1N?<.NM'URQ= MO/ZG!)8I7OTKPDL2;G5LJ_S@B,MY2PUN57U25G!,SF V\\?5C[):K]3J=*G( M]:;W])IFFNI[29=WZTU]]_7C'UO5."//%!]7SX\M8'\+Y+]<;^0^N*0/"\&C MT$_3$$=!$F'"O 1G611@$>=9&,7R1T69]I!GIZPZWDP.>&_0%OJ#K/9M9[<% MV@F .@G07@34DV$W/*.6 BDQ !.9W7[Y\>WD;7U/V([R_]RG!$SI?C.?U&S< M]ZM_6MCX\%FT/3J'W"T'\PTTGT63!Y/1YZ%H>*YLX49OB^. Y68E8^7'FN:[ MERXHJ9/<89B3HJ )%IY/,8GD_\H$S>4?69%E<100'X0A8\"#Z_-@#X3UY%2! M>EQ=U6U/[1-&8SM-/H#F^E]2.[AMHE)*\ MV.R1VJM4MUQ@75'0>H"6CBR.(S,4?9:&J3W5-]0S=:(*6-O4Z>L&N1*5<+DM MFBKX)\KJ&PB_TC_*Q^?'FQ6KU,V$F]7[]>-CV8RS6P1Q&G@T$CA/T@"3PDMP MGE(/%R+-PBSVBC30"HJ,J#OV*W7J4V[9!LNRH^[138LH,Z?N1_H/?S*!!PU'>I2+/3NW6% MPD[CI@H9/6"#%YWOS&PJ[\$QV'@1F/OFHI0G;C4DZ*MX*-4=S]7V"WT4"Y+P M)$]3@466$$P\S\,T#WP<)4GH15E#2XXBU%.B=/9W>1S\)[R7[?5\EY4 MCQLU/))?5]5^)(SFX*SA%1Q;T*]4OJ2RN#7U=G#I<9^Y_BBM$4V,FY4])<", M2TM^]#>K0V[T9#5JLQ]9=K8V^VG1^FWV&D^;CUK]56R_KSG8&@=>=VR*!X-7 M&]* 4><#$D];G05A829W1DX'!C8AUD7398_7G'V^[(!0YR;,#CUJ>'>%L>J9 M+C^MJY$"3BDVBR0D09[( W_DS:1ALV MZI8I<5 M78[="KA,EWI91!<: AIV3SFCI>1R!#,,?H$"*+>M*Q2Z9.>]1 %4 MQLDU"NC[!GLS_[OJXP+-E>V_X]K"^=^?-]M]N^/^^OL5>+#L@:@:.[&AE$ K M'130ZM38<\*8;;K]A>;;:<^P?["]GOMWXQE>3 C>-#I251F4?_,DJNV+ZJO? M7J]J5(4G]<46F>!%$ 8^#OQ$3:-B,J5\_MN%,:S/-HZY&@> ML-DPYA.EZ'F(2T0%%JAJT*]7F(8\)*(EXSY9?E;S'1+NV$ 'GS/H\'E7E5QA MY)?\@V#_+>,-_LRV;2];4:1^EB8>3F(>8D(*AFGHI3@)O< C(6>$:)GB%"'' M)ME01HHT4K112QS05C*FI7';M"D[S$:'Q)[NZ8/)#^B@L:0'LV89\,\ U@RC M(=MHW\O8^_.UN&A(<=#-HO,\O''E0_N![SH()#6^8Q&&@ON<<.Q%289)$2:8 MYEXH3R%IGJ4T9(1KS=48I.#8#W4TN_Y:2;4>Z*/?O')>+^,.R(JT,,\#%A34 MP#(JC%$'R_D59VMA&16HW\,R_B \+U\G,]GVF2Z7+VJN[U_4 ,IVB :T@*ZS MEF/[.DQLM[PTTZ)_;/Y43VAM&-)/YVMI:#K-;ULY,'/4UHN#FCQ$W!#;]ILKOFZOA]0;QJ:9GWZIO-B7$,*L#,.2#AMEI<)!S/" MK*"[&U8)"/K.K/<;+8T+$K?@MO)G1#5+]7Z^>EFLWF6O]U/*_ ^ M.+*$ZW*:I(QJTJBEK08)K+>K-<20QE0P;5&6I(>9UIC@#K8T#1F-;&ULW=F, M3D.XOO7I/'YIA6HWMK$9S'R]XMTPG%)L?A5T\UP)?KOZ*A1BI'2Q[^BF/"E@ M<7DX%'Z >23_%TD#@=,P*G"1%;Z(:)()85C LL#=C/6M_>C8JV:*>#/,JLAG.!F^O5*6SJ-;A M(IY-(F:^O(8$I6S[UW+[_?WS9BM/-=5NH-G[Y\?GI3R;_A#OZ99]_^UIWZUV MO_XJ?HC5LWC_7<7,-ZN/FVWY*$,\=7& RA,MJZ\[5R43B]1/@IAX&0ZB-)$> MGDD/[Z?VW\J4,LS,-\^AWR3WJV.\-653PRYT(J)8! MRTCWL*>SE4,^6DNBOFHG2WO!J9,&U>+8VR-FU+VEG6,.CF?=3V;\!,>[S)RD MS?:>%I9:?!7+!D%TM_6UV-1R/U1="^T?8$./*!=8D);X\[%L@Y@ M'F18?).VD0D] #I'[.G#K'G$X&@CT7S%^ KK MT52@_NR@!HI%W7<[2CEY1*0QHRE.1>%CDGMJ>KWP<,H2XO-"%$$&O=!JP,:, MV4%+ [%L?@.].,R]9F%>%*9(ISF\RU1C[^:L"1-SWZ.]0%%G;M5>LIJ9G[NO MZFS>R[>M7$M!2$E/VNRT89JGGE=0S",68I+*T"P37H*YEU$9NY&$!C'$E0U2 M@+D=(P27#(?=6AGPH\O5K M*;%/_,VJ42\>L:T:F/L;U\Y[+:_O7O:/W-$7]5KE=-5LF)LF,&T9J;_=#F[1K]D RAGU0_@1)[\S,@'_P6=*F3 M?7\+?#ITW8IU5/-^! ;5ZTU_)P^=O>=:(5&#Y-B(V9L?L4&UH$A)BEI1^RT* M4EBTD[999+.?/GV_1G_1OB/_9CX0I'SQ%OAU7R3YI_MAP4HT;^DCCA:"W@2C M\Y6;WH2XYXI:;XHQ@W#N=.3[E^QHRJO3%&Q90WO!0X\Y!YHX,JDHCVK A/BP"&*)HR5%."33J MO 9?GL^A3/%_8.23#YNEK'ZAY4H5B&Y79Y#@]HB%>1 GS(M"[/FTP"3+ IQZ M!<$9]PG-BCCF MCVK$?8>>>R8D/==VB:EM6-"%YNGM;RCQO;")&:JM;+REA4 MGUD#C]+;3XJ#GY7Z/M1*:X;U]O A&WA(%\B0,/DM96DTB<5J[ES*Z<7S\D)=GR36;0E*KV MX9RNS)08$9\=P6!$,*)D68ZR(H]PF,DH34$=:.W(CAT:UYD\1,T9A/7/*J(A M#ZQNL4/2SH3XQ\MOCPO1132--)S6]:/JXT9OVU[._[L B-KNZ*+-.% 4T;17D!"CZ)9 MK#1L]K?DSP,QK.+>,(!IM)WXP5^:"T^WY"]*Z71'_ORJD]V0ORA8_W[\Y8?= M=NZ/B]5B(SZI,S^_76W49[G0%6;F?N=O:^4VS,-"9''&(A0G<8YPQB0JXC!! MJ20X"U,6I=3RA&Y+MQ01H9T ML*/=WAN?!8:\OVW95E!/&_)%5BU$?A"R,X(> MI(;9OE9<1;$[?P1OWE[Z:H!-W@6Q/%FZ=S5G+\H)K=:O MVFS6WP7_K:JX;GZGN\[78OTBZCD-28DCR5&!,ZY+8D-$RXP@*J-8ZIJR-+3J M^PJ@.;*9ZP@'WS1EJ-I>1LQ6A;WB %7GEO@LV*)AZ,],0THS4J+AP:=R6POL M3=$O4YQ8Z:TA.#8 ]J^ZQR.[*S+OJV>ZD<_+XXLT?ZX7ND^ K.<\C=(DE1AE M$BO#4"8'=-,!FE-Q3I=EG(?U MZ29*N[8FVZF8KY^V)=LIQ5&6%A'*THPJ4Q3FB&"6(AFITT59E&Q>QY:$WSM7R.@\(0CM#XQL8F'49Q&2DJG>(Q/Z&[%TF.?5T/6L03HS5 MLW]WI"Y#H8'9AZ$&3+J/FR$_8?LESW;A,KU?JZG2 M.8M@_Z)#U>2[BFCSHAMMMMTU>RUO8DE2$F+=E[)41Y:X8*CD18Y$%,J<):F" M(;=NE#1$:63U[T@;O>\1!Y1,#N(TK.E>I8=I^#G!7=HC#2( N%W@"PFWJG_P M5P%63&HCW&!!Z> "TQ65VLBQ5UAJ]8)C^KAK"?Q^4;-EI=>N=SUWI,!12$F& M<";5629-2T2R/$(S/@0#'$WP. M'W!PO/]X6J];YZE(TRRC/$8DU%M8*"0J2!CK6Q(1DY(G#%M50QRL.[)J_''_ MY0O ?>S):^$NNTD!4XL=#4_.WS'3@ZY>[_'I'+MC'O?HW.>GR1,;CF NG1V8=JZ==XA@2G<6D5'[2H*$]N3SV=& M=K,:.L+]638ISX^$F0#XS8]%/4]CW;,[QHBF.4>89QS1(F*(L)SG3.9<8E#& MZARAD6W#)[%28!B'*_A+T[,,P%S$QT[W?4@-4W> P&"EOB2-)ST^2V92U;TD M[*&V7GS>L3>=OHAFQN?Q]\]Z_E(SW=F<#>_$W^8O];P@!2NS'*.L3'.$TR1' M99J42&019T461@F'#;"SH3JRZFHBIBA#;5FLZ6S:M!2:!:NF!,S\: ;C?!=+ M;HHW-N0'=%"1'<)V^NX=-YCR&_+-E$L>- RT0]9GW0PYQ47S@,?".9#4OCJO M6=&PI4C^G*G9 MZ+/EL$/ON':%?E\]DL5J+I@DJ=K>42)TT8A0CCIEN$ TC*0HBE)@ 6P&W2P\ MLGHVI(*_&F*6#OF1\,,*>8U(,.6SE<:AO_,^ZU>T=6X7FKB;\S[[QTV<#_X. M3V;HV^LW;/-,ELO7>[+@_ZS?55_%TK2W:M-YX 'MD#5'+Z+H]\AK>0HT4\%+ M_:^FA1Y9O08==UT&TSY[ L+OM\G1_AC@J12&+$O$H9 CS,M+WR!A2Y^BHI"DNA+0Z2!^M M/+*MV-(*-#'[+75?^LM[JK-,,"6V% >TIYYDW6E3W5]ILEWUI #];?7T W"5 M^"2^D66S1YM8)TLSDF<,HQA'$N&4IHC$,D2BE#I9&E&:6BO%P=JCAW\5M:!S MT0#QWU,P7-:.*X2#1GGMY0(IR1D)G-3D<*W)%.6,$'U5.?>(4T'OP)#CVQ73 MLX'$1\7@.U)_-_>/GC;U/.<%I@5E*)1,(!R&>J,),+$T-J!XG_X.)NFZ"NO5FIG]>/IMJF76;EUP+5GU;+?[;MN/2 M%9_"L$I/@RW4O;TX#WZ+O-:*0+,5='R-#BBH+'ED8%WKE4L@[Z"LD/"J2O6HV^_-HYZE\M]M"E_W[:SUS6)1ST6!,YGP!!69 M4$>-)"W5#I"DJ,Q%1G!2)#+-8+UY =2M].B:!KU?MD;<9.N(/LBM%\II68)G MPT) M0O3^P;JFB[;0@0=HB8?_0X MF 5D8]L/$6Q!0$)[LAUV-">U&B 8#NT%[&77E+]2,E%OFO9<;6^N.[&9YV42 M$TXP8I+*-M!)$XG*,L49SF*6%@DLW7^:T.BGS(;LMA\@TNX&-.]_!B,[_?_>M$3_89IC^4SV#TOF+=%_ALS$2?YA88\3_!>>OTYA=<9#?P>5 M&I9I)@A*:*0V<9:$J"0\1 07@E%"29XR%SUMUY]*/9\4.3>M[(" *:.#>(XZ MJ"GIGO==%.L=>5ILR-*W^D]1 MRP/1SFGCX6.._G7U^+06WY5&+UY$H^"FD=T#^:%^:C[H>^W:5ZN;S6:]H,\; M4Y1?W2FA=-BA,O'.CJEY')(X$HP@I;X)PIG2W[*D%!&2)G&",2.)F&\J];6Q M],3]\@=8C1,W.M1P\V$[RX5AZ^3\/C7/=9WUHSCZ>(<4#U==[PS-VT)Y-QH#TZPXQ$ MQM%N[]V^: L%:1KGM%3&5]*D1+B0$E%,"S/_.2<\(5D*"X.<(#)VU*-I2=G1 M!)9.#J)C:?VNE!EHPJ#BP@W/@#R^K,E"01%D5*42&+3#?7EZ@0:8Y8RGE!N)Z(8G6[T(+6R*JI MB0<==4!Z]0) PVKI66R8=NY)''24 TW:I \906MI-P M,/][88GI$KUVLNQE="U?\5%(;B8J^ZLA/[G/BB_I\KPTS1^8E'XH-##]>##KSIX+9]?Q/IA\2@^/V^>GI59 MV7RO>+5 M(1T\&MJ [7H (@N?Q8_@,#4W,FNB04,U:,BZ^"I#WP][/\4/"&X^RADP//DG MER4;]$T&7I_.+[DLPYY/8O&X6RSC3['X]GTC^(TB0+Z)9FK\9_E^L7SN1KC6 MBFB](2L=9)GC)&11H@Q41'.,<"HB5,11@HHPB1A-<(RY5>M@1_HC&ZZ6;/!W MRU5 &K;:EA#:G'6 BBS)]5#-1,1" M)$R?8NW#^F-"#@_;OQ>KRHQ^K=:FM09O/P)!UBM3S-T$[X,G95'Z_3D"%!#^ MG\_U+_=QV86Z1OP08/M6QTC0OWPXTE]U=JRQ-O')UTFO6!M:33XN.NT M^,C[1L6U[ MBMA0'-E*-"SHIB%MN;CRAU:F;K2NE@MN)F@N5B^BW@"F=MG#:9'/] T2S'ZT M^&CR7:%WXZ/T.# 7R'TC TAV^D;(+>UY/5*P1"A$ZL&4J-5"TR5'(7+MI4E! M+WI-F#9A]*:S]EM2+]A%,I-%C,HD3E!19)*415;B//.0*3TB M/+*U_/,GY-J.P;TJR7859+ZS:PT;L\ P,GI:[:SHX^;3CLG^"HFTLV!89M#. MO^]F6N[)J_$P'JH;I@S96MROJR>QWKSJJ)@^)6KS]J0?F>>AH&&89Z@L"H$P MB2)41BE#C+.RY#FG#,>PKC[VQ*VTY9JF/NW=UN:R/5]LS+#0:A4\M1S- IU& MV#2A$M&Q!;,T *SM;(UG_)RL3<>#OE77.WZ[:C:RM MW8U(BM.8,I301!T(HBQ!5$B!4DIP+&16I!(T^F:0VLAJJ"DBY>6W-&%[[S!, M=MNM-^%A"KDC&QQ <+G0&[RE6LGH:1<=IC7IQFDE]N%>:?>2FUJ;"R GKJ#K M.(-NJ_5Q6?W]'X)_$SJ\H'_Y5LAJK:M>EJ2N%W+1)K*E4K0'\F-.Y=^;9GM2 M,1M\U]SN)O!MR(]MYRWUX_\.8?;&]^='(QE&1$@D(]TL*2DB5$@6HY"5DJ01 M#B5/YNJH2*O_#S[!/I\NGZ%2H\6+HOXBFH_SQ.?X&XUF_N^LLH(;QX)!S=3#4O.NF+?YVL)%0];3G^>9NTEUR)&@/ M]]6QR'@,OI\K9+\QUT/T\?B&UB9?.H_R."HBY7-CGB;*!>=JYV691'E"XBC) MA22)U?5*3_R,G=B44IUO](YI+M5H2Z$.;\]KTQ;N_WJ(S .0OR)@/PZ>ON/X MIV[)S((=C\%?'9<>3PB>\!HS^ _@YN?G!.#06:4*')9U#$#HOK^A&L^BT88P]08[B%?M_A:A'VP?E#8RT%[7W("-<-0#0Q975UF^B%LJN#WN_O;W@CM M6O?(Y(N7!7\FRV 0%U!8WT9HI_#^X,*3A?EMQ.N'^ZV>AP\Q?*7'SO=T]+HX+*0,]AB+83VY7D*8 MLNR$^^!#.$#9ZE5"NM6H H2%%:.>E66P\O3XK>G*3,]RO%=3>OXIMS/:IXJL MZKMJ(^J'->&Z1-7$V'97ONJ=;["[;%)B&=(B3A'355^8YPP1S@M4\I3*3+"< M,E UJ1,78Y^%&--5#77O^AOL8.0&K=TY:G3 8#;+L#,+#$.SP+!D*KN:]$"/ MJYZG.=(MGZN0\73 <^-ATO/@53 ='A^O6\RUNJ6+5NF*M-/Y=A/BHJ06O-_V M\HLNTJP7&_%5K%\63"B3NJAX.[M1/] ,0L,R+J@D#)5YJ3RD4MFX$E."2%QD M1$0")P4L@#,RPR.;PZ\;]9DAPYL9:]$Q!RVV&?E3LPQ#_4*?!? 8?W_[;M9$ M^=%;\V&T=9G!S7JM'C072_K3>BN=GJTW08]%GS5!T^#HK:QH9'8GKDR:!OSC MXJ:)Z,(V!N.MK5_G?WR="YIC1HA$U"16PX@H(RX3]86(9%SR@HO2JJ1IM^3H M54@+G<[[JDY/ML>]GKC#-L]-")A5^N/N]N'#^^#KP\W#A_/I$FOSKWEII$.8]9[]3GQ%^N* #L6C0L1*VGRCROU^8B3D1H$9812O.< M("Q"@4HJ&<)YG@@2XXC+W*$6["2QT'FV3/ MCWO[NGND=?-,XJ"Y6'R[JC=K$W-KFL(_?">KST]ZB?J?0G>BO5TU&^Q!%[73?"2+=>,UQPS34*IC3I)SJ6M(,U2D:8B$GDV3DK3,4U#'E5]&LI'W M[88;<\/XCZ_O35=@<],8>-'XEX'+TA[^,OR.9W[[)ZS]F1D[*0/Z>OHDID6= M!6W_A9ZT;3QLH^0-6H%G0?L=4E^A1NA9<%3>900/M.2!%MWW7/-?[N/TM.7\ M.G)-NL/].F*?V5!_/0;A!2_*";@35=W>$K.L<-E[:>R2EFJ%[CY\MG25CT4: MW@FND@9FB3M!/%YI.\N]4P7*_DJ3E9R<%*!?8W+Z@:MZ]WT1>D:B'F\JUK): M/Q+%Y6>Z7'QKLLMQ1,-"MX 0G-#F^*E^4:*T3 K*L3J %L!6QA941]:CKE_= MNF-">WD=%T&U9<.IK=\%/.V\,>\HP?2S)3\+M@P$/0Z"'0LS;_?$G23WV\[O M LV?T%YXOK@#D]GFUQ8;L])=? &"< MO!X#>=\Q'R"^Z1WEBWBJUEI_3I4'9G$FU3%*H+Q(4H2CI$2TP,JZY*$(2Y$5 MK+0:(@^@.;)-V7T%9"TH3ALJ MM8?@*(@)>-5Q3@RIO^O_Z:CG"UEJU?@BE(NST%W"]!],/^'^+WI/-A'0K@SL MO6C^JWY>/NN[OA]^J#/*ZIOX0C:BN9@_S_,P#&-"48@CH2Q+7BJ711D:+G@< M9ZQ,,I9 KNE.RS[(2,&O ]^I+7S1U=2]X2T__]!9&]-?1A<[FW^(G0S 6333 M?MIV)O'7_0R!!U+%6=N)IL>@#EEUO ?-(TV#]+U?[K_1"+6KKWS3R?4/4W39 MB!9TL@5:N*"1SN.@G)_RJ?B:L3,M\]..Y_DI'\S19)^?PX7;)J<,J^;@?EV] M*(^:OWW]H]8)O(^+%5DQW92";18OINQF>ZU5G9UE*+,<,<8CA&E:(D)+CM), M2BY$R>*$0UQ@. MCG[)OOOY'\/'3YS^_!A^_?/X]^'A[=W/W[O;NM^#FW;*P# Y/:27> #FW=%2LYI#*^D,52D>+/;-.ER4D]3'ZX^=W%0$@XXB("!_ @B+=,1UX@&SDGW)7'(.)T0$ MY!FN$]4MMV#W8<*2">?E&$P@G'AMNJ3!>9[W$@4#CSF8AD_*R#2YTJ]BLUF: M,J8FW6TJEP1_J$RQTCU9;U[?M=7GL?)7$IH2E)1YKF>721W'BU$2%W&FC(HR M(O:SRUPX&-F\[%@*ZBU/ 3%,S8)+M>R>0+8P3&-#!S-=/=1V['3%$T'+D4ZX M--6DABEUN)T&38 -'!M5-RLY#KHPJWH-,H-VUVGAZ2SS-7+OV>ZK%G(J]KP7 MU9VHP.6>_==&-K:Z3O+^P^?@[L-G4,WGGF3#QO)*H8"GN9T\_DL_3XG@6ORY MM]:4Y9^GA#@H #WYB%NDIBF^UA7;U4JIT_M*%XS-U=E'9G$4HB(T/8P+]:\R M)HA':1JE+(L32B#!F)-41M:<]J+&EFCP5T/6\K@P#)!=&.5JL6&Z!9<8' 09 ME,A3G.,TC4E#&8-B'D8KAA]VZ+K)__.ATLO=_%C4UFTV^R^-K%F]AM/*H^K? M]K",7QY+>7F'I%?2#5^O7/:OU?MRMUOF>BKN_$YK/\(FJQ?M$=\41.612'B-$P4EM6F2-* M<(["J"QRH7XFL!(:"YHCJYDFC!8K]-20AFU;-I#9;6*>@8"IXY;X+-#DS7W* MAH%9<-<,[NF8\+?) 23VM.794)QT P1 <+@=0EYUK-=M>_B9WF0W*VX:E>W: MDNGL01O7R$C&",\I$K24"!>91$6,$^7'%I27@HA46H7BP)3'WH&[+H;K+>T MF4E6;S1K00J\JFZ/J)W-& 4GX$;>0:2+/W9)PAT3W3"BF^6R^MM<:C)=M=:" M+S:!GC+C,3[DC(NO EYKNM-6\$+A."KA!2_@%";Z3=%J!WB^%S5;+\R]Y%TE MJGWDZ,)*$P23?KNYN=^.>.WQ (HN70+$*N#D$0MX#.H<#)ZKGV61[-RWI)ZP>99E(494?Z"OL*(<$)"1&D9HCAG><;2 M(L,8=-\91'UD"V!H!']WK4A(VXJD;N9+53MF3/>;YM= 7P(&=HY9(3G#*,2I M0)BD!%$1%:@L>5QRBFD89Y#ZY/' AI<7OQ>KZE%Y'LHT&-^"&O %6>L;N74W ME%2W%V+5XV/5XCT5\G:>W&AXPDPV<#::X6;D$6B70!ASX-E9VC]_O-DE6*R& MF5UU=P[&B9 HS*(69P2RO.8(,GB3)VOPQS1."D1 M#PN>QHF4)4WG3Z;X^.N&K#?3(G=(&+!++LV!D-3:P+Q7YPEC;))H%FC]] @@ M*1).\E2Y=+K&4.UV.2KTQ-"8L)(6(DEBP5H /ZCCS4^ KR/K"-[O2DF__Y__ MI5RJ?VOAPQ[AL]O#? $"V[*V2OBW(AMT=&>!H7PQ^.#Q7HF%]+YN@0R1FO;. MAH701SL1-WU^EB-X5\+J0021EB1&BH]FF"2T2B(D%I791'$1A@C+7#E_@E-$LX(P MD:4I$07$8;X6$X?I)^WU_!TV]P:;X(TF#G243T(DRC1B<8$B%@J$,;.[$/ M?W=%LLK=HADC"2(\+)6)YQ)1*CFB))9AQHLH+ZQ:U@'ICFSB-!>]9M7Z( M53*HR1(Z?F4?"MM C*. T,A+W5:&&4(^0RDG^/<6.^FO/7&PY(18Q]&14P_! MRRGN7YX>M-=H6S31/3^R/MR3U^"EWNMQO.O]9%\;L95N6"%&7A[)XEL9 M=P1^C@8>"7A6[8Z?O&(,IKXVM!;?Q:I>O(A=(,C<(7@@/TYW,]MU$HMTXXV4 MH@)3W?(22U3&)$,)D_H2:YDS!M+-ZUD:69>;G@:LSZ%N:ZE8G)G"#W44VI ? MP-YB'CX(RVCNI/ "@[\&V3WF]L/ VUM(BLE1NH[Y0\?GQ,_K&)I^,J@7 $]. M$/6S,OP8_5'A4:V$GK+](M:O[Y_%0Z4.=__OF2P7V1VV7MD4U^MVRJA6=WU=/"QUC H7XSJ\PLE5I M" >&LKY:_+!X-&KP^]W];2]4!IBV. #&91OA!P>8);"%P&^X\+*D;KT0SB\[ M76.$BZ+M=4FX_+3;.4J?QS[+IJ!T'A>4)Q$I49I@CG A,E1RGB")$U'FD3H0 M9595AJ<6'UE%OXB7:OFBRR]84QPK"=,3VU]AIYD].%@2R3R+) KCJ-"%2Q&B M4IT26X N)4CF-B&FIC/@!DUK9@[-_BN@(DN\.;J^ P(_6I M6GU##V+]&'2R-Q3]';-.R>'IP+2W]*1'GU-"'1YB3C[CF!QO:Z:_B*7Q,>KO MBZ>NR:YD/"^XC!$K"J8L$$T025*"9)I'49*G692"+- K9$-4D+-+99YRO?WB^Q+#&_,/OT_6G']:?\(=_+);_,?T: M?G@["^NR6'X&^-?-GSU??/FVG'[\M/Y!,*$N/W;Y7Y?_%!1ZH:P"G;,&E;R" MP(T&[E*043FEK/]_/OY3LMD:2[\7/#M0QACPW#L(6L?B#3V:Y?_LO% MQ_^X]_G?Y>;3W'O_X^:_7GUT-7WH@_18_N/_^O7U^_0)/P>8SE?K,$_U!:OI M/ZTVOWR]2&&]X?IWZ?KAT4_4G^#R8U!_!5R Y'_]8Y7_\J__[87O/BVQ_,M?RFJ]A"I3)L]?^'^?_^&/U^_]LL05@66SSM?TBXN_KV_9GP;\ M8XWSC.?KNGS#;)%N?6A6N;JX^LM9B#C;_':2<3K9//59),)#6D]XR58%Z4#2 M4T%Q)\$S:8%EPEI.J*)QMY=<25X1S1LAK##]]>/BZX_T8!*&D/6;R@^YX<6] MUYWSY3"Z+W?=!_KLA/'DF"XO",MV3[6W 7GSBQR]A20^"]&DZRY=_79:+SRUDM5XTX-RY M6(CW61G!>(6;3[:0^/\\"TMZXNS;._RR6*XGR)7, M7F0PU@90F3&(R$@-%A^E,D*Z[)L(_\Z+=\*!Z!\'Q_"S$TB\Q>5TD5_.\PLZ M@">.(1$:K M:67\!:!]=MXXY&!3L: 8TFH42Q"==9*+HE#8-J?#G3?O! G5/R2.XNC(J'@Y M7T_7WWZ>SO"WL\\1EY- 5C$9TAR, , GHC02GE($K.JQ2+(S,H*M8" ;?? MNA,*3.\H.(*372#A%3GR2U)A&\:_)_[C\\79?+W\]GR1<2)3#C&20TU?R:'. M'FDY08"V4C/M TOQ.,-A!R)VPHGM'2?M^-P%;#Z$/UYE8M^T3,\C%!>:$(M( M/@4%WOD(RD8/02@/*+(I,9 5'5D#P#SR^IV@XGJ'2@O>=@&29SF3"%87_WH] MG2.?V*B58BQ",J*&Z.B4="IGX#Q)$=&78&4#@#SPZIW X7L'Q[$\[1088F)S M]EQ[!:*0'E2<7"J'N8#1P1"R>38R#0(,L5OXBCT]9.S'U)Z0\9R^?;/\L/A] M/@E)<&ZR 6D8>5;*6G ZTCH4%F9M%)GQ=KBX?O%NJ.@XJMF"H3UA8F,TO5F^ M72Z^3N<))^19!>7)U#:F!FJ#(+YD$R%(S,03GWPY+L2][>V[H:/C6&+U3K,_M_IEXU1;:74,7,+A0L"NC8)HC8%F'$LV,1B"J(=0&Z]>S=X=!S[ M;,36D<%1M=ZS)88-W5$%+EQ@0,336>@*@Q#(7M):NU2B5Z7HH^!P\VV[ :#C M2.?!K!M9Y/7&?/;VTV)^&9NSFY38[[YQ M-]%W'-X\BH4CB_\]IK,E09>+^&&ZGN%$EL(2812T" 94%@1==(K8P8TFAUEZ M?9SX[[YQ-_%W'-<\BH4CB__#,M2LI/??/L?%;,(\.L.T@FBXJI:NJ%&U!(RT M6;X#L.5![.O$XV_.2 M@F010:'R$*S(X&+4JH90HRL-'(*'W[X;-+J//S9@;1<0>36GIQ$[IE_Q15B' MBV5-/&/"(@]@K*.SSA#4/6<2(KK@A!(J8VQRX?70VW?+G^H^$-F M5U I%[P M+Y^'-7Y<++]-LN#>8\WP8)K(=]& ,S&!+XYXX[UPJ45\^M9+=P-$]S'(PQG9 M!0[>?PZSV4]GJ^D<5ZN)2JJ&.3QH[\@9XJJ KPD?!0M3R>8@V'$)P0^\=#<< M=!]M/)R17>#@Y6=+SU_"_-M$,,3@40*YQ<02ZP,X7108 M0G8QE@NT+?3"@R_?#1?=AQF/9VP7^'C_"6>S2^J58<+Q$$#1X0:*B 7';83$ M3[2<3G8]]^Y&QHZCCD>R<8N0$"$?ZX)/HOT'^\_$=]6;\[6M:ZG>M83 MB[8(S1@DHS@=?8P@S9#XY$36,9<00PM=L8V&W4#2<72R,9M'!LVSSSC/-:/X MYUGX./'%DQF<$9C)A/9(C/%2$?5""A\SRL*/N]*\];K=H-!QI/)PYG62F/_S M=)7"[']C6/Y,OUE-N"^ZEBJ",(:6D)4F[T@&R#JD0,81:MFF<.?.BW=#0L>A MRQ8,[0H3YS4GYXO00J1$"R%#62$90A8A)CH-M?!,6?HV\9:HN/'JW7#1<3BS M#5/[,"QH&S7/^,?_P&^3(K6UL3C@5CNRC'BM2"H&"LMTODF70FF1LW_G MM;LAHO\HYA','#NGX3R<=JWI+@O3A \EJ4S^M%$1E&<WQ\3;\XN%#_S6\O7O[V_N4+^N;]F]>O7CS[ M\/+%3\]>/_OM^!C"%\FFX2X M>G"\*3]/YV&>IG1Z+,XK_J[@QAR&Z%T&4:0!54(BXR)9LLK;%(S376 P)%PJG@;L'O$DNDW]A0*]6D0V3AJN(Z3 M-Z%=#8Y^ ZA=SLI;$_VVH^APS-PA9%SH'"/9!T%R#)L[P,KSL/KT;)[KOU[^ MY]GT:YC18E;/UL_#>?+12CV[%LP&?/ ?,4B6/5HBP M+6GG$.SL1%@/6#H* (NAI=$!Q)ZE5*LJ5[\MUKBBU;U>A/GJ'2:D]<49_H;K MR]OHX@2/3CE &0NH3%^"B1R,UBA$\9FG;2T0#E)1NQ(W3A^5X: VC%0Z@-OS MQ7S#G7],UY^>GZW6B\_DC53VT9(F'%TR21=(AA''"J9:"F[!,!>E-E)%W]IP MVD;/.-U8!M1?K7C? 8Y>S;\26Q;+;QO:H^/2<@8N(>V!*!($R0-@*"BB0*G# MM@2#0W!S\_WCM&@9#B<'\[8#7+Q9?[H ]25+)J[>>-9D;,MK2 )-AAK&!L9S MS+($8D9KK7*?BG$:N R'D2/YW %2;A/OE7->U"H=65T-;R5X@1%"8+D$$K!) MP_CL^^"C^<7B@ ;,P=P]'!J+=9@U@<;;Y>(++M??WLX"L6.>J[7_I48TZ/OS MD :^QK#"=[7_ZIOR]Q5NEONL$#K)X)"BE@D!QUYO31V!3R*VM(IRRRB5)BW9>D<=,1N(Z@'R[T)$-NQ MO0<,7=L,ORWFZ&$K03U8]6TP MU(SM'6#HE\4B_SZ=S28Z>YV8+9 MRX3]8,$7[8')DEA0P?JT[3+_$+A.:2H5EA,39WG':E;=Q3:O DDD%$U('FN;&N MN_$\SZS,FHY=AG43L2 @8 @@@R -761BJK4V>IR:<8WH8:3_.,2.$44'H+J\ MCGX;OM7KY\NP;N2<)6D*D'-0(_Y90129V.112J]T],W3^1ZFI!LP'27G1W( MCF!Z!]!YZ-+YDF&7K3$FF1MN6,Z0-PTVR9B#P)D#KZ)@SL9 ML:C1@G,&XAN#)/&7.U ][Q>S#]^P.7G%QC7 MF^S0+]/J1M;[FC=Q-OVXD=05^)7G/!?!H41?QW(*A*!D!(DZ\F2X"*5UGL%> M!(X;.!A()PTGHB[BE)?;Z;ZJE2%RX3EYQ-:2@\R):=%(#CY9BU*;E+:.CCC0 M0'^8F'$S7(:ST1NPO@7K&BNJ@Y# M3?,R^Z'UT7',[B' N9-&G;@2)68&(.H/)-OAD MHE78.K/N.R1UX^<-![:60NG@-+R==G45';EQ'ZE0$U.< .EILRBI&3FQRD#Q M,9+_(I13V\;\'9_Q]@!1W3B*P^&LK6!Z0%J][;ZY6:Y7PJS*&KT%41L]JIHT M$47BH),UF6M2VCP,D6CP(#7=^(4#8JN-*+HX)+>P2/!LLG(<$H\UM)LTL:@V M>+),UZXM&K%UGN61E\RG< J'@U4C472@JVYT$#PO=2YD.?JB!1&<(RAA,SCE M7?6!!#)GG;&MH727AK%;7;21[;TKFB,8W0%0GN6\2=0(L[=A2C;AA>\Q,<5G M5T+5H*76$M;F0-QS$#D)Q8J.-C5OZE9!39FFZ7I23"'8AP29YSK\.7,(R7E@F?DVYDDU$M4M&@[6U<8<-#NA<1^ F>D__9*:V#;(X M!%2/T3*N)S<0E)HP?G\ ^7, S?'CYCZZT87+Y2;8. VU]?82/^%\-?V*YR&0 MUXM5#7R\*1_"'Y/(E>%:<_"B1C\2'>2N)L#R;%/RSEH76S?HV9/$<=V[H<[# M <74@2*[S[6)4)RQ.EXTN%I884L&[^C@K\4\(>JBE1G>MQO7IQL(2T&<6_W!H+* M48SN4J^0KIR=U3D!;VL!.PEGO5Y.X]FZIJ5^6-0X6=\+\$T4H_VG MZHA>3[M2.?**@_0,-/>22QZ"'C+'X4&:NLEX.$EAQ/%B:0:SDW>1?KN1R"=< M3U.8W5Y.JY;2MU]QHO[26]9UTF;3BA5;(@(R7755*N EB9S\P-H M^&;3-X+#Q.@WR\T[\\:3?HO+S6B?2:13(F'TD$74M#F#!*\4 Z6U8$E:F7+K MLW<'LL:.U3?&S):H?1/!=& *WIL9]>QL_8F,V__"/,&H.2]%0@PYD#5"ZPF: M*9!)>%U'GH?F':NWD#-V0/]TV#I*$#UBZM5J=4;+4#ZY8(0&([FI92$17)(: MKFF@EDI&R@"3G!E1)"%[H0HZ/ M1/WA^F7,%RNL@13%)V2* :V'/JRIJRVK0.5L;G)'& M;9L#>%AC\ =).3XH>_' #S4^-Y$RJH!&@I,F@S*T)N?)YHLZL>)2%.T+NVY3 M,*XOUT+>]R.D!W-X1&MHM5S7;K7Y+*W)X\3EUVG"9W],5Q-C@JQY84 GK*S= MN!.I2>8A2.DX]U9CV0GZ]((;Z*"?KI'QV+L[\?,/D..B(5/[ ,4FP'J^@M6+ MQ>Q KW? M2OQ [G8 C0L^7!(?8Y(N,TBI=N^PWI,]7WORA5C;PI28FB<,W")@G!C?<- X MG+L]0./RF"5/ 5_1MZM)DN26J13(^JKMR$LD)1J*!U92MD$:DWS[[*.[5'02 M"#[<^&C$X X@\@Z_XOP,?R8N/=1TZBH!H?;XI']RS<'3TWR(D,JM%.58*VK!VX1T(F*:H.>PUG; 2Y^62Y6*SKX^;A+=?<([+ M,*M#>_+GZ7Q:XTOKZ5=\^<<7G*]P@IY%'Y,"HR36NS(&+A0!F253LE8Q\=:7 ME;M1ULE-4QL<#2",#I3.S3%0;\K=20D34[CW67D@/U'2T6HY.*1=D[EV=+JB M=K;Y)+JM%'5RT]0&4@V9WP&4KMIA7%>S3$Q00LM"U*8HN4/"V+4?31%R#'N[2'K8%,C]MI@O;D/]ZH@5SB6>(C%#$.0#*<=H48$H M$95V(C(VR S=1RD:NTBCK7YIQ_PNZF.OU>1E4&$Z/Z-E7>C1Q7SU$Y;%$J^Z MA>'JY1]DU)'8IO.P_+;AZ",5*"5;83AM*F:Q1AZ8!.\C!\DP&LM\D:JU\S[@ M__X..JAJ+SIT&#""T]56%9P84"?OE5(BXT5F MQUI?S RSDMU ^U0"[QU(NQM5N8T+VU;]DCZ^_C9)WF/FW$$4NLZ6U )BU@4P M1*T\F=\ZM>ZPT8+NW?#\5*X"3B[)#C3V;[B^$11@)3"&6"!MZE8C"G".W+ZD M,EJ.$75H/FI7",.O$B <)&3?UH8V,OP.<_1G>(6I>3&=G:\R38@,J[S,XU*I. M236FH[36=9)X@>B\\JQX$63K0W!/$G<#WU.Y^!Q2 M/D^V-O/YFU_?OGOY-_K,JW][^>HW^O'EZS?OARG4?.Q=IZG:W&FE[5OZG#M] M=6;1_8:=5\>V$3IZK6N4BXPRY7D$7_NB!ZM+U%9Y9*TCZ7N2V&DP6*@0'?(" MS"8Z(C@J8F%04&Q.5C'!A[CY'R\8/+BF'0"O)PH4[X.$(^Z5U^T2%+[3P??! MQ9]W([N>VU=[#^2ZRJ =*,DE1,,4:*D2\YKKB*V[?#K=973=5OK$GQ$,LJ\ MKT99;5YVLD[3+.P6DW+-)TSHA!)=?GD 15=<@29:G_F4.,V3/@Z'R5Y M+@VRW+I19.,EC'LT]+XSAL9$YUOBWAJO%$"U)I^]>?[J;?V3C9[8/.=L AOO&X=53[Q$L6\Z5")!;AC%)L%Z3)HAUL@I:#9F)4E3T4C4WR!J1 MWDD9[PE\]#%DW8'6OY63M-,>]M9E44R$VF<*E*-5!J6\B MQ_6L1X'2MERSYG+M +B/'8^'APWV.J1B?)"< MR=;-%49=\+@.>0\;ZNG@K8/->:3 )B[+' IG8!+)2#$62%"9U1;)OD0IDF[> M->E(DL4>=^^P43(DJ.R#FRH+>+I0 7R;QQPA=K6Y&[1/&U^"SF= MM% 9UX;?2R9/:@37#@DNPPSFVOO%HR;YG'2(UTY(3Y(,ZR!9'0HGZ$MD$!1: M0.<#Z4 1?2E/.^.GT25&W;X6L=A"?+)6T,FD(FD$AG0ZY"R"TZ4(T;KS?3OJ MGU9FSSZX'.C::E^)=V#RGNAV87.]C<079Q/91X$$E!T=E@4Y2%NJRDY%IU,Y MG^U7][2R@H;:*R,BYNGF,3][_[>?7[_YQT"9RU=//Y$9\_!JVMLJEVIY=0WJ M0,Z6)%!SP0RA17GPKBC0@5PT@S()U7H2XC9Z&H2XZS/?+A=?I\2YG[[]?87Y MU?RJ"=JSM)Y^/1_>>\F!;%-QP9!WX(.J9T\!5\=:BEPR\89IVWPPUOY4=F-5 M'(>@!R+70XJK U-AH/1G+HP@+UF!0$T'DG0*HBD&F&7DXB8NLVV=%_EG3(0? M&G^GR87?!PQ=-.R[MG!6'Q9D_M"RIC.\=8WU8;&O8!"]U49[$%Y)4$:)VFF. MU%+6+&% [ECKVI AUC&N37SB#3$Z$#HX(5Y95 V(W@M M$R1'OQ9EL]3&N/X.2>/J[/$QLQA.@%W@D=Z0M!^\- M67BV..Z2$HRWCEO>?/^XRK!#I!THF@Y@=2.JL5C>[&0^80:+5W7F9:F#AB(K M$$I*(*4,7O&4BF[=%?518L:]VNT.<&V$-B+Z:O!G\O(_SZ;K;Y5[5W&^=^3. MUAG-&Z^VQJ:MAN8 M#2.=#I3=Y8W'F_G[,,,WA1A)K%M_JT':=5WPE[JR20XU03H@:.YJ^QYBE],& MP5E;AS4(;K%UZ&DWRL8=F]$-/@<49Q>]SB\[AN'FWH-LUG/=SJ/WP=263U:Y MVK.=UI&%@\B)4*\T+:SY@.X'*1EW$$=W,&P@K@YUXT]GJ^D<5ZN)3$9:+S5$ M'TC'UQ:J/CH-)F0GB3>AN-:]N1ZC9=SY'MT!KXG(CM5X'UK&Y)=D7^ +//_W M#<8]#U^FZS"[XIH,6N@Z_ VY2*"4#>Y0.I!8 M.U"9]U?V+*7%V7PSU'F3$D#\Q^G7>DNPFAA&VTX2^V*L"0">TZ8,,8 7@3F; M4D;66H_N1>"XX<.A4/)=,+8261>6X_WE/31^=S.8;J*,MPHMV2>!!5 N1? Z M>B#3Q!EG(BMZ@*9=NY(W;HAQ-#2V$5?/9_JK^5<2P&))Q\LD!*MC5@A92%J3 MR'72?0X00[*\8&&Q>9+^5H+..!KI#1=*IRCM/ZML4@ZTO9G R9BRK0WJ" M+ 645@IBMAZ0C!I;F'/1M4ZGVH6N<>.-H^'M2 'U#+N:"G)K8)]E@9 Z) M;1@15")WS:.R@,P%C,XE.<1Y#XGC!A*[\BX.$UN7J'SY^O9B9=6L=1:9\(F!<75XLJZ]]XJ6(#.3RB>-1@X/R&PFL M2S!N[ Q2_,NSVPM+-C#-F08L3I,?KQA$Z2W(J*6V0BO>7!L7.4<,KA:%$ 8R0*7"SO2-/$JX%^_D M4(EU@,;=4]8G1'M(I-4AY3IAR%@&3I#6%R:&8-%+- .T,]N1NG%C@B=._!]( M:!WTBGED937TN7J,D3ZEZ(0&+>O.UEZ +[3U,/*@D;RVC*UMQOVI[*96^R05 MB*W$U8%^I*4EQ+PI.7L@?>W9/%]GL*'SBAE7P-; E KU$ AD&\M@$!F^7:2-/$NTAB4^OK(BE8PQ(;@H"JC$.=!AX&EK MAV1"49HXV1J0.U/79:G>8'@<1FA=Q+AO[K47TPW_UF?+&XEN9(8(H2W+3$#" MVLZZ7I!'A1&TD-9IE5W)S9'X?;*Z-!I/H1);B*D#5;@[!R<:3H/\_0P(X/0(D:T4#"0 M[:$=J?TB(R#GM-U4-LZ=R*?>0F4WK>U/XKRT$E<'^O$=?KFP.]Z430BF0DO969?JY^22?K01UZ: T0\-B*-%T M9P.^6JW.B&?XT,)L%"$KC6!S-3"TOYXO/GQ?S]>I'^8R)3%I+5H#SM*E"6C@YO MO00E4_$F:1.-;@W [U+5I1\R&/;:"JD[]??K=+Y83M??-O6&GQ8S$MYJ4E1R M+H4()0;:2!D#!*D5,&UD3CP*$UJ?M=^CJ4NGXQ0*[V@!=:#I=F??Q'D3\Z9# M?/+TQ3 -4=>D\>P]8TXQ4UKWP-V=NG&S6T\,PH&$UH'G^[(43.2@O?R#M/G\ M([XCS?IF7A=;_U]CFU_#K"K]=^3C+Z>)]&[]#YMF%3=_<>.35[W\7DQ77Q:K M,/MEN3C[0G]!/Z?SWG^8KUO_36PF?F&,P(O5=&8D#DXS![D(AI;5"$+K#.[Q M5]W-P(JVGOGXC-T+3AVRX-MK$ZADD'I]A1W)F(@*FDK"#K0 =U8'5L MCK7@K,^L9"[(E^EI3XQ;Y-$GQ/<2XL&(_;+92,2!Y;H#W%J1R?-)Y&*7V@!' M9 91. ]6T^ZUV0>9GQYN!RL*Z12W^PCQ2-R^G#=JGW7VY2)3V()TM(F 5.JBRV\JY/S B2CHM0QN5!:7T7<(6'DL11#B/E> MYOSA/.\",A<]J7%UN0*7D12J+R!]G;WIHH)0B"71*9Z9=R8U/RWO4S%R-O%) M@',4YQO.:3CU;*;W']X\_Q]_>_/ZQ;O<*X@ZKQ)GW /S7I,^BA9"(G/?U#FZ3&FIY8#SFQXG M[&C;ZO(E'S:%[";PXJKCG86,H+@6X+/D8$-"$Q%Y4:V'(-RFH)L!3(VP<,]D M.IS?'1QS5]2?EL$8+XR.V M;E"QE:!.L'2 I!\#S=%L[P!#=];P8O%YTWB\L.*X%'126P]*:0Z!HP9A4@F& M.QYYZVR+!PGI!#/'"_KN1$>-"IH%@[T]\/X++'<#D6<[3ROXPJQ[!J_E%A??%8H)@ MCA?K@,7$0!6'M!A6TSE\2"'))&+K+(>M!(WKHK6'3SON=P"E=[@F?F!^&9;S MZ?SCZF(57"7/T!00V=,J4F10RP] ^9*R5@YC;%V_^3 EX^8#M@=/ WYW@)H/ MR\U8E6\;'7JN3B\6DGG- 6()T-24'29H(3X6X-&RH+P)RK6N;GN4F'%30MIC MIPW7.X#/LY3./I]M.B@]-L_\8F$NDMY$+2&IVAHB^US+G@H879@V,0757 _M M3-RXB1$#G&N#2*4#N#T\[?9B+5$[,O?,IGLF!R6DAWKQ#5'9@EP5*5GSGAE; MZ!DW%:$]J)KQO@,<73FOK^D$?T7?DL=*JE9Z4K>>VP+*;$;FF$R.0RQ"<9MI MGPP5$;JBHI..*@W#0(?%\O>PS!-4SF1A)/"D[<4M M8& &1(E,\Y2=.$&7QZTD=A(O.A 1WVU?UDX\':#O_F(.&@.OG9:,%0M8&#DC MZ#5$*24P,C.3T]DRU?XJJ 7EO0V$:0BN>YKRY)+N)L?O[7)1INLZ%FIB#%=, M13)$=1)URI.I+=UH$5;08E+FUK6^D+E^>V\#7X9#VX$<;YAZ<#A:'G-EZFI^ MP_6;\B'\\7 Z]W6A4UU9+ C"%=HET5N((1NPNM1DG5"D:!V#/Y[JWB;##(?. M$TNX@W/^L16_P%)CBS_AG+Y9UWY:J^OA>E>L>.A\>+N1ZD05%1Q7%CBON9): M$A]X[6@3T":=@Y&YM3DZU%K&M05.CUSW/FY]FYV#9BST1BS?2:?"QUNB[[,E+B1PR3TEYKY1/K:_>3KK M<4V>3C?5^%#J^$BJLKG,C/T;YH]X.0+X)RS$MW>89F&UFI9I.N=1(9*(,Q-I M+>>UTTKR/(,*AD%T,9"/4IB3(8?4?/Y9XR6,:X!UNE=. 8 H&I9M5'!EZ*XY*W[H'R7J-[&^PT< M0&DFGW[&EV[65?M8/;"DW_#WS7]933+7-A=-APO6/L^U,"JJ4$ (%!Q=M#*W M3D;)OP-C+^FOQNT.OJ;WC%_Z=.\6?<$V.P>SV&@>K KS]SK%* K>L_*3U@4;QR*7V($/U MNSSM!"^5 (>^6$PJZ.9]CDY4'_BX([ YC583PI&E/99!>ET[") W'+GW@+56 M.Q6%2@QR'[Z5JD[R,IIA9A\'[0"Y]'+>WS?YSQ=S;?/K&)&\2[+Y%2_$-)_ M)6Y!<(G1&\ZM:IU!O1MEG:29#8NXMO)IAKK&)_!/835=+6*7^VU5VT+.%JNS)7X@ MMO\TJVVI:YI';5X!3,::$HP*@HT)F$&ND]F,FFT=GF^\AG$/T$;(NQ=W'U/0 MW6J[BZE.[_'C9IT'J;J[SVBCY[92ULJ^/W\XV5+5UYQ_O+[@H>,Q>EN /%M5 M+_,1 IH(.O#DNPZ M+.!Y#4D1-OXQ77]Z?K9:+S[C\KIE3'),VX @A5'5\";)ZB# U[B9B5H6V]I< MVI&TXRNDM[[F&M*TQAA2'=&6HP652IT00RS0+BN+$9W.K6VB76D;5\D,@:'[ M==4#2*E7Q?/+8I%_G\YF87Y>J?F*GCG_.(TS?+9:X6$&SG>?V415[4=Y(QUV M^5*R@>^^[_IHND(A1V,,?0$?8CWY+$)D!$K+4M(I\<)+ZSO&O0@\5I_M]++K M_:)XM$DJ!,YS/:A] >_1@Y8LDF-@?6&MM=I^%(ZKVX;#UET--Z#<>M5S%T[R MZATFG'[==,\[0+,]\)0FNNQ[U+6-4=UXS?7=^;7@;X0/4@PD0T*620Z4=+5O M>PC =>1,2!=SJ5U!NP6Q!-7F)=?))<(9(6P!IIRMF1\6O%7T790$@IB$3ZTC0X_1>-?)M'Z&GFW5P\_Z%8'X_28_3 "!:@7+*;)BG@&DS$-/G$-464CZTUN,:UUQC9ZQO9NVF#BT3E QTJ@5^6Q MR;_\Z6[MSR%ZY)$G-5$INU#9*G&G'A#W7G5MT'(=$_<2HLSRO!PDUC9>6F9? MFT:;U+Z(8CC(XD>>3DGW;XNNJSG\-TN2E,_'73MAL/ MSCU\^$%-M-D.-#929E=O>N@6@4GKBI>%L*5XG8Z-X-$K^HZS6$S07)7&.W<; M/<>?8WMDBT&Y05H8S0H[0J$Y!TD9+KVL8@"6^GJ^93>=O [+0[S]B$;YB%OH:A6DH=4MOB%>'"BOIR%.9]/U%%?G M?9C6S^:YEM%>_' %*(Y&!.$@LSH/;AQ$Z=%-4FO7 MG4W:_^9.]2V):'DEEHO^;P\G_ LAM::3EUR'3)Z$E>!U8I5#B15#/SQ'8 M8L+>=U]VHTPA9.6*4)!%'=RL)6T_M]Z-P7!TX'+8>FMDW MD-QZ57@/%,%>U@H>HNBV/6ZHHMV'Z3U!\:XJ(L>:\JJ$!!6B@1B- NL,N0RL M*.6:CT "Q*[NJC 832K1ZZ4Z2ZF?/3I(CVXDF#E-(^1.70!;6HF0K6D*!5 MK%>X*9)M+S-H[Q19WD*FYADX0Q74UN9J=+K.IA?EXC?JJZXXO+BN,*\M+"\Q M7YO#.B\$<,]KYV*F(>9,6R ;XV3VT_'8?)-TOA3N)Z#KHJ'-W MI6^^X#)LE/'5P))=5NVJG;[^&?U\L23WGL[09T[CA_@VL\^BT MXPXTEMJK-"&$+#2X$I7(+,OHS/>@J6" X*K]BJ)(9U$QWSH1:B?"QC7/AH3?[,_F5[=\W^XLT8MBHLD:.*L+DV1T1E$;MWEB+HL6K6^=['L F>.: M8*< Y-"RZ]48^UY?E<.MM!V??)+N, /:=?OU\8BN6%7SJP-/"I0I"(YC!CI! M4:)E)2G>>+N?M$?,M65Q^=H;=2HIU;BY(*\::R&M$A"ME\ \^L)$M*)Y"LT6 M?I?+K&U].O>(]]=W2TM28QJS+I:._JU"\+ M(=@,LDC%$;-2S>,;+7X/\U2GA3XG.)^' MLN_LD6($MX78P1!I3^;@P2DDOTDEJ:64R'EK+7<8I5U(D.54G.M X,'TAJI[V5]L'0XRIJ.*'UJK<>;DMRN-[: M^KP!&ZD,F;:]O=V%$29S@AAXH3(=CCY Q$CV.NK:5=A'+5K73PS;3N5Z._RV M( >"N'\^R_!96D^_WK\&+:9HE0L'7@H9![(.WC"1M@):*15J;6+KFIG]*.RZ M6DY&.Q M@H,O@9P0(6J+-48^2>"*^\Q